[svn:parrot] r46302 - in branches/ops_pct: . compilers/data_json compilers/imcc compilers/json compilers/ncigen compilers/nqp compilers/opsc compilers/pct compilers/pct/src/PAST compilers/pct/src/PCT compilers/pct/src/POST compilers/pge compilers/pge/PGE compilers/pirc compilers/pirc/src compilers/tge config/auto config/auto/attributes config/auto/cgoto config/auto/crypto config/auto/gdbm config/auto/sizes config/auto/zlib config/gen config/gen/config_h config/gen/config_pm config/gen/crypto config/gen/makefiles config/gen/platform config/gen/platform/ansi config/gen/platform/generic config/gen/platform/win32 config/init config/init/hints config/inter docs docs/book/draft docs/book/pct docs/book/pir docs/dev docs/pdds docs/pdds/draft docs/pmc docs/project editor 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/n ci examples/pge examples/pir examples/pir/befunge examples/sdl examples/shootout examples/tutorial ext/Parrot-Embed ext/Parrot-Embed/lib/Parrot ext/Parrot-Embed/t ext/SQLite3 ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot include/parrot/oplib lib/Parrot lib/Parrot/Configure/Options lib/Parrot/Configure/Options/Conf lib/Parrot/Configure/Options/Test lib/Parrot/Configure/Step lib/Parrot/Docs/Section lib/Parrot/Harness lib/Parrot/OpTrans lib/Parrot/Ops2c lib/Parrot/Ops2pm lib/Parrot/Pmc2c lib/Parrot/Pmc2c/PMC ports/cpan ports/cygwin ports/debian ports/debian/patches ports/fedora ports/fedora/2.3.0 ports/mandriva ports/mandriva/2.3.0 ports/suse ports/suse/2.2.0 ports/ubuntu runtime/parrot/languages runtime/parrot/library runtime/parrot/library/Archive runtime/parrot/library/CGI runtime/parrot/library/Config runtime/parrot/library/Getopt runtime/parrot/library/HTTP runtime/parrot/library/MIME runtime/parrot/library/Math runtime/parrot/library/ProfTest runtime/parrot/library/Stre am 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/nci src/ops src/packfile src/pmc src/runcore src/string src/string/charset src/string/encoding t t/codingstd t/compilers/data_json t/compilers/imcc/imcpasm 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/pmc/testlib t/profiling t/run t/src t/steps/auto t/steps/gen t/steps/init t/steps/init/hints t/steps/inter t/tools/install/testlib t/tools/ops2cutils t/tools/ops2pm tools/build tools/dev tools/docs tools/install tools/util
cotto at svn.parrot.org
cotto at svn.parrot.org
Wed May 5 08:45:57 UTC 2010
Author: cotto
Date: Wed May 5 08:45:29 2010
New Revision: 46302
URL: https://trac.parrot.org/parrot/changeset/46302
Log:
sync branch with trunk, hopefully for real this time
Added:
branches/ops_pct/.gitignore
- copied unchanged from r46301, trunk/.gitignore
branches/ops_pct/config/auto/zlib/
- copied from r46301, trunk/config/auto/zlib/
branches/ops_pct/config/auto/zlib.pm
- copied unchanged from r46301, trunk/config/auto/zlib.pm
branches/ops_pct/config/gen/config_pm/config_lib_pir.in
- copied unchanged from r46301, trunk/config/gen/config_pm/config_lib_pir.in
branches/ops_pct/examples/benchmarks/stress_strings.pir
- copied unchanged from r46301, trunk/examples/benchmarks/stress_strings.pir
branches/ops_pct/include/parrot/platform_interface.h
- copied unchanged from r46301, trunk/include/parrot/platform_interface.h
branches/ops_pct/ports/fedora/2.3.0/
- copied from r46301, trunk/ports/fedora/2.3.0/
branches/ops_pct/ports/mandriva/2.3.0/
- copied from r46301, trunk/ports/mandriva/2.3.0/
branches/ops_pct/ports/suse/2.2.0/
- copied from r46301, trunk/ports/suse/2.2.0/
branches/ops_pct/runtime/parrot/library/Archive/ (props changed)
- copied from r46301, trunk/runtime/parrot/library/Archive/
branches/ops_pct/runtime/parrot/library/ProfTest/ (props changed)
- copied from r46301, trunk/runtime/parrot/library/ProfTest/
branches/ops_pct/runtime/parrot/library/TAP/ (props changed)
- copied from r46301, trunk/runtime/parrot/library/TAP/
branches/ops_pct/runtime/parrot/library/osutils.pir
- copied unchanged from r46301, trunk/runtime/parrot/library/osutils.pir
branches/ops_pct/src/dynpmc/Defines.in
- copied unchanged from r46301, trunk/src/dynpmc/Defines.in
branches/ops_pct/src/dynpmc/Rules.in
- copied unchanged from r46301, trunk/src/dynpmc/Rules.in
branches/ops_pct/src/dynpmc/file.pmc
- copied unchanged from r46301, trunk/src/dynpmc/file.pmc
branches/ops_pct/src/dynpmc/gziphandle.pmc
- copied unchanged from r46301, trunk/src/dynpmc/gziphandle.pmc
branches/ops_pct/src/dynpmc/os.pmc
- copied unchanged from r46301, trunk/src/dynpmc/os.pmc
branches/ops_pct/src/pmc/imageiostrings.pmc
- copied unchanged from r46301, trunk/src/pmc/imageiostrings.pmc
branches/ops_pct/src/pmc/packfiledebug.pmc
- copied unchanged from r46301, trunk/src/pmc/packfiledebug.pmc
branches/ops_pct/src/pmc/threadinterpreter.pmc
- copied unchanged from r46301, trunk/src/pmc/threadinterpreter.pmc
branches/ops_pct/t/compilers/data_json/ (props changed)
- copied from r46301, trunk/t/compilers/data_json/
branches/ops_pct/t/dynpmc/file.t
- copied unchanged from r46301, trunk/t/dynpmc/file.t
branches/ops_pct/t/dynpmc/gziphandle.t
- copied unchanged from r46301, trunk/t/dynpmc/gziphandle.t
branches/ops_pct/t/dynpmc/os.t
- copied unchanged from r46301, trunk/t/dynpmc/os.t
branches/ops_pct/t/harness.pir
- copied unchanged from r46301, trunk/t/harness.pir
branches/ops_pct/t/library/archive_tar.t
- copied unchanged from r46301, trunk/t/library/archive_tar.t
branches/ops_pct/t/library/osutils.t
- copied unchanged from r46301, trunk/t/library/osutils.t
branches/ops_pct/t/library/tap_parser.t
- copied unchanged from r46301, trunk/t/library/tap_parser.t
branches/ops_pct/t/pmc/imageiostrings.t
- copied unchanged from r46301, trunk/t/pmc/imageiostrings.t
branches/ops_pct/t/pmc/namespace-subs.t
- copied unchanged from r46301, trunk/t/pmc/namespace-subs.t
branches/ops_pct/t/profiling/
- copied from r46301, trunk/t/profiling/
branches/ops_pct/t/steps/auto/zlib-01.t
- copied unchanged from r46301, trunk/t/steps/auto/zlib-01.t
branches/ops_pct/tools/dev/faces.pl
- copied unchanged from r46301, trunk/tools/dev/faces.pl
branches/ops_pct/tools/dev/tapir.pir
- copied unchanged from r46301, trunk/tools/dev/tapir.pir
branches/ops_pct/tools/docs/filename_and_chapter.pl
- copied unchanged from r46301, trunk/tools/docs/filename_and_chapter.pl
Replaced:
branches/ops_pct/config/auto/zlib/zlib_c.in
- copied unchanged from r46301, trunk/config/auto/zlib/zlib_c.in
branches/ops_pct/ports/fedora/2.3.0/parrot.desk.in.tar.gz
- copied unchanged from r46301, trunk/ports/fedora/2.3.0/parrot.desk.in.tar.gz
branches/ops_pct/ports/fedora/2.3.0/parrot.patch
- copied unchanged from r46301, trunk/ports/fedora/2.3.0/parrot.patch
branches/ops_pct/ports/fedora/2.3.0/parrot.spec
- copied unchanged from r46301, trunk/ports/fedora/2.3.0/parrot.spec
branches/ops_pct/ports/mandriva/2.3.0/parrot-2.3.0-remove_md2_upstream_r45824.patch
- copied unchanged from r46301, trunk/ports/mandriva/2.3.0/parrot-2.3.0-remove_md2_upstream_r45824.patch
branches/ops_pct/ports/mandriva/2.3.0/parrot.spec
- copied unchanged from r46301, trunk/ports/mandriva/2.3.0/parrot.spec
branches/ops_pct/ports/suse/2.2.0/parrot.diff
- copied unchanged from r46301, trunk/ports/suse/2.2.0/parrot.diff
branches/ops_pct/ports/suse/2.2.0/parrot.spec
- copied unchanged from r46301, trunk/ports/suse/2.2.0/parrot.spec
branches/ops_pct/runtime/parrot/library/Archive/Tar.pir
- copied unchanged from r46301, trunk/runtime/parrot/library/Archive/Tar.pir
branches/ops_pct/runtime/parrot/library/ProfTest/Matcher.nqp
- copied unchanged from r46301, trunk/runtime/parrot/library/ProfTest/Matcher.nqp
branches/ops_pct/runtime/parrot/library/ProfTest/NQPProfile.nqp
- copied unchanged from r46301, trunk/runtime/parrot/library/ProfTest/NQPProfile.nqp
branches/ops_pct/runtime/parrot/library/ProfTest/PIRProfile.nqp
- copied unchanged from r46301, trunk/runtime/parrot/library/ProfTest/PIRProfile.nqp
branches/ops_pct/runtime/parrot/library/ProfTest/Want.nqp
- copied unchanged from r46301, trunk/runtime/parrot/library/ProfTest/Want.nqp
branches/ops_pct/runtime/parrot/library/TAP/Formatter.pir
- copied unchanged from r46301, trunk/runtime/parrot/library/TAP/Formatter.pir
branches/ops_pct/runtime/parrot/library/TAP/Harness.pir
- copied unchanged from r46301, trunk/runtime/parrot/library/TAP/Harness.pir
branches/ops_pct/runtime/parrot/library/TAP/Parser.pir
- copied unchanged from r46301, trunk/runtime/parrot/library/TAP/Parser.pir
branches/ops_pct/src/pmc/parrotthread.pmc
- copied unchanged from r46301, trunk/src/pmc/parrotthread.pmc
branches/ops_pct/t/compilers/data_json/from_parrot.t
- copied unchanged from r46301, trunk/t/compilers/data_json/from_parrot.t
branches/ops_pct/t/compilers/data_json/to_parrot.t
- copied unchanged from r46301, trunk/t/compilers/data_json/to_parrot.t
branches/ops_pct/t/profiling/profiling.t
- copied unchanged from r46301, trunk/t/profiling/profiling.t
Deleted:
branches/ops_pct/META.yml
branches/ops_pct/Makefile.PL
branches/ops_pct/compilers/json/
branches/ops_pct/compilers/ncigen/
branches/ops_pct/compilers/nqp/
branches/ops_pct/config/auto/cgoto/
branches/ops_pct/config/auto/cgoto.pm
branches/ops_pct/config/auto/crypto/
branches/ops_pct/config/auto/crypto.pm
branches/ops_pct/config/auto/gdbm/
branches/ops_pct/config/auto/gdbm.pm
branches/ops_pct/config/gen/config_pm/config_lib_pasm.in
branches/ops_pct/config/gen/crypto/
branches/ops_pct/config/gen/crypto.pm
branches/ops_pct/config/gen/makefiles/dynpmc.in
branches/ops_pct/config/gen/platform/platform_interface.h
branches/ops_pct/ext/SQLite3/
branches/ops_pct/ext/nqp-rx/.gitignore
branches/ops_pct/lib/Parrot/OpTrans/CGP.pm
branches/ops_pct/lib/Parrot/OpTrans/CGoto.pm
branches/ops_pct/lib/Parrot/OpTrans/CPrederef.pm
branches/ops_pct/lib/Parrot/OpTrans/CSwitch.pm
branches/ops_pct/ports/cpan/
branches/ops_pct/ports/debian/patches/01_fix_doc_install.patch
branches/ops_pct/ports/debian/patches/02_fix_man_whatis.patch
branches/ops_pct/ports/fedora/parrot.patch
branches/ops_pct/ports/fedora/parrot.spec.fedora
branches/ops_pct/ports/mandriva/parrot.spec.mandriva
branches/ops_pct/ports/suse/parrot.spec.suse
branches/ops_pct/runtime/parrot/library/SQLite3.pir
branches/ops_pct/src/dynpmc/gdbmhash.pmc
branches/ops_pct/src/pmc/cpointer.pmc
branches/ops_pct/src/pmc/file.pmc
branches/ops_pct/src/pmc/os.pmc
branches/ops_pct/src/pmc/parrotrunningthread.pmc
branches/ops_pct/src/pmc/retcontinuation.pmc
branches/ops_pct/t/compilers/json/
branches/ops_pct/t/distro/meta_yml.t
branches/ops_pct/t/dynpmc/gdbmhash.t
branches/ops_pct/t/op/pushaction.t
branches/ops_pct/t/pmc/cpointer.t
branches/ops_pct/t/pmc/file.t
branches/ops_pct/t/pmc/os.t
branches/ops_pct/t/pmc/parrotrunningthread.t
branches/ops_pct/t/pmc/retcontinuation.t
branches/ops_pct/t/steps/auto/cgoto-01.t
branches/ops_pct/t/steps/auto/crypto-01.t
branches/ops_pct/t/steps/auto/gdbm-01.t
Modified:
branches/ops_pct/ (props changed)
branches/ops_pct/CREDITS
branches/ops_pct/ChangeLog
branches/ops_pct/Configure.pl
branches/ops_pct/DEPRECATED.pod
branches/ops_pct/MANIFEST
branches/ops_pct/MANIFEST.SKIP
branches/ops_pct/MANIFEST.generated
branches/ops_pct/NEWS
branches/ops_pct/PBC_COMPAT
branches/ops_pct/README
branches/ops_pct/README_cygwin.pod
branches/ops_pct/README_win32.pod
branches/ops_pct/RESPONSIBLE_PARTIES
branches/ops_pct/VERSION
branches/ops_pct/compilers/data_json/Defines.mak
branches/ops_pct/compilers/data_json/Rules.mak (contents, props changed)
branches/ops_pct/compilers/imcc/Rules.in (contents, props changed)
branches/ops_pct/compilers/imcc/cfg.c
branches/ops_pct/compilers/imcc/imcc.l
branches/ops_pct/compilers/imcc/imcc.y
branches/ops_pct/compilers/imcc/imclexer.c
branches/ops_pct/compilers/imcc/imcparser.c
branches/ops_pct/compilers/imcc/imcparser.h
branches/ops_pct/compilers/imcc/instructions.c
branches/ops_pct/compilers/imcc/main.c
branches/ops_pct/compilers/imcc/optimizer.c
branches/ops_pct/compilers/imcc/parser_util.c
branches/ops_pct/compilers/imcc/pbc.c
branches/ops_pct/compilers/imcc/pcc.c
branches/ops_pct/compilers/imcc/symreg.c
branches/ops_pct/compilers/imcc/symreg.h
branches/ops_pct/compilers/imcc/unit.h
branches/ops_pct/compilers/opsc/Defines.mak (props changed)
branches/ops_pct/compilers/opsc/Rules.mak (props changed)
branches/ops_pct/compilers/pct/Rules.mak (props changed)
branches/ops_pct/compilers/pct/src/PAST/Compiler.pir
branches/ops_pct/compilers/pct/src/PCT/HLLCompiler.pir
branches/ops_pct/compilers/pct/src/POST/Node.pir
branches/ops_pct/compilers/pge/PGE/Exp.pir
branches/ops_pct/compilers/pge/PGE/OPTable.pir
branches/ops_pct/compilers/pge/PGE/Perl6Regex.pir
branches/ops_pct/compilers/pge/PGE/Regex.pir
branches/ops_pct/compilers/pge/Rules.mak (props changed)
branches/ops_pct/compilers/pirc/Rules.mak
branches/ops_pct/compilers/pirc/src/pircompiler.c
branches/ops_pct/compilers/pirc/src/pircompiler.h
branches/ops_pct/compilers/pirc/src/pircompunit.c
branches/ops_pct/compilers/pirc/src/pircompunit.h
branches/ops_pct/compilers/pirc/src/pirlexer.h
branches/ops_pct/compilers/pirc/src/pirparser.c
branches/ops_pct/compilers/pirc/src/pirsymbol.c
branches/ops_pct/compilers/pirc/src/pirsymbol.h
branches/ops_pct/compilers/tge/Rules.mak (props changed)
branches/ops_pct/config/auto/arch.pm
branches/ops_pct/config/auto/attributes.pm
branches/ops_pct/config/auto/attributes/test_c.in
branches/ops_pct/config/auto/sizes/intval_maxmin_c.in (props changed)
branches/ops_pct/config/auto/warnings.pm
branches/ops_pct/config/gen/config_h/config_h.in
branches/ops_pct/config/gen/config_pm.pm
branches/ops_pct/config/gen/config_pm/config_pir.in
branches/ops_pct/config/gen/core_pmcs.pm
branches/ops_pct/config/gen/makefiles.pm
branches/ops_pct/config/gen/makefiles/docs.in
branches/ops_pct/config/gen/makefiles/root.in
branches/ops_pct/config/gen/opengl.pm
branches/ops_pct/config/gen/platform.pm
branches/ops_pct/config/gen/platform/ansi/dl.c
branches/ops_pct/config/gen/platform/generic/dl.c
branches/ops_pct/config/gen/platform/generic/env.c
branches/ops_pct/config/gen/platform/generic/exec.c
branches/ops_pct/config/gen/platform/generic/itimer.c
branches/ops_pct/config/gen/platform/win32/dl.c
branches/ops_pct/config/gen/platform/win32/env.c
branches/ops_pct/config/gen/platform/win32/exec.c
branches/ops_pct/config/init/defaults.pm
branches/ops_pct/config/init/hints.pm
branches/ops_pct/config/init/hints/cygwin.pm
branches/ops_pct/config/init/hints/irix.pm
branches/ops_pct/config/init/optimize.pm
branches/ops_pct/config/inter/progs.pm
branches/ops_pct/docs/ (props changed)
branches/ops_pct/docs/book/draft/README (props changed)
branches/ops_pct/docs/book/draft/appa_glossary.pod (props changed)
branches/ops_pct/docs/book/draft/appb_patch_submission.pod (props changed)
branches/ops_pct/docs/book/draft/appc_command_line_options.pod (contents, props changed)
branches/ops_pct/docs/book/draft/appd_build_options.pod (props changed)
branches/ops_pct/docs/book/draft/appe_source_code.pod (props changed)
branches/ops_pct/docs/book/draft/ch01_introduction.pod (props changed)
branches/ops_pct/docs/book/draft/ch02_getting_started.pod (props changed)
branches/ops_pct/docs/book/draft/ch07_dynpmcs.pod (contents, props changed)
branches/ops_pct/docs/book/draft/ch08_dynops.pod (props changed)
branches/ops_pct/docs/book/draft/ch10_opcode_reference.pod (props changed)
branches/ops_pct/docs/book/draft/ch11_directive_reference.pod (props changed)
branches/ops_pct/docs/book/draft/ch12_operator_reference.pod (props changed)
branches/ops_pct/docs/book/draft/chXX_hlls.pod (contents, props changed)
branches/ops_pct/docs/book/draft/chXX_library.pod (props changed)
branches/ops_pct/docs/book/draft/chXX_testing_and_debugging.pod (props changed)
branches/ops_pct/docs/book/pct/ch01_introduction.pod (props changed)
branches/ops_pct/docs/book/pct/ch02_getting_started.pod (props changed)
branches/ops_pct/docs/book/pct/ch03_compiler_tools.pod (props changed)
branches/ops_pct/docs/book/pct/ch04_pge.pod (props changed)
branches/ops_pct/docs/book/pct/ch05_nqp.pod (props changed)
branches/ops_pct/docs/book/pir/ch04_variables.pod
branches/ops_pct/docs/configuration.pod
branches/ops_pct/docs/dev/c_functions.pod (props changed)
branches/ops_pct/docs/dev/infant.pod
branches/ops_pct/docs/dev/pccmethods.pod
branches/ops_pct/docs/dev/pmc_freeze.pod
branches/ops_pct/docs/dev/pmc_obj_design_meeting_notes.pod
branches/ops_pct/docs/dev/profiling.pod
branches/ops_pct/docs/embed.pod
branches/ops_pct/docs/intro.pod
branches/ops_pct/docs/parrothist.pod
branches/ops_pct/docs/pdds/draft/pdd01_overview.pod
branches/ops_pct/docs/pdds/draft/pdd05_opfunc.pod
branches/ops_pct/docs/pdds/draft/pdd06_pasm.pod
branches/ops_pct/docs/pdds/draft/pdd08_keys.pod
branches/ops_pct/docs/pdds/draft/pdd10_embedding.pod
branches/ops_pct/docs/pdds/draft/pdd11_extending.pod
branches/ops_pct/docs/pdds/draft/pdd14_numbers.pod
branches/ops_pct/docs/pdds/draft/pdd16_native_call.pod
branches/ops_pct/docs/pdds/draft/pdd29_compiler_tools.pod
branches/ops_pct/docs/pdds/draft/pdd31_hll.pod
branches/ops_pct/docs/pdds/draft/pdd31_hll_interop.pod
branches/ops_pct/docs/pdds/pdd00_pdd.pod
branches/ops_pct/docs/pdds/pdd03_calling_conventions.pod
branches/ops_pct/docs/pdds/pdd07_codingstd.pod
branches/ops_pct/docs/pdds/pdd09_gc.pod
branches/ops_pct/docs/pdds/pdd15_objects.pod
branches/ops_pct/docs/pdds/pdd17_pmc.pod
branches/ops_pct/docs/pdds/pdd18_security.pod
branches/ops_pct/docs/pdds/pdd19_pir.pod
branches/ops_pct/docs/pdds/pdd20_lexical_vars.pod
branches/ops_pct/docs/pdds/pdd21_namespaces.pod
branches/ops_pct/docs/pdds/pdd22_io.pod
branches/ops_pct/docs/pdds/pdd23_exceptions.pod
branches/ops_pct/docs/pdds/pdd24_events.pod
branches/ops_pct/docs/pdds/pdd25_concurrency.pod
branches/ops_pct/docs/pdds/pdd26_ast.pod
branches/ops_pct/docs/pdds/pdd27_multiple_dispatch.pod
branches/ops_pct/docs/pdds/pdd28_strings.pod
branches/ops_pct/docs/pdds/pdd30_install.pod (contents, props changed)
branches/ops_pct/docs/pdds/pdd_template.pod
branches/ops_pct/docs/pmc.pod
branches/ops_pct/docs/pmc/documentation.pod
branches/ops_pct/docs/pmc2c.pod
branches/ops_pct/docs/porting_intro.pod
branches/ops_pct/docs/project/debian_packaging_guide.pod
branches/ops_pct/docs/project/metacommitter_guide.pod
branches/ops_pct/docs/project/release_manager_guide.pod
branches/ops_pct/docs/running.pod
branches/ops_pct/editor/pir-mode.el
branches/ops_pct/examples/benchmarks/oo1.pir
branches/ops_pct/examples/benchmarks/oo2.pir
branches/ops_pct/examples/c/test_main.c
branches/ops_pct/examples/config/file/configcompiler
branches/ops_pct/examples/config/file/configwithfatalstep
branches/ops_pct/examples/embed/Makefile
branches/ops_pct/examples/embed/cotorra.c (contents, props changed)
branches/ops_pct/examples/japh/japh3.pasm
branches/ops_pct/examples/json/postalcodes.pir
branches/ops_pct/examples/languages/abc/ (props changed)
branches/ops_pct/examples/languages/abc/setup.pir
branches/ops_pct/examples/languages/squaak/ (props changed)
branches/ops_pct/examples/languages/squaak/setup.pir
branches/ops_pct/examples/languages/squaak/src/parser/actions.pm
branches/ops_pct/examples/library/ncurses_life.pir
branches/ops_pct/examples/nci/Xlib.pir
branches/ops_pct/examples/nci/xlibtest.pir
branches/ops_pct/examples/pge/demo.pir (contents, props changed)
branches/ops_pct/examples/pir/befunge/debug.pir
branches/ops_pct/examples/pir/befunge/io.pir
branches/ops_pct/examples/pir/befunge/load.pir
branches/ops_pct/examples/pir/befunge/setup.pir
branches/ops_pct/examples/pir/io.pir
branches/ops_pct/examples/pir/pirric.pir
branches/ops_pct/examples/pir/quine_ord.pir
branches/ops_pct/examples/pir/substr.pir
branches/ops_pct/examples/sdl/mandel.pir
branches/ops_pct/examples/shootout/ack.pir
branches/ops_pct/examples/shootout/binarytrees.pir
branches/ops_pct/examples/shootout/fasta.pir
branches/ops_pct/examples/shootout/knucleotide.pir
branches/ops_pct/examples/shootout/partialsums.pir
branches/ops_pct/examples/shootout/pidigits.pir
branches/ops_pct/examples/shootout/random.pir
branches/ops_pct/examples/shootout/recursive-2.pir
branches/ops_pct/examples/shootout/recursive.pir
branches/ops_pct/examples/shootout/regexdna.pir
branches/ops_pct/examples/shootout/revcomp.pir
branches/ops_pct/examples/shootout/takfp.pir
branches/ops_pct/examples/tutorial/23_string_ops_substr.pir
branches/ops_pct/examples/tutorial/40_file_ops.pir
branches/ops_pct/examples/tutorial/56_defined.pir
branches/ops_pct/ext/Parrot-Embed/Build.PL
branches/ops_pct/ext/Parrot-Embed/MANIFEST
branches/ops_pct/ext/Parrot-Embed/lib/Parrot/Embed.xs
branches/ops_pct/ext/Parrot-Embed/t/interp.t
branches/ops_pct/ext/nqp-rx/Rules.mak (props changed)
branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/ops_pct/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/ops_pct/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/ops_pct/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/ops_pct/include/parrot/ (props changed)
branches/ops_pct/include/parrot/call.h (contents, props changed)
branches/ops_pct/include/parrot/charset.h
branches/ops_pct/include/parrot/compiler.h
branches/ops_pct/include/parrot/context.h
branches/ops_pct/include/parrot/debugger.h
branches/ops_pct/include/parrot/dynext.h
branches/ops_pct/include/parrot/embed.h
branches/ops_pct/include/parrot/encoding.h
branches/ops_pct/include/parrot/exceptions.h
branches/ops_pct/include/parrot/exit.h
branches/ops_pct/include/parrot/extend.h
branches/ops_pct/include/parrot/gc_api.h (contents, props changed)
branches/ops_pct/include/parrot/global_setup.h
branches/ops_pct/include/parrot/hash.h
branches/ops_pct/include/parrot/imcc.h
branches/ops_pct/include/parrot/interpreter.h
branches/ops_pct/include/parrot/io.h
branches/ops_pct/include/parrot/io_portable.h
branches/ops_pct/include/parrot/io_unix.h
branches/ops_pct/include/parrot/io_win32.h
branches/ops_pct/include/parrot/key.h
branches/ops_pct/include/parrot/misc.h
branches/ops_pct/include/parrot/nci.h
branches/ops_pct/include/parrot/oo.h
branches/ops_pct/include/parrot/op.h
branches/ops_pct/include/parrot/oplib.h
branches/ops_pct/include/parrot/oplib/core_ops.h
branches/ops_pct/include/parrot/packfile.h
branches/ops_pct/include/parrot/pmc.h
branches/ops_pct/include/parrot/pmc_freeze.h
branches/ops_pct/include/parrot/pobj.h
branches/ops_pct/include/parrot/runcore_api.h (contents, props changed)
branches/ops_pct/include/parrot/runcore_profiling.h (contents, props changed)
branches/ops_pct/include/parrot/runcore_trace.h (props changed)
branches/ops_pct/include/parrot/string.h
branches/ops_pct/include/parrot/string_funcs.h
branches/ops_pct/include/parrot/string_primitives.h
branches/ops_pct/include/parrot/sub.h
branches/ops_pct/include/parrot/thr_windows.h
branches/ops_pct/include/parrot/thread.h
branches/ops_pct/include/parrot/vtables.h
branches/ops_pct/lib/Parrot/Configure/Options/Conf.pm
branches/ops_pct/lib/Parrot/Configure/Options/Conf/Shared.pm
branches/ops_pct/lib/Parrot/Configure/Options/Test/Prepare.pm
branches/ops_pct/lib/Parrot/Configure/Step/List.pm
branches/ops_pct/lib/Parrot/Configure/Step/Test.pm (props changed)
branches/ops_pct/lib/Parrot/Distribution.pm
branches/ops_pct/lib/Parrot/Docs/Section/Compilers.pm
branches/ops_pct/lib/Parrot/H2inc.pm (contents, props changed)
branches/ops_pct/lib/Parrot/Harness/DefaultTests.pm
branches/ops_pct/lib/Parrot/Harness/Options.pm
branches/ops_pct/lib/Parrot/Harness/Smoke.pm
branches/ops_pct/lib/Parrot/Headerizer.pm
branches/ops_pct/lib/Parrot/Manifest.pm
branches/ops_pct/lib/Parrot/OpTrans.pm
branches/ops_pct/lib/Parrot/OpTrans/C.pm
branches/ops_pct/lib/Parrot/Ops2c/Auxiliary.pm
branches/ops_pct/lib/Parrot/Ops2c/Utils.pm
branches/ops_pct/lib/Parrot/Ops2pm/Base.pm
branches/ops_pct/lib/Parrot/OpsRenumber.pm
branches/ops_pct/lib/Parrot/Pmc2c/Attribute.pm
branches/ops_pct/lib/Parrot/Pmc2c/Dumper.pm
branches/ops_pct/lib/Parrot/Pmc2c/Emitter.pm
branches/ops_pct/lib/Parrot/Pmc2c/Library.pm
branches/ops_pct/lib/Parrot/Pmc2c/MethodEmitter.pm
branches/ops_pct/lib/Parrot/Pmc2c/Object.pm
branches/ops_pct/lib/Parrot/Pmc2c/PCCMETHOD.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMC.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMC/Null.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMC/Object.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMC/ParrotClass.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMC/default.pm
branches/ops_pct/lib/Parrot/Pmc2c/PMCEmitter.pm
branches/ops_pct/lib/Parrot/Pmc2c/Parser.pm
branches/ops_pct/lib/Parrot/Pmc2c/Pmc2cMain.pm
branches/ops_pct/lib/Parrot/Pmc2c/UtilFunctions.pm
branches/ops_pct/lib/Parrot/Vtable.pm
branches/ops_pct/ports/cygwin/README
branches/ops_pct/ports/cygwin/parrot-1.0.0-1.cygport (props changed)
branches/ops_pct/ports/debian/changelog
branches/ops_pct/ports/debian/control.in
branches/ops_pct/ports/debian/libparrot-dev.install.in (props changed)
branches/ops_pct/ports/debian/libparrot.install.in (props changed)
branches/ops_pct/ports/debian/parrot-doc.install.in (props changed)
branches/ops_pct/ports/debian/parrot.install.in (props changed)
branches/ops_pct/ports/debian/patches/series
branches/ops_pct/ports/ubuntu/control.in
branches/ops_pct/runtime/parrot/languages/ (props changed)
branches/ops_pct/runtime/parrot/library/CGI/QueryHash.pir
branches/ops_pct/runtime/parrot/library/Config/JSON.pir
branches/ops_pct/runtime/parrot/library/Crow.pir
branches/ops_pct/runtime/parrot/library/Getopt/Obj.pir
branches/ops_pct/runtime/parrot/library/HTTP/Daemon.pir
branches/ops_pct/runtime/parrot/library/JSON.pir
branches/ops_pct/runtime/parrot/library/MIME/Base64.pir
branches/ops_pct/runtime/parrot/library/Math/Rand.pir (props changed)
branches/ops_pct/runtime/parrot/library/OpenGL.pir
branches/ops_pct/runtime/parrot/library/P6object.pir
branches/ops_pct/runtime/parrot/library/Rules.mak (props changed)
branches/ops_pct/runtime/parrot/library/Stream/Base.pir
branches/ops_pct/runtime/parrot/library/String/Utils.pir
branches/ops_pct/runtime/parrot/library/Test/Builder.pir
branches/ops_pct/runtime/parrot/library/Test/Builder/Output.pir
branches/ops_pct/runtime/parrot/library/Test/Builder/Test.pir
branches/ops_pct/runtime/parrot/library/Test/More.pir
branches/ops_pct/runtime/parrot/library/distutils.pir
branches/ops_pct/runtime/parrot/library/pcore.pir
branches/ops_pct/runtime/parrot/library/uuid.pir
branches/ops_pct/src/byteorder.c
branches/ops_pct/src/call/args.c
branches/ops_pct/src/call/context.c
branches/ops_pct/src/call/context_accessors.c
branches/ops_pct/src/call/ops.c (contents, props changed)
branches/ops_pct/src/call/pcc.c (contents, props changed)
branches/ops_pct/src/datatypes.c
branches/ops_pct/src/debug.c
branches/ops_pct/src/dynext.c
branches/ops_pct/src/dynoplibs/Defines.in
branches/ops_pct/src/dynoplibs/Rules.in
branches/ops_pct/src/dynpmc/ (props changed)
branches/ops_pct/src/dynpmc/dynlexpad.pmc
branches/ops_pct/src/dynpmc/foo.pmc
branches/ops_pct/src/dynpmc/pccmethod_test.pmc
branches/ops_pct/src/dynpmc/rational.pmc
branches/ops_pct/src/dynpmc/subproxy.pmc
branches/ops_pct/src/embed.c
branches/ops_pct/src/exceptions.c
branches/ops_pct/src/exit.c
branches/ops_pct/src/extend.c
branches/ops_pct/src/frame_builder.c
branches/ops_pct/src/gc/ (props changed)
branches/ops_pct/src/gc/alloc_memory.c (props changed)
branches/ops_pct/src/gc/alloc_resources.c (contents, props changed)
branches/ops_pct/src/gc/api.c (contents, props changed)
branches/ops_pct/src/gc/gc_inf.c
branches/ops_pct/src/gc/gc_ms.c
branches/ops_pct/src/gc/gc_private.h
branches/ops_pct/src/gc/malloc.c (contents, props changed)
branches/ops_pct/src/gc/malloc_trace.c (contents, props changed)
branches/ops_pct/src/gc/mark_sweep.c (contents, props changed)
branches/ops_pct/src/gc/system.c (contents, props changed)
branches/ops_pct/src/global.c
branches/ops_pct/src/global_setup.c
branches/ops_pct/src/hash.c
branches/ops_pct/src/hll.c
branches/ops_pct/src/interp/inter_cb.c (contents, props changed)
branches/ops_pct/src/interp/inter_create.c (contents, props changed)
branches/ops_pct/src/interp/inter_misc.c (contents, props changed)
branches/ops_pct/src/io/api.c
branches/ops_pct/src/io/buffer.c
branches/ops_pct/src/io/core.c
branches/ops_pct/src/io/filehandle.c
branches/ops_pct/src/io/portable.c
branches/ops_pct/src/io/socket_api.c
branches/ops_pct/src/io/socket_unix.c
branches/ops_pct/src/io/socket_win32.c
branches/ops_pct/src/io/unix.c
branches/ops_pct/src/io/utf8.c
branches/ops_pct/src/io/win32.c
branches/ops_pct/src/key.c
branches/ops_pct/src/library.c
branches/ops_pct/src/longopt.c
branches/ops_pct/src/main.c
branches/ops_pct/src/misc.c
branches/ops_pct/src/multidispatch.c
branches/ops_pct/src/nci/api.c
branches/ops_pct/src/nci/core_thunks.c
branches/ops_pct/src/nci/extra_thunks.c
branches/ops_pct/src/nci_test.c
branches/ops_pct/src/oo.c
branches/ops_pct/src/ops/bit.ops
branches/ops_pct/src/ops/cmp.ops
branches/ops_pct/src/ops/core.ops
branches/ops_pct/src/ops/core_ops.c
branches/ops_pct/src/ops/object.ops
branches/ops_pct/src/ops/ops.num
branches/ops_pct/src/ops/pmc.ops
branches/ops_pct/src/ops/set.ops
branches/ops_pct/src/ops/string.ops
branches/ops_pct/src/ops/var.ops
branches/ops_pct/src/packdump.c
branches/ops_pct/src/packfile.c
branches/ops_pct/src/packfile/pf_items.c
branches/ops_pct/src/packout.c
branches/ops_pct/src/parrot_debugger.c
branches/ops_pct/src/pbc_dump.c
branches/ops_pct/src/pbc_merge.c
branches/ops_pct/src/pmc.c
branches/ops_pct/src/pmc/addrregistry.pmc
branches/ops_pct/src/pmc/arrayiterator.pmc
branches/ops_pct/src/pmc/bigint.pmc
branches/ops_pct/src/pmc/bignum.pmc
branches/ops_pct/src/pmc/boolean.pmc
branches/ops_pct/src/pmc/callcontext.pmc
branches/ops_pct/src/pmc/capture.pmc
branches/ops_pct/src/pmc/class.pmc
branches/ops_pct/src/pmc/codestring.pmc
branches/ops_pct/src/pmc/complex.pmc
branches/ops_pct/src/pmc/continuation.pmc
branches/ops_pct/src/pmc/coroutine.pmc
branches/ops_pct/src/pmc/default.pmc
branches/ops_pct/src/pmc/env.pmc
branches/ops_pct/src/pmc/eval.pmc
branches/ops_pct/src/pmc/eventhandler.pmc
branches/ops_pct/src/pmc/exception.pmc
branches/ops_pct/src/pmc/exceptionhandler.pmc
branches/ops_pct/src/pmc/exporter.pmc
branches/ops_pct/src/pmc/filehandle.pmc
branches/ops_pct/src/pmc/fixedbooleanarray.pmc
branches/ops_pct/src/pmc/fixedfloatarray.pmc
branches/ops_pct/src/pmc/fixedintegerarray.pmc
branches/ops_pct/src/pmc/fixedpmcarray.pmc
branches/ops_pct/src/pmc/fixedstringarray.pmc
branches/ops_pct/src/pmc/float.pmc
branches/ops_pct/src/pmc/handle.pmc
branches/ops_pct/src/pmc/hash.pmc
branches/ops_pct/src/pmc/hashiterator.pmc
branches/ops_pct/src/pmc/hashiteratorkey.pmc
branches/ops_pct/src/pmc/imageio.pmc
branches/ops_pct/src/pmc/imageiosize.pmc
branches/ops_pct/src/pmc/integer.pmc
branches/ops_pct/src/pmc/iterator.pmc
branches/ops_pct/src/pmc/key.pmc
branches/ops_pct/src/pmc/lexinfo.pmc
branches/ops_pct/src/pmc/lexpad.pmc
branches/ops_pct/src/pmc/managedstruct.pmc
branches/ops_pct/src/pmc/multisub.pmc
branches/ops_pct/src/pmc/namespace.pmc
branches/ops_pct/src/pmc/nci.pmc
branches/ops_pct/src/pmc/null.pmc
branches/ops_pct/src/pmc/object.pmc
branches/ops_pct/src/pmc/opcode.pmc
branches/ops_pct/src/pmc/oplib.pmc
branches/ops_pct/src/pmc/orderedhash.pmc
branches/ops_pct/src/pmc/orderedhashiterator.pmc
branches/ops_pct/src/pmc/packfile.pmc
branches/ops_pct/src/pmc/packfileannotation.pmc
branches/ops_pct/src/pmc/packfileannotations.pmc
branches/ops_pct/src/pmc/packfileconstanttable.pmc
branches/ops_pct/src/pmc/packfiledirectory.pmc
branches/ops_pct/src/pmc/packfilefixupentry.pmc
branches/ops_pct/src/pmc/packfilefixuptable.pmc
branches/ops_pct/src/pmc/packfilerawsegment.pmc
branches/ops_pct/src/pmc/packfilesegment.pmc
branches/ops_pct/src/pmc/parrotinterpreter.pmc
branches/ops_pct/src/pmc/parrotlibrary.pmc
branches/ops_pct/src/pmc/pmc.num
branches/ops_pct/src/pmc/pmcproxy.pmc
branches/ops_pct/src/pmc/pointer.pmc
branches/ops_pct/src/pmc/resizablebooleanarray.pmc
branches/ops_pct/src/pmc/resizablefloatarray.pmc
branches/ops_pct/src/pmc/resizableintegerarray.pmc
branches/ops_pct/src/pmc/resizablepmcarray.pmc
branches/ops_pct/src/pmc/resizablestringarray.pmc
branches/ops_pct/src/pmc/role.pmc
branches/ops_pct/src/pmc/scalar.pmc
branches/ops_pct/src/pmc/scheduler.pmc
branches/ops_pct/src/pmc/schedulermessage.pmc
branches/ops_pct/src/pmc/sockaddr.pmc
branches/ops_pct/src/pmc/socket.pmc
branches/ops_pct/src/pmc/string.pmc
branches/ops_pct/src/pmc/stringhandle.pmc
branches/ops_pct/src/pmc/stringiterator.pmc
branches/ops_pct/src/pmc/sub.pmc
branches/ops_pct/src/pmc/task.pmc
branches/ops_pct/src/pmc/timer.pmc
branches/ops_pct/src/pmc/undef.pmc
branches/ops_pct/src/pmc/unmanagedstruct.pmc
branches/ops_pct/src/pmc_freeze.c
branches/ops_pct/src/runcore/cores.c (contents, props changed)
branches/ops_pct/src/runcore/main.c (contents, props changed)
branches/ops_pct/src/runcore/profiling.c (contents, props changed)
branches/ops_pct/src/runcore/trace.c (contents, props changed)
branches/ops_pct/src/scheduler.c
branches/ops_pct/src/spf_render.c
branches/ops_pct/src/spf_vtable.c
branches/ops_pct/src/string/api.c
branches/ops_pct/src/string/charset.c
branches/ops_pct/src/string/charset/ascii.c
branches/ops_pct/src/string/charset/ascii.h
branches/ops_pct/src/string/charset/binary.c
branches/ops_pct/src/string/charset/binary.h
branches/ops_pct/src/string/charset/iso-8859-1.c
branches/ops_pct/src/string/charset/iso-8859-1.h
branches/ops_pct/src/string/charset/unicode.c
branches/ops_pct/src/string/charset/unicode.h
branches/ops_pct/src/string/encoding.c
branches/ops_pct/src/string/encoding/fixed_8.c
branches/ops_pct/src/string/encoding/fixed_8.h
branches/ops_pct/src/string/encoding/ucs2.c
branches/ops_pct/src/string/encoding/ucs2.h
branches/ops_pct/src/string/encoding/utf16.c
branches/ops_pct/src/string/encoding/utf16.h
branches/ops_pct/src/string/encoding/utf8.c
branches/ops_pct/src/string/encoding/utf8.h
branches/ops_pct/src/string/primitives.c
branches/ops_pct/src/sub.c
branches/ops_pct/src/thread.c
branches/ops_pct/src/utils.c
branches/ops_pct/src/vtables.c
branches/ops_pct/t/codingstd/c_function_docs.t
branches/ops_pct/t/codingstd/c_parens.t
branches/ops_pct/t/codingstd/pdd_format.t
branches/ops_pct/t/compilers/imcc/imcpasm/optc.t
branches/ops_pct/t/compilers/imcc/reg/spill.t
branches/ops_pct/t/compilers/imcc/syn/file.t
branches/ops_pct/t/compilers/imcc/syn/labels.t
branches/ops_pct/t/compilers/imcc/syn/objects.t
branches/ops_pct/t/compilers/imcc/syn/op.t
branches/ops_pct/t/compilers/imcc/syn/regressions.t
branches/ops_pct/t/compilers/imcc/syn/scope.t
branches/ops_pct/t/compilers/imcc/syn/subflags.t
branches/ops_pct/t/compilers/imcc/syn/tail.t
branches/ops_pct/t/compilers/imcc/syn/veracity.t
branches/ops_pct/t/compilers/pct/complete_workflow.t
branches/ops_pct/t/compilers/pge/02-match.t
branches/ops_pct/t/compilers/pge/03-optable.t
branches/ops_pct/t/compilers/pge/04-compile.t
branches/ops_pct/t/compilers/pge/p5regex/p5rx.t
branches/ops_pct/t/compilers/pge/perl6regex/01-regex.t
branches/ops_pct/t/compilers/pge/pge-hs.t
branches/ops_pct/t/compilers/tge/NoneGrammar.tg (props changed)
branches/ops_pct/t/compilers/tge/basic.t
branches/ops_pct/t/compilers/tge/parser.t
branches/ops_pct/t/configure/testlib/adefectivefoobar
branches/ops_pct/t/configure/testlib/bdefectivefoobar
branches/ops_pct/t/configure/testlib/cdefectivefoobar
branches/ops_pct/t/configure/testlib/ddefectivefoobar
branches/ops_pct/t/configure/testlib/verbosefoobar
branches/ops_pct/t/distro/file_metadata.t
branches/ops_pct/t/dynoplibs/math.t
branches/ops_pct/t/dynoplibs/obscure.t
branches/ops_pct/t/dynpmc/foo2.t
branches/ops_pct/t/dynpmc/rational.t
branches/ops_pct/t/dynpmc/rotest.t
branches/ops_pct/t/dynpmc/subproxy.t
branches/ops_pct/t/examples/shootout.t
branches/ops_pct/t/examples/tutorial.t
branches/ops_pct/t/harness
branches/ops_pct/t/include/fp_equality.t
branches/ops_pct/t/library/configure.t
branches/ops_pct/t/library/getopt_obj.t
branches/ops_pct/t/library/hllmacros.t
branches/ops_pct/t/library/md5.t
branches/ops_pct/t/library/mime_base64.t
branches/ops_pct/t/library/p6object.t
branches/ops_pct/t/library/parrotlib.t
branches/ops_pct/t/library/pcre.t
branches/ops_pct/t/library/protoobject.t
branches/ops_pct/t/library/rand.t
branches/ops_pct/t/library/range.t
branches/ops_pct/t/library/test_builder_tester.t
branches/ops_pct/t/library/test_class.t
branches/ops_pct/t/library/test_more.t
branches/ops_pct/t/library/uuid.t
branches/ops_pct/t/native_pbc/annotations.pbc
branches/ops_pct/t/native_pbc/integer_1.pbc
branches/ops_pct/t/native_pbc/integer_4.pbc
branches/ops_pct/t/native_pbc/number_1.pbc
branches/ops_pct/t/native_pbc/number_4.pbc
branches/ops_pct/t/native_pbc/string_1.pbc
branches/ops_pct/t/native_pbc/string_4.pbc
branches/ops_pct/t/oo/attributes.t
branches/ops_pct/t/oo/composition.t
branches/ops_pct/t/oo/inheritance.t
branches/ops_pct/t/oo/isa.t
branches/ops_pct/t/oo/metamodel.t
branches/ops_pct/t/oo/methods.t
branches/ops_pct/t/oo/mro-c3.t
branches/ops_pct/t/oo/names.t
branches/ops_pct/t/oo/new.t
branches/ops_pct/t/oo/ops.t
branches/ops_pct/t/oo/proxy.t
branches/ops_pct/t/oo/root_new.t (contents, props changed)
branches/ops_pct/t/oo/subclass.t
branches/ops_pct/t/oo/vtableoverride.t
branches/ops_pct/t/op/00ff-dos.t
branches/ops_pct/t/op/00ff-unix.t
branches/ops_pct/t/op/64bit.t
branches/ops_pct/t/op/annotate-old.t
branches/ops_pct/t/op/annotate.t
branches/ops_pct/t/op/arithmetics.t
branches/ops_pct/t/op/arithmetics_pmc.t
branches/ops_pct/t/op/box.t
branches/ops_pct/t/op/calling.t
branches/ops_pct/t/op/cc_params.t
branches/ops_pct/t/op/cmp-nonbranch.t
branches/ops_pct/t/op/comp.t
branches/ops_pct/t/op/copy.t
branches/ops_pct/t/op/debuginfo.t
branches/ops_pct/t/op/errorson.t
branches/ops_pct/t/op/exceptions.t
branches/ops_pct/t/op/fetch.t
branches/ops_pct/t/op/gc-leaky.t
branches/ops_pct/t/op/gc.t
branches/ops_pct/t/op/globals.t
branches/ops_pct/t/op/ifunless.t
branches/ops_pct/t/op/inf_nan.t
branches/ops_pct/t/op/integer.t
branches/ops_pct/t/op/interp.t
branches/ops_pct/t/op/io.t
branches/ops_pct/t/op/literal.t
branches/ops_pct/t/op/number.t
branches/ops_pct/t/op/sprintf.t
branches/ops_pct/t/op/sprintf2.t
branches/ops_pct/t/op/string.t
branches/ops_pct/t/op/string_cmp.t
branches/ops_pct/t/op/string_cs.t
branches/ops_pct/t/op/stringu.t
branches/ops_pct/t/op/time.t
branches/ops_pct/t/op/trans.t
branches/ops_pct/t/op/vivify.t
branches/ops_pct/t/pharness/02-get_test_prog_args.t
branches/ops_pct/t/pir/macro.t
branches/ops_pct/t/pir/registernames.t
branches/ops_pct/t/pmc/addrregistry.t
branches/ops_pct/t/pmc/arrayiterator.t
branches/ops_pct/t/pmc/bigint.t
branches/ops_pct/t/pmc/boolean.t
branches/ops_pct/t/pmc/callcontext.t
branches/ops_pct/t/pmc/capture.t
branches/ops_pct/t/pmc/class.t
branches/ops_pct/t/pmc/codestring.t
branches/ops_pct/t/pmc/complex.t
branches/ops_pct/t/pmc/config.t
branches/ops_pct/t/pmc/context.t
branches/ops_pct/t/pmc/continuation.t
branches/ops_pct/t/pmc/default.t
branches/ops_pct/t/pmc/env.t
branches/ops_pct/t/pmc/eval.t
branches/ops_pct/t/pmc/eventhandler.t
branches/ops_pct/t/pmc/exception-old.t
branches/ops_pct/t/pmc/exception.t
branches/ops_pct/t/pmc/exceptionhandler.t
branches/ops_pct/t/pmc/fixedbooleanarray.t
branches/ops_pct/t/pmc/fixedfloatarray.t
branches/ops_pct/t/pmc/fixedintegerarray.t
branches/ops_pct/t/pmc/fixedpmcarray.t
branches/ops_pct/t/pmc/fixedstringarray.t
branches/ops_pct/t/pmc/float.t
branches/ops_pct/t/pmc/freeze.t
branches/ops_pct/t/pmc/handle.t
branches/ops_pct/t/pmc/hash.t
branches/ops_pct/t/pmc/hashiterator.t
branches/ops_pct/t/pmc/imageio.t
branches/ops_pct/t/pmc/imageiosize.t
branches/ops_pct/t/pmc/integer.t
branches/ops_pct/t/pmc/io.t
branches/ops_pct/t/pmc/key.t
branches/ops_pct/t/pmc/lexinfo.t
branches/ops_pct/t/pmc/lexpad.t
branches/ops_pct/t/pmc/managedstruct.t
branches/ops_pct/t/pmc/multidispatch.t
branches/ops_pct/t/pmc/namespace-old.t (contents, props changed)
branches/ops_pct/t/pmc/namespace.t
branches/ops_pct/t/pmc/nci.t
branches/ops_pct/t/pmc/null.t
branches/ops_pct/t/pmc/object.t
branches/ops_pct/t/pmc/objects.t
branches/ops_pct/t/pmc/opcode.t
branches/ops_pct/t/pmc/oplib.t
branches/ops_pct/t/pmc/packfile.t
branches/ops_pct/t/pmc/packfileannotation.t
branches/ops_pct/t/pmc/packfileannotations.t
branches/ops_pct/t/pmc/packfileconstanttable.t
branches/ops_pct/t/pmc/packfiledirectory.t
branches/ops_pct/t/pmc/packfilefixupentry.t
branches/ops_pct/t/pmc/packfilefixuptable.t
branches/ops_pct/t/pmc/packfilerawsegment.t
branches/ops_pct/t/pmc/packfilesegment.t
branches/ops_pct/t/pmc/parrotclass.t
branches/ops_pct/t/pmc/parrotinterpreter.t
branches/ops_pct/t/pmc/parrotlibrary.t
branches/ops_pct/t/pmc/parrotobject.t
branches/ops_pct/t/pmc/parrotthread.t
branches/ops_pct/t/pmc/pmcproxy.t
branches/ops_pct/t/pmc/pointer.t
branches/ops_pct/t/pmc/prop.t
branches/ops_pct/t/pmc/resizablebooleanarray.t
branches/ops_pct/t/pmc/resizablefloatarray.t
branches/ops_pct/t/pmc/resizableintegerarray.t
branches/ops_pct/t/pmc/resizablepmcarray.t
branches/ops_pct/t/pmc/ro.t
branches/ops_pct/t/pmc/role.t
branches/ops_pct/t/pmc/scalar.t
branches/ops_pct/t/pmc/scheduler.t
branches/ops_pct/t/pmc/schedulermessage.t
branches/ops_pct/t/pmc/sockaddr.t
branches/ops_pct/t/pmc/socket.t
branches/ops_pct/t/pmc/string.t
branches/ops_pct/t/pmc/stringiterator.t
branches/ops_pct/t/pmc/testlib/packfile_common.pir
branches/ops_pct/t/pmc/threads.t
branches/ops_pct/t/pmc/undef.t
branches/ops_pct/t/pmc/unmanagedstruct.t
branches/ops_pct/t/run/exit.t
branches/ops_pct/t/src/basic.t
branches/ops_pct/t/src/embed.t (contents, props changed)
branches/ops_pct/t/src/extend.t
branches/ops_pct/t/src/warnings.t
branches/ops_pct/t/steps/auto/arch-01.t
branches/ops_pct/t/steps/gen/platform-01.t
branches/ops_pct/t/steps/init/defaults-01.t
branches/ops_pct/t/steps/init/hints/linux-01.t (props changed)
branches/ops_pct/t/steps/inter/progs-04.t
branches/ops_pct/t/tools/install/testlib/README
branches/ops_pct/t/tools/ops2cutils/01-new.t
branches/ops_pct/t/tools/ops2cutils/03-print_c_header_file.t
branches/ops_pct/t/tools/ops2cutils/04-print_c_source_top.t
branches/ops_pct/t/tools/ops2cutils/05-print_c_source_bottom.t
branches/ops_pct/t/tools/ops2cutils/06-dynamic.t
branches/ops_pct/t/tools/ops2cutils/07-make_incdir.t
branches/ops_pct/t/tools/ops2cutils/08-nolines.t
branches/ops_pct/t/tools/ops2cutils/09-dynamic_nolines.t
branches/ops_pct/t/tools/ops2cutils/10-print_c_source_file.t
branches/ops_pct/t/tools/ops2pm/05-renum_op_map_file.t
branches/ops_pct/tools/build/h2inc.pl (props changed)
branches/ops_pct/tools/build/headerizer.pl
branches/ops_pct/tools/build/ops2c.pl
branches/ops_pct/tools/dev/branch_status.pl
branches/ops_pct/tools/dev/checkdepend.pl
branches/ops_pct/tools/dev/fetch_languages.pl (props changed)
branches/ops_pct/tools/dev/gen_charset_tables.pl
branches/ops_pct/tools/dev/install_files.pl
branches/ops_pct/tools/dev/mk_gitignore.pl (props changed)
branches/ops_pct/tools/dev/mk_inno.pl
branches/ops_pct/tools/dev/mk_manifest_and_skip.pl
branches/ops_pct/tools/dev/mk_native_pbc
branches/ops_pct/tools/dev/nci_thunk_gen.pir
branches/ops_pct/tools/dev/parrot-fuzzer
branches/ops_pct/tools/dev/pbc_to_exe.pir
branches/ops_pct/tools/install/smoke.pl
branches/ops_pct/tools/util/parrot-config.pir
branches/ops_pct/tools/util/perlcritic-cage.conf (props changed)
branches/ops_pct/tools/util/pgegrep
branches/ops_pct/tools/util/release.json
Copied: branches/ops_pct/.gitignore (from r46301, trunk/.gitignore)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/.gitignore Wed May 5 08:45:29 2010 (r46302, copy of r46301, trunk/.gitignore)
@@ -0,0 +1,581 @@
+# ex: set ro:
+# $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.
+# 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.
+#
+# generated from svn:ignore of './'
+/*.core
+/*.def
+/*.exe
+/*.exp
+/*.ilk
+/*.lib
+/*.manifest
+/*.ncb
+/*.o
+/*.obj
+/*.patch
+/*.pdb
+/*.sln
+/*.sto
+/*.suo
+/*.tmp
+/*.vcproj*
+/.git
+/.parrot_current_rev
+/CFLAGS
+/MANIFEST.configure.generated
+/Makefile
+/TAGS
+/all_cstring.str
+/blib
+/config_lib.pir
+/cover_db
+/install_config.fpmc
+/installable*
+/libparrot.def
+/libparrot.dll
+/miniparrot
+/myconfig
+/parrot
+/parrot-nqp
+/parrot-nqp.c
+/parrot-nqp.pbc
+/parrot.ilk
+/parrot.iss
+/parrot.pc
+/parrot.pdb
+/parrot_config
+/parrot_config.c
+/parrot_config.pbc
+/parrot_debugger
+/parrot_nci_thunk_gen
+/parrot_nci_thunk_gen.c
+/parrot_nci_thunk_gen.pbc
+/parrot_test_run.tar.gz
+/pbc_disassemble
+/pbc_dump
+/pbc_info
+/pbc_merge
+/pbc_to_exe
+/pbc_to_exe.*
+/perl6
+/pirc
+/tags
+/tapir
+/tapir.*
+/temp.file
+/test
+/test.c
+/test.cco
+/test.err
+/test.ilk
+/test.ldo
+/test.out
+/test.pdb
+/vc60.pdb
+/vc70.pdb
+/vtable.dump
+# generated from svn:ignore of 'compilers/data_json/'
+/compilers/data_json/data_json.pbc
+# generated from svn:ignore of 'compilers/data_json/data_json/'
+/compilers/data_json/data_json/*.pbc
+/compilers/data_json/data_json/*.pir
+# generated from svn:ignore of 'compilers/imcc/'
+/compilers/imcc/*.flag
+/compilers/imcc/*.o
+/compilers/imcc/*.obj
+/compilers/imcc/*.tmp
+/compilers/imcc/Rules.mak
+/compilers/imcc/imcc
+/compilers/imcc/imclexer.c
+/compilers/imcc/imcparser.c
+/compilers/imcc/imcparser.h
+/compilers/imcc/imcparser.output
+# generated from svn:ignore of 'compilers/pct/src/PAST/'
+/compilers/pct/src/PAST/*.pbc
+# generated from svn:ignore of 'compilers/pct/src/PCT/'
+/compilers/pct/src/PCT/*.pbc
+# generated from svn:ignore of 'compilers/pct/src/POST/'
+/compilers/pct/src/POST/*.pbc
+/compilers/pct/src/POST/Grammar_gen.pir
+# generated from svn:ignore of 'compilers/pge/'
+/compilers/pge/PGE.pbc
+# generated from svn:ignore of 'compilers/pge/PGE/'
+/compilers/pge/PGE/*.dll
+/compilers/pge/PGE/builtins_gen.pir
+# generated from svn:ignore of 'compilers/pirc/'
+/compilers/pirc/*.o
+/compilers/pirc/*.obj
+/compilers/pirc/*.pbd
+/compilers/pirc/pirc
+/compilers/pirc/pirc.exe
+# generated from svn:ignore of 'compilers/pirc/t/'
+/compilers/pirc/t/basic_?.pir
+/compilers/pirc/t/basic_??.pir
+/compilers/pirc/t/heredoc_?.pir
+/compilers/pirc/t/macro_?.pir
+/compilers/pirc/t/stmts_?.pir
+/compilers/pirc/t/subflags_?.pir
+# generated from svn:ignore of 'compilers/tge/'
+/compilers/tge/tgc.pbc
+# generated from svn:ignore of 'compilers/tge/TGE/'
+/compilers/tge/TGE/Parser.pir
+# generated from svn:ignore of 'docs/'
+/docs/*.tmp
+/docs/Makefile
+/docs/doc-prep
+/docs/html
+/docs/packfile-c.pod
+/docs/packfile-perl.pod
+# generated from svn:ignore of 'docs/book/'
+/docs/book/*.html
+# generated from svn:ignore of 'docs/ops/'
+/docs/ops/*.pod
+# generated from svn:ignore of 'editor/'
+/editor/Makefile
+/editor/imc.vim
+/editor/imcc.xml
+/editor/pir.vim
+# generated from svn:ignore of 'examples/languages/abc/'
+/examples/languages/abc/*.c
+/examples/languages/abc/*.exe
+/examples/languages/abc/*.iss
+/examples/languages/abc/*.o
+/examples/languages/abc/*.obj
+/examples/languages/abc/*.pbc
+/examples/languages/abc/MANIFEST
+/examples/languages/abc/abc
+/examples/languages/abc/installable_abc
+/examples/languages/abc/man
+# generated from svn:ignore of 'examples/languages/abc/src/'
+/examples/languages/abc/src/gen_actions.pir
+/examples/languages/abc/src/gen_builtins.pir
+/examples/languages/abc/src/gen_grammar.pir
+# generated from svn:ignore of 'examples/languages/abc/t/'
+/examples/languages/abc/t/*_*.out
+/examples/languages/abc/t/*_*.pir
+# generated from svn:ignore of 'examples/languages/squaak/'
+/examples/languages/squaak/*.c
+/examples/languages/squaak/*.exe
+/examples/languages/squaak/*.iss
+/examples/languages/squaak/*.o
+/examples/languages/squaak/*.obj
+/examples/languages/squaak/*.pbc
+/examples/languages/squaak/MANIFEST
+/examples/languages/squaak/installable_squaak
+/examples/languages/squaak/squaak
+# generated from svn:ignore of 'examples/languages/squaak/src/'
+/examples/languages/squaak/src/gen_*.pir
+# generated from svn:ignore of 'examples/mops/'
+/examples/mops/*.o
+/examples/mops/mops
+# generated from svn:ignore of 'examples/nci/'
+/examples/nci/*.pbc
+# generated from svn:ignore of 'examples/pasm/'
+/examples/pasm/hello
+/examples/pasm/hello.o
+/examples/pasm/hello.pbc
+# generated from svn:ignore of 'examples/pir/befunge/'
+/examples/pir/befunge/*.c
+/examples/pir/befunge/*.exe
+/examples/pir/befunge/*.iss
+/examples/pir/befunge/*.o
+/examples/pir/befunge/*.obj
+/examples/pir/befunge/*.pbc
+/examples/pir/befunge/MANIFEST
+/examples/pir/befunge/befunge
+/examples/pir/befunge/installable_befunge
+# generated from svn:ignore of 'ext/'
+/ext/Makefile
+# generated from svn:ignore of 'ext/Parrot-Embed/'
+/ext/Parrot-Embed/*.bs
+/ext/Parrot-Embed/*.bundle
+/ext/Parrot-Embed/*.c
+/ext/Parrot-Embed/*.def
+/ext/Parrot-Embed/*.dll
+/ext/Parrot-Embed/*.dump
+/ext/Parrot-Embed/*.dylib
+/ext/Parrot-Embed/*.exe
+/ext/Parrot-Embed/*.exp
+/ext/Parrot-Embed/*.h
+/ext/Parrot-Embed/*.ilk
+/ext/Parrot-Embed/*.lib
+/ext/Parrot-Embed/*.manifest
+/ext/Parrot-Embed/*.o
+/ext/Parrot-Embed/*.obj
+/ext/Parrot-Embed/*.old
+/ext/Parrot-Embed/*.pdb
+/ext/Parrot-Embed/*.pdb
+/ext/Parrot-Embed/*.so
+/ext/Parrot-Embed/*.tmp
+/ext/Parrot-Embed/*.xs
+/ext/Parrot-Embed/Build
+/ext/Parrot-Embed/Build.bat
+/ext/Parrot-Embed/Makefile
+/ext/Parrot-Embed/Makefile.PL
+/ext/Parrot-Embed/_build
+/ext/Parrot-Embed/blib
+/ext/Parrot-Embed/dll.base
+/ext/Parrot-Embed/pm_to_blib
+# generated from svn:ignore of 'ext/Parrot-Embed/lib/Parrot/'
+/ext/Parrot-Embed/lib/Parrot/*.c
+/ext/Parrot-Embed/lib/Parrot/*.obj
+# generated from svn:ignore of 'ext/Parrot-Embed/t/'
+/ext/Parrot-Embed/t/*.pbc
+# generated from svn:ignore of 'include/parrot/'
+/include/parrot/*.tmp
+/include/parrot/config.h
+/include/parrot/core_pmcs.h
+/include/parrot/extend_vtable.h
+/include/parrot/feature.h
+/include/parrot/has_header.h
+/include/parrot/opsenum.h
+/include/parrot/pbcversion.h
+/include/parrot/platform.h
+/include/parrot/platform_interface.h
+/include/parrot/platform_limits.h
+/include/parrot/vtable.h
+# generated from svn:ignore of 'include/parrot/oplib/'
+/include/parrot/oplib/*_ops.h
+/include/parrot/oplib/*_ops_cg*.h
+/include/parrot/oplib/*_ops_switch.h
+/include/parrot/oplib/ops.h
+# generated from svn:ignore of 'include/pmc/'
+/include/pmc/*.h
+# generated from svn:ignore of 'lib/'
+/lib/DumbLink.pm
+# generated from svn:ignore of 'lib/Parrot/'
+/lib/Parrot/*.tmp
+/lib/Parrot/Jit.pm
+/lib/Parrot/Makefile
+/lib/Parrot/OpLib
+/lib/Parrot/PMC.pm
+/lib/Parrot/PakFile2.bs
+/lib/Parrot/PakFile2.c
+/lib/Parrot/blib
+/lib/Parrot/pm_to_blib
+# generated from svn:ignore of 'lib/Parrot/Config/'
+/lib/Parrot/Config/Generated.pm
+# generated from svn:ignore of 'lib/Parrot/Pmc2c/'
+/lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
+# generated from svn:ignore of 'runtime/parrot/dynext/'
+/runtime/parrot/dynext/*.bundle
+/runtime/parrot/dynext/*.def
+/runtime/parrot/dynext/*.dll
+/runtime/parrot/dynext/*.dylib
+/runtime/parrot/dynext/*.exe
+/runtime/parrot/dynext/*.exp
+/runtime/parrot/dynext/*.ilk
+/runtime/parrot/dynext/*.lib
+/runtime/parrot/dynext/*.manifest
+/runtime/parrot/dynext/*.obj
+/runtime/parrot/dynext/*.pdb
+/runtime/parrot/dynext/*.so
+/runtime/parrot/dynext/libnci.*
+# generated from svn:ignore of 'runtime/parrot/include/'
+/runtime/parrot/include/*.fpmc
+/runtime/parrot/include/*.pasm
+/runtime/parrot/include/*.pbc
+# generated from svn:ignore of 'runtime/parrot/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
+# generated from svn:ignore of 'runtime/parrot/library/CGI/'
+/runtime/parrot/library/CGI/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Config/'
+/runtime/parrot/library/Config/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Configure/'
+/runtime/parrot/library/Configure/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Data/'
+/runtime/parrot/library/Data/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Data/Dumper/'
+/runtime/parrot/library/Data/Dumper/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Digest/'
+/runtime/parrot/library/Digest/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Getopt/'
+/runtime/parrot/library/Getopt/Obj.pbc
+# generated from svn:ignore of 'runtime/parrot/library/MIME/'
+/runtime/parrot/library/MIME/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Math/'
+/runtime/parrot/library/Math/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/NCI/'
+/runtime/parrot/library/NCI/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/OpenGL/'
+/runtime/parrot/library/OpenGL/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/PCT/'
+/runtime/parrot/library/PCT/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/PGE/'
+/runtime/parrot/library/PGE/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Parrot/'
+/runtime/parrot/library/Parrot/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/ProfTest/'
+/runtime/parrot/library/ProfTest/*.pbc
+/runtime/parrot/library/ProfTest/*.pir
+# generated from svn:ignore of 'runtime/parrot/library/Stream/'
+/runtime/parrot/library/Stream/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/String/'
+/runtime/parrot/library/String/Utils.pbc
+# generated from svn:ignore of 'runtime/parrot/library/TAP/'
+/runtime/parrot/library/TAP/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Tcl/'
+/runtime/parrot/library/Tcl/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Test/'
+/runtime/parrot/library/Test/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Test/Builder/'
+/runtime/parrot/library/Test/Builder/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/'
+/runtime/parrot/library/YAML/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/Dumper/'
+/runtime/parrot/library/YAML/Dumper/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/Parser/'
+/runtime/parrot/library/YAML/Parser/*.pbc
+# generated from svn:ignore of 'src/'
+/src/*.o
+/src/*.obj
+/src/*.str
+/src/asmfun.*
+/src/core_pmcs.c
+/src/exec_cpu.c
+/src/exec_dep.c
+/src/exec_dep.h
+/src/extend_vtable.c
+/src/extra_nci_thunks.c
+/src/fingerprint.c
+/src/glut_callbacks.c
+/src/glut_nci_thunks.c
+/src/glut_nci_thunks.nci
+/src/install_config.c
+/src/jit_cpu.c
+/src/jit_defs.c
+/src/jit_emit.h
+/src/null_config.c
+/src/parrot_config.c
+/src/parrot_config.h
+/src/platform.c
+/src/platform_asm.s
+/src/revision.c
+# generated from svn:ignore of 'src/atomic/'
+/src/atomic/*.gcda
+/src/atomic/*.o
+# generated from svn:ignore of 'src/call/'
+/src/call/*.o
+/src/call/*.obj
+/src/call/*.str
+# generated from svn:ignore of 'src/dynoplibs/'
+/src/dynoplibs/*.bundle
+/src/dynoplibs/*.c
+/src/dynoplibs/*.dll
+/src/dynoplibs/*.exp
+/src/dynoplibs/*.h
+/src/dynoplibs/*.ilk
+/src/dynoplibs/*.lib
+/src/dynoplibs/*.manifest
+/src/dynoplibs/*.o
+/src/dynoplibs/*.obj
+/src/dynoplibs/*.pdb
+/src/dynoplibs/*.so
+/src/dynoplibs/Defines.mak
+/src/dynoplibs/Rules.mak
+# generated from svn:ignore of 'src/dynpmc/'
+/src/dynpmc/*.bundle
+/src/dynpmc/*.c
+/src/dynpmc/*.def
+/src/dynpmc/*.dll
+/src/dynpmc/*.dump
+/src/dynpmc/*.dylib
+/src/dynpmc/*.exe
+/src/dynpmc/*.exp
+/src/dynpmc/*.h
+/src/dynpmc/*.ilk
+/src/dynpmc/*.lib
+/src/dynpmc/*.manifest
+/src/dynpmc/*.o
+/src/dynpmc/*.obj
+/src/dynpmc/*.pdb
+/src/dynpmc/*.so
+/src/dynpmc/Makefile
+/src/dynpmc/md2.pmc
+/src/dynpmc/md4.pmc
+/src/dynpmc/md5.pmc
+/src/dynpmc/ripemd160.pmc
+/src/dynpmc/sha.pmc
+/src/dynpmc/sha1.pmc
+/src/dynpmc/sha256.pmc
+/src/dynpmc/sha512.pmc
+# generated from svn:ignore of 'src/gc/'
+/src/gc/*.bundle
+/src/gc/*.def
+/src/gc/*.dll
+/src/gc/*.dump
+/src/gc/*.dylib
+/src/gc/*.exe
+/src/gc/*.exp
+/src/gc/*.h
+/src/gc/*.ilk
+/src/gc/*.lib
+/src/gc/*.manifest
+/src/gc/*.o
+/src/gc/*.obj
+/src/gc/*.pdb
+/src/gc/*.so
+/src/gc/Makefile
+# generated from svn:ignore of 'src/interp/'
+/src/interp/*.o
+/src/interp/*.str
+# generated from svn:ignore of 'src/io/'
+/src/io/*.o
+/src/io/*.obj
+/src/io/*.str
+# generated from svn:ignore of 'src/nci/'
+/src/nci/*.o
+/src/nci/*.obj
+/src/nci/*.str
+# generated from svn:ignore of 'src/ops/'
+/src/ops/*.c
+/src/ops/*.o
+/src/ops/*.obj
+# generated from svn:ignore of 'src/packfile/'
+/src/packfile/*.o
+/src/packfile/*.obj
+# generated from svn:ignore of 'src/pmc/'
+/src/pmc/*.c
+/src/pmc/*.dump
+/src/pmc/*.h
+/src/pmc/*.o
+/src/pmc/*.obj
+/src/pmc/*.str
+/src/pmc/*.tmp
+/src/pmc/Makefile
+# generated from svn:ignore of 'src/runcore/'
+/src/runcore/*.o
+/src/runcore/*.obj
+/src/runcore/*.str
+# generated from svn:ignore of 'src/string/'
+/src/string/*.o
+/src/string/*.obj
+/src/string/*.str
+/src/string/private_cstring.h
+# generated from svn:ignore of 'src/string/charset/'
+/src/string/charset/*.o
+/src/string/charset/*.obj
+# generated from svn:ignore of 'src/string/encoding/'
+/src/string/encoding/*.o
+/src/string/encoding/*.obj
+# generated from svn:ignore of 't/benchmark/'
+/t/benchmark/*.pasm
+/t/benchmark/*.pir
+# generated from svn:ignore of 't/compilers/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
+# generated from svn:ignore of 't/compilers/imcc/imcpasm/'
+/t/compilers/imcc/imcpasm/*.pasm
+/t/compilers/imcc/imcpasm/*.pbc
+/t/compilers/imcc/imcpasm/*.pir
+/t/compilers/imcc/imcpasm/*_pbcexe
+# generated from svn:ignore of 't/compilers/imcc/reg/'
+/t/compilers/imcc/reg/*.pasm
+/t/compilers/imcc/reg/*.pbc
+/t/compilers/imcc/reg/*.pir
+/t/compilers/imcc/reg/*_pbcexe*
+# generated from svn:ignore of 't/compilers/imcc/syn/'
+/t/compilers/imcc/syn/*.pasm
+/t/compilers/imcc/syn/*.pbc
+/t/compilers/imcc/syn/*.pir
+/t/compilers/imcc/syn/*_pbcexe*
+# generated from svn:ignore of 't/compilers/pct/'
+/t/compilers/pct/*.pbc
+/t/compilers/pct/*.pir
+# generated from svn:ignore of 't/compilers/pge/'
+/t/compilers/pge/*.pasm
+/t/compilers/pge/*.pbc
+/t/compilers/pge/*.pir
+/t/compilers/pge/*_pbcexe
+# generated from svn:ignore of 't/compilers/pge/p5regex/'
+/t/compilers/pge/p5regex/*.pir
+# generated from svn:ignore of 't/compilers/pge/perl6regex/'
+/t/compilers/pge/perl6regex/*.pbc
+/t/compilers/pge/perl6regex/*.pir
+# generated from svn:ignore of 't/compilers/tge/'
+/t/compilers/tge/*.pbc
+/t/compilers/tge/*.pir
+/t/compilers/tge/*_pbcexe
+# generated from svn:ignore of 't/dynoplibs/'
+/t/dynoplibs/*.pasm
+/t/dynoplibs/*.pbc
+/t/dynoplibs/*.pir
+# generated from svn:ignore of 't/dynpmc/'
+/t/dynpmc/*.pasm
+/t/dynpmc/*.pbc
+/t/dynpmc/*.pir
+/t/dynpmc/*_pbcexe*
+/t/dynpmc/md2.t
+/t/dynpmc/md4.t
+/t/dynpmc/md5.t
+/t/dynpmc/ripemd160.t
+/t/dynpmc/sha.t
+/t/dynpmc/sha1.t
+/t/dynpmc/sha256.t
+/t/dynpmc/sha512.t
+# generated from svn:ignore of 't/examples/'
+/t/examples/*.pasm
+/t/examples/*.pbc
+/t/examples/*.pir
+/t/examples/*_pbcexe*
+# generated from svn:ignore of 't/library/'
+/t/library/*.out
+/t/library/*.pasm
+/t/library/*.pbc
+/t/library/*.pir
+/t/library/*_pbcexe*
+# generated from svn:ignore of 't/native_pbc/'
+/t/native_pbc/*_pbcexe*
+# generated from svn:ignore of 't/oo/'
+/t/oo/*.pbc
+/t/oo/*.pir
+# generated from svn:ignore of 't/op/'
+/t/op/*.out
+/t/op/*.pasm
+/t/op/*.pbc
+/t/op/*.pir
+/t/op/*_pbcexe*
+# generated from svn:ignore of 't/perl/'
+/t/perl/Parrot_Test_1.pasm
+/t/perl/Parrot_Test_1.pir
+# generated from svn:ignore of 't/pmc/'
+/t/pmc/*.out
+/t/pmc/*.pasm
+/t/pmc/*.pbc
+/t/pmc/*.pir
+/t/pmc/*_pbcexe*
+# generated from svn:ignore of 't/src/'
+/t/src/*_*
+# generated from svn:ignore of 't/stress/'
+/t/stress/*.out
+/t/stress/*.pasm
+/t/stress/*.pbc
+/t/stress/*.pir
+/t/stress/*_pbcexe*
+# generated from svn:ignore of 't/tools/'
+/t/tools/*.pbc
+/t/tools/*.pir
+/t/tools/pdb.t.*
+/t/tools/pmc2c.*.c
+/t/tools/pmc2c.*.dump
+/t/tools/pmc2c.*.h
+/t/tools/pmc2c.*.pmc
+# Local variables:
+# mode: text
+# buffer-read-only: t
+# End:
Modified: branches/ops_pct/CREDITS
==============================================================================
--- branches/ops_pct/CREDITS Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/CREDITS Wed May 5 08:45:29 2010 (r46302)
@@ -402,7 +402,7 @@
N: Gerd Pokorra
E: pokorra at uni-siegen.de
-D: Release manager for 1.9.0
+D: Release manager for 1.9.0 and 2.3.0
N: Goplat
D: Win98 and other fixes.
@@ -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
@@ -573,7 +574,8 @@
D: Getopt/Obj.pir
N: Julian Albo
-U: julianalbo
+U: NotFound
+A: julianalbo
E: julian.notfound at gmail.com
N: Julian Fondren
@@ -767,10 +769,6 @@
N: Nigelsandever
D: Win32 patches
-N: Notfound
-D: Bugfixing and cage cleaning.
-E: julian.notfound at gmail.com
-
N: Nuno 'smash' Carvalho
U: smash
D: PGE/perl6/abc debugging and testing
@@ -922,6 +920,11 @@
N: Stefan Lidman
D: sqrt ops
+N: Stefan O'Rear
+E: stefanor at cox.net
+D: Perl 5 interoperability, Blizkost
+U: sorear
+
N: Stéphane Payrard
D: Various code fixes and improvements
Modified: branches/ops_pct/ChangeLog
==============================================================================
--- branches/ops_pct/ChangeLog Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ChangeLog Wed May 5 08:45:29 2010 (r46302)
@@ -1,5 +1,13 @@
#1 $Id$
+2010.04.20 Gerd
+ * Released 2.3.0
+ See NEWS for more.
+
+2010.03.16 cotto
+ * Released 2.2.0
+ See NEWS for more.
+
2010.02.16 darbelo
* Released 2.1.0
See NEWS for more.
Modified: branches/ops_pct/Configure.pl
==============================================================================
--- branches/ops_pct/Configure.pl Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/Configure.pl Wed May 5 08:45:29 2010 (r46302)
@@ -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
@@ -632,10 +627,8 @@
auto::env
auto::gmp
auto::readline
- auto::gdbm
auto::pcre
auto::opengl
- auto::crypto
auto::gettext
auto::snprintf
# auto::perldoc
@@ -644,7 +637,6 @@
auto::icu
gen::config_h
gen::core_pmcs
- gen::crypto
gen::opengl
gen::makefiles
gen::platform
Modified: branches/ops_pct/DEPRECATED.pod
==============================================================================
--- branches/ops_pct/DEPRECATED.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/DEPRECATED.pod Wed May 5 08:45:29 2010 (r46302)
@@ -7,8 +7,8 @@
=head1 Experimental Status
-These features are not considered stable, even though they may
-have shipped in a stable release of parrot[2]. Use them at your own
+These features are not considered supported, even though they may
+have shipped in a supported release of parrot[2]. Use them at your own
risk, as they can be removed or changed in any release. These
items are marked below with C<[experimental]>.
@@ -22,27 +22,34 @@
shipped, this feature may be removed in B<any> upcoming release, and
you should no longer rely on it.
-Whenever deprecated items are removed, information
-regarding how to cope with the removal should be added to
-L<https://trac.parrot.org/parrot/wiki/Deprecation>.
+If you find a feature you once used was removed after a deprecation
+cycle, L<https://trac.parrot.org/parrot/wiki/Deprecation>. Otherwise
+please open a documentation ticket via Trac[1].
-When running parrot, you can receive warnings about deprecated opcodes.
+=head1 Are you using any Deprecated Features?
+
+When running parrot, you can receive warnings about deprecations.
Either run parrot with the C<-w> option to enable all warnings, or
-specifically by including this C<PIR> code:
+deprecations specifically by including this snippet:
+
+=begin PIR_FRAGMENT
.include 'warnings.pasm'
warningson .PARROT_WARNINGS_DEPRECATED_FLAG
+=end PIR_FRAGMENT
+
=head1 PMCS
=over 4
-=item moved to dynpmc [eligible in 1.1]
+=item GzipHandle [experimental]
-AddrRegistry, CodeString, Env, Eval, File, OS, PCCMETHOD_Test, StringHandle,
-and Timer.
+L<https://trac.parrot.org/parrot/ticket/1580>
-L<https://trac.parrot.org/parrot/ticket/448>
+=item PackfileDebug [experimental]
+
+L<https://trac.parrot.org/parrot/ticket/1599>
=item multiple dispatch within core PMCs [eligible in 1.1]
@@ -60,27 +67,62 @@
L<https://trac.parrot.org/parrot/ticket/103>
-=item CPointer PMC [eligible in 2.1]
+=item NCI without signature ("raw" pointers) [eligible in 2.4]
+
+No equivalent functionality is promised. You shouldn't be using this. Here be
+segfaults.
+
+L<https://trac.parrot.org/parrot/ticket/1549>
+
+=item UnManagedStruct handling nested structure [eligible in 2.4]
+
+UnManagedStruct will be simplified to only support flat structures. This means
+that elements which themselves have structure - struct pointers and function
+pointers will be stored as C<void *> and C<void (*)(void)> respectively. To use
+these, they will need to be cast to the appropriate signature on access.
+
+L<https://trac.parrot.org/parrot/ticket/1551>
+
+=item UnManagedStruct initializer structure [eligible in 2.4]
+
+The initializer structure will cease to be an array of triples. In stead, an
+array of flags (no counts or offsets), or a string representation of the same
+information may be used.
+
+L<https://trac.parrot.org/parrot/ticket/1552>
+
+=item UnManagedStruct get_integer, set_integer_native [eligible in 2.4]
+
+These will no longer refer to the byte length of the buffer, but to the number
+of times the struct is repeated; emulating an array of structs.
+
+L<https://trac.parrot.org/parrot/ticket/1553>
+
+=item ManagedStruct reallocations based on shape changes [eligible in 2.4]
+
+Since shape changes may simply be used for re-interpreting data, and may also
+occur in several steps, re-allocating after any one shape change may be
+undesirable. In stead, an explicit allocate/reallocate method will be provided.
-And all uses in the Parrot calling conventions.
+L<https://trac.parrot.org/parrot/ticket/1554>
-L<https://trac.parrot.org/parrot/ticket/1407>
+=item Auto-vivification of nested aggregates [eligible in 2.4]
-=item Digest dynpmcs [eligible in 2.4]
+E.g.
-The digest dynpmcs are, since the posting of this notice, available on
-http://gitorious.org/digest-dynpmcs and will no longer be distributed
-with parrot after 2.3.
+ $P0 = new ['Hash']
+ $S1 = $P0['foo';'bar';'baz']
-L<https://trac.parrot.org/parrot/ticket/1467>
+will not auto-vivify nested hashes and return PMCNULL early.
-=item gdbmhash dynpmc [eligible in 2.4]
+L<https://trac.parrot.org/parrot/ticket/1561>
-The gdbmhash dynpmc is, since the posting of this notice, available on
-http://gitorious.org/dbm-dynpmcs and will no longer be distributed
-with parrot after 2.3.
+=item Method lower on String [eligible in 3.1]
-L<https://trac.parrot.org/parrot/ticket/1469>
+Use the downcase opcode or subclass with a method name consistent with your
+HLL.
+
+L<http://trac.parrot.org/parrot/ticket/1606>
=back
@@ -122,10 +164,6 @@
=item get_results opcode order and features [eligible in 2.1]
-Move get_results to follow invoke.
-
-L<https://trac.parrot.org/parrot/ticket/1405>
-
get_results no longer used to fetch exception object.
L<https://trac.parrot.org/parrot/ticket/1406>
@@ -135,6 +173,45 @@
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 new_callback_p_p_p_s [eligible in 2.4]
+
+To be replaced with new_callback_p_p_p_p_s.
+
+L<https://trac.parrot.org/parrot/ticket/1548>
+
+=item dlfunc and new_callback signature string format [eligible in 2.4]
+
+These will be changed to allow more flexibility in types.
+
+L<https://trac.parrot.org/parrot/ticket/1565>
+
+=item find_lex [eligible in 2.4]
+
+find_lex will not throw exception for non-existing lexicals.
+
+L<https://trac.parrot.org/parrot/ticket/1207>
+
+=item inplace string updates. [eligible in 2.4]
+
+All "inplace" string update ops are deprecated. E.g. "chopn_s", etc.
+Part of COW removal.
+
+L<https://trac.parrot.org/parrot/ticket/1540>
+
=back
=head1 Bytecode
@@ -185,14 +262,6 @@
L<https://trac.parrot.org/parrot/ticket/907>
-=item Subs marked with C<:vtable>/C<:method> aren't in namespace [eligible in 1.1]
-
-Subs marked with C<:vtable> or C<:method> flags are no longer given a
-namespace entry by default. Use the C<:nsentry> flag to cause this
-to happen.
-
-L<https://trac.parrot.org/parrot/ticket/389>
-
=item C API coding standards cleanup [eligible in 1.1]
All C API functions that aren't currently named according to the
@@ -207,24 +276,43 @@
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.
-=item STRING_is_null function [eligible in 2.4]
+L<https://trac.parrot.org/parrot/ticket/1584>
+
+=item STRING COW [eligible in 2.4]
-renamed to Parrot_str_is_null
+COW strings are to be removed. All "inplace" string modification
+functions and all "inplace" string ops are deprecated.
-=item Parrot_string_* [eligible in 2.4]
+L<https://trac.parrot.org/parrot/ticket/1540>
-rename Parrot_string_cstring to Parrot_str_cstring
+=item Parrot_PMC_* in src/extend.c [eligible in 2.4]
-=item STRING functions which don't have Parrot_str_ prefix
+These are duplicates of functions in src/extend_vtable.c. Exceptions:
-The string subsytem is gradually getting an overhaul.
+ Parrot_PMC_new
+ Parrot_PMC_typenum
+ Parrot_PMC_null
+ 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
+of parrot core.
+
+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
@@ -278,23 +366,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
@@ -306,7 +377,11 @@
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 Archive::Tar [experimental]
+
+L<https://trac.parrot.org/parrot/ticket/1598>
+
+=item JSON and Config;JSON [eligible in 1.5]
L<https://trac.parrot.org/parrot/ticket/508>
@@ -320,6 +395,16 @@
=back
+=head1 Experimental
+
+=over 4
+
+=item Threads and Parallelism [experimental]
+
+L<https://trac.parrot.org/parrot/ticket/1601>
+
+=back
+
=head1 Footnotes
=over 4
@@ -331,7 +416,7 @@
=item 2
For an item to be considered experimental, it can B<never> have shipped in
-a stable release without the C<[experimental]> tag; otherwise, it must be
+a supported release without the C<[experimental]> tag; otherwise, it must be
deprecated normally before removal or incompatible change.
=back
Modified: branches/ops_pct/MANIFEST
==============================================================================
--- branches/ops_pct/MANIFEST Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/MANIFEST Wed May 5 08:45:29 2010 (r46302)
@@ -1,12 +1,14 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Sun Mar 14 21:20:56 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue May 4 01:57:56 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
ChangeLog []
Configure.pl []
@@ -17,8 +19,6 @@
MANIFEST []
MANIFEST.SKIP []
MANIFEST.generated []
-META.yml []
-Makefile.PL []
NEWS [main]doc
PBC_COMPAT [main]doc
PLATFORMS [devel]doc
@@ -62,98 +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/opsc/Defines.mak [opsc]
-compilers/opsc/Rules.mak [opsc]
-compilers/opsc/TODO [opsc]
-compilers/opsc/gen/Ops/Compiler/IGNOREME [opsc]
-compilers/opsc/gen/Ops/Trans/IGNOREME [opsc]
-compilers/opsc/ops2c.nqp [opsc]
-compilers/opsc/opsc.pir [opsc]
-compilers/opsc/src/Ops/Compiler.pm [opsc]
-compilers/opsc/src/Ops/Compiler/Actions.pm [opsc]
-compilers/opsc/src/Ops/Compiler/Grammar.pm [opsc]
-compilers/opsc/src/Ops/Emitter.pm [opsc]
-compilers/opsc/src/Ops/File.pm [opsc]
-compilers/opsc/src/Ops/Op.pm [opsc]
-compilers/opsc/src/Ops/OpLib.pm [opsc]
-compilers/opsc/src/Ops/Trans.pm [opsc]
-compilers/opsc/src/Ops/Trans/C.pm [opsc]
-compilers/opsc/src/builtins.pir [opsc]
-compilers/opsc/t/01-parse.t [test]
-compilers/opsc/t/02-parse-all-ops.t [test]
-compilers/opsc/t/03-past.t [test]
-compilers/opsc/t/04-op.t [test]
-compilers/opsc/t/05-oplib.t [test]
-compilers/opsc/t/06-opsfile.t [test]
-compilers/opsc/t/07-emitter.t [test]
-compilers/opsc/t/common.pir [test]
-compilers/opsc/t/harness [test]
compilers/pct/Defines.mak [pct]
compilers/pct/PCT.pir [pct]
compilers/pct/README.pod []doc
@@ -251,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 []
@@ -261,8 +167,6 @@
config/auto/cpu/sun4/auto.pm []
config/auto/cpu/sun4/test_atomic_c.in []
config/auto/cpu/x86_64/auto.pm []
-config/auto/crypto.pm []
-config/auto/crypto/crypto_c.in []
config/auto/ctags.pm []
config/auto/env.pm []
config/auto/env/test_setenv_c.in []
@@ -276,8 +180,6 @@
config/auto/gc/test_c.in []
config/auto/gcc.pm []
config/auto/gcc/test_c.in []
-config/auto/gdbm.pm []
-config/auto/gdbm/gdbm_c.in []
config/auto/gettext.pm []
config/auto/gettext/gettext_c.in []
config/auto/glibc.pm []
@@ -329,22 +231,20 @@
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 []
config/gen/config_h/has_header_h.in []
config/gen/config_pm.pm []
config/gen/config_pm/Config_pm.in []
-config/gen/config_pm/config_lib_pasm.in []
+config/gen/config_pm/config_lib_pir.in []
config/gen/config_pm/config_pir.in []
config/gen/config_pm/myconfig.in []
config/gen/core_pmcs.pm []
-config/gen/crypto.pm []
-config/gen/crypto/digest_pmc.in []
-config/gen/crypto/digest_t.in []
config/gen/makefiles.pm []
config/gen/makefiles/docs.in []
-config/gen/makefiles/dynpmc.in []
config/gen/makefiles/editor.in []
config/gen/makefiles/ext.in []
config/gen/makefiles/parrot_embed_pl.in []
@@ -386,7 +286,6 @@
config/gen/platform/openbsd/math.c []
config/gen/platform/openbsd/memexec.c []
config/gen/platform/openbsd/misc.h []
-config/gen/platform/platform_interface.h []
config/gen/platform/solaris/math.c []
config/gen/platform/solaris/time.c []
config/gen/platform/win32/begin.c []
@@ -664,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]
@@ -952,22 +852,12 @@
ext/Parrot-Embed/tools/check_embed_coverage.pl []
ext/Parrot-Embed/tools/write_typemap.pl []
ext/Parrot-Embed/typemap []
-ext/SQLite3/DBDI.pm []
-ext/SQLite3/DBDI/Driver/SQLite3.pm []
-ext/SQLite3/Makefile.PL []
-ext/SQLite3/Makefile.in []
-ext/SQLite3/SQLite3.pir []
-ext/SQLite3/gen_sqlite3.pl []
-ext/SQLite3/t/test.p6 [test]
-ext/SQLite3/test.pir []
-ext/nqp-rx/.gitignore []
ext/nqp-rx/CREDITS []
ext/nqp-rx/Defines.mak []
ext/nqp-rx/LICENSE []
ext/nqp-rx/README []doc
ext/nqp-rx/Rules.mak []
ext/nqp-rx/STATUS []
-ext/nqp-rx/src/gen/settings.pm []
ext/nqp-rx/src/stage0/HLL-s0.pir []
ext/nqp-rx/src/stage0/NQP-s0.pir []
ext/nqp-rx/src/stage0/P6Regex-s0.pir []
@@ -1069,9 +959,9 @@
include/parrot/oo_private.h [main]include
include/parrot/op.h [main]include
include/parrot/oplib.h [main]include
-include/parrot/oplib/core_ops.h [main]include
include/parrot/packfile.h [main]include
include/parrot/parrot.h [main]include
+include/parrot/platform_interface.h [main]include
include/parrot/pmc.h [main]include
include/parrot/pmc_freeze.h [main]include
include/parrot/pobj.h [main]include
@@ -1152,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
@@ -1238,6 +1124,7 @@
runtime/parrot/include/hllmacros.pir [library]
runtime/parrot/include/test_more.pir [library]
runtime/parrot/languages/parrot/parrot.pir [library]
+runtime/parrot/library/Archive/Tar.pir [library]
runtime/parrot/library/CGI/QueryHash.pir [library]
runtime/parrot/library/Config/JSON.pir [library]
runtime/parrot/library/Configure/genfile.pir [library]
@@ -1267,6 +1154,10 @@
runtime/parrot/library/Parrot/Coroutine.pir [library]
runtime/parrot/library/Parrot/Exception.pir [library]
runtime/parrot/library/Pg.pir [library]
+runtime/parrot/library/ProfTest/Matcher.nqp [library]
+runtime/parrot/library/ProfTest/NQPProfile.nqp [library]
+runtime/parrot/library/ProfTest/PIRProfile.nqp [library]
+runtime/parrot/library/ProfTest/Want.nqp [library]
runtime/parrot/library/Protoobject.pir [library]
runtime/parrot/library/Range.pir [library]
runtime/parrot/library/Rules.mak [library]
@@ -1285,7 +1176,6 @@
runtime/parrot/library/SDL/Sprite.pir [library]
runtime/parrot/library/SDL/StopWatch.pir [library]
runtime/parrot/library/SDL/Surface.pir [library]
-runtime/parrot/library/SQLite3.pir [library]
runtime/parrot/library/Stream/Base.pir [library]
runtime/parrot/library/Stream/Combiner.pir [library]
runtime/parrot/library/Stream/Coroutine.pir [library]
@@ -1296,6 +1186,9 @@
runtime/parrot/library/Stream/Sub.pir [library]
runtime/parrot/library/Stream/Writer.pir [library]
runtime/parrot/library/String/Utils.pir [library]
+runtime/parrot/library/TAP/Formatter.pir [library]
+runtime/parrot/library/TAP/Harness.pir [library]
+runtime/parrot/library/TAP/Parser.pir [library]
runtime/parrot/library/Tcl/Glob.pir [library]
runtime/parrot/library/TclLibrary.pir [library]
runtime/parrot/library/Test/Builder.pir [library]
@@ -1314,6 +1207,7 @@
runtime/parrot/library/ncurses.declarations [library]
runtime/parrot/library/ncurses.pasm [library]
runtime/parrot/library/ncurses.pir [library]
+runtime/parrot/library/osutils.pir [library]
runtime/parrot/library/parrotlib.pir [library]
runtime/parrot/library/pcore.pir [library]
runtime/parrot/library/pcre.pir [library]
@@ -1339,17 +1233,21 @@
src/dynoplibs/Rules.in []
src/dynoplibs/math.ops []
src/dynoplibs/obscure.ops []
+src/dynpmc/Defines.in []
src/dynpmc/README.pod []doc
-src/dynpmc/dynlexpad.pmc [devel]src
+src/dynpmc/Rules.in []
+src/dynpmc/dynlexpad.pmc []
src/dynpmc/ext.pir []
-src/dynpmc/foo.pmc [devel]src
-src/dynpmc/foo2.pmc [devel]src
-src/dynpmc/gdbmhash.pmc [devel]src
+src/dynpmc/file.pmc []
+src/dynpmc/foo.pmc []
+src/dynpmc/foo2.pmc []
+src/dynpmc/gziphandle.pmc []
src/dynpmc/main.pasm []
-src/dynpmc/pccmethod_test.pmc [devel]src
-src/dynpmc/rational.pmc [devel]src
-src/dynpmc/rotest.pmc [devel]src
-src/dynpmc/subproxy.pmc [devel]src
+src/dynpmc/os.pmc []
+src/dynpmc/pccmethod_test.pmc []
+src/dynpmc/rational.pmc []
+src/dynpmc/rotest.pmc []
+src/dynpmc/subproxy.pmc []
src/embed.c []
src/exceptions.c []
src/exit.c []
@@ -1402,7 +1300,6 @@
src/ops/bit.ops []
src/ops/cmp.ops []
src/ops/core.ops []
-src/ops/core_ops.c []
src/ops/debug.ops []
src/ops/experimental.ops []
src/ops/io.ops []
@@ -1424,92 +1321,90 @@
src/pbc_dump.c []
src/pbc_merge.c []
src/pmc.c []
-src/pmc/addrregistry.pmc [devel]src
-src/pmc/arrayiterator.pmc [devel]src
-src/pmc/bigint.pmc [devel]src
-src/pmc/bignum.pmc [devel]src
-src/pmc/boolean.pmc [devel]src
-src/pmc/callcontext.pmc [devel]src
-src/pmc/capture.pmc [devel]src
-src/pmc/class.pmc [devel]src
-src/pmc/codestring.pmc [devel]src
-src/pmc/complex.pmc [devel]src
-src/pmc/continuation.pmc [devel]src
-src/pmc/coroutine.pmc [devel]src
-src/pmc/cpointer.pmc [devel]src
-src/pmc/default.pmc [devel]src
-src/pmc/env.pmc [devel]src
-src/pmc/eval.pmc [devel]src
-src/pmc/eventhandler.pmc [devel]src
-src/pmc/exception.pmc [devel]src
-src/pmc/exceptionhandler.pmc [devel]src
-src/pmc/exporter.pmc [devel]src
-src/pmc/file.pmc [devel]src
-src/pmc/filehandle.pmc [devel]src
-src/pmc/fixedbooleanarray.pmc [devel]src
-src/pmc/fixedfloatarray.pmc [devel]src
-src/pmc/fixedintegerarray.pmc [devel]src
-src/pmc/fixedpmcarray.pmc [devel]src
-src/pmc/fixedstringarray.pmc [devel]src
-src/pmc/float.pmc [devel]src
-src/pmc/handle.pmc [devel]src
-src/pmc/hash.pmc [devel]src
-src/pmc/hashiterator.pmc [devel]src
-src/pmc/hashiteratorkey.pmc [devel]src
-src/pmc/imageio.pmc [devel]src
-src/pmc/imageiosize.pmc [devel]src
-src/pmc/integer.pmc [devel]src
-src/pmc/iterator.pmc [devel]src
-src/pmc/key.pmc [devel]src
-src/pmc/lexinfo.pmc [devel]src
-src/pmc/lexpad.pmc [devel]src
-src/pmc/managedstruct.pmc [devel]src
-src/pmc/multisub.pmc [devel]src
-src/pmc/namespace.pmc [devel]src
-src/pmc/nci.pmc [devel]src
-src/pmc/null.pmc [devel]src
-src/pmc/object.pmc [devel]src
-src/pmc/opcode.pmc [devel]src
-src/pmc/oplib.pmc [devel]src
-src/pmc/orderedhash.pmc [devel]src
-src/pmc/orderedhashiterator.pmc [devel]src
-src/pmc/os.pmc [devel]src
-src/pmc/packfile.pmc [devel]src
-src/pmc/packfileannotation.pmc [devel]src
-src/pmc/packfileannotations.pmc [devel]src
-src/pmc/packfileconstanttable.pmc [devel]src
-src/pmc/packfiledirectory.pmc [devel]src
-src/pmc/packfilefixupentry.pmc [devel]src
-src/pmc/packfilefixuptable.pmc [devel]src
-src/pmc/packfilerawsegment.pmc [devel]src
-src/pmc/packfilesegment.pmc [devel]src
-src/pmc/parrotinterpreter.pmc [devel]src
-src/pmc/parrotlibrary.pmc [devel]src
-src/pmc/parrotrunningthread.pmc [devel]src
-src/pmc/parrotthread.pmc [devel]src
+src/pmc/addrregistry.pmc []
+src/pmc/arrayiterator.pmc []
+src/pmc/bigint.pmc []
+src/pmc/bignum.pmc []
+src/pmc/boolean.pmc []
+src/pmc/callcontext.pmc []
+src/pmc/capture.pmc []
+src/pmc/class.pmc []
+src/pmc/codestring.pmc []
+src/pmc/complex.pmc []
+src/pmc/continuation.pmc []
+src/pmc/coroutine.pmc []
+src/pmc/default.pmc []
+src/pmc/env.pmc []
+src/pmc/eval.pmc []
+src/pmc/eventhandler.pmc []
+src/pmc/exception.pmc []
+src/pmc/exceptionhandler.pmc []
+src/pmc/exporter.pmc []
+src/pmc/filehandle.pmc []
+src/pmc/fixedbooleanarray.pmc []
+src/pmc/fixedfloatarray.pmc []
+src/pmc/fixedintegerarray.pmc []
+src/pmc/fixedpmcarray.pmc []
+src/pmc/fixedstringarray.pmc []
+src/pmc/float.pmc []
+src/pmc/handle.pmc []
+src/pmc/hash.pmc []
+src/pmc/hashiterator.pmc []
+src/pmc/hashiteratorkey.pmc []
+src/pmc/imageio.pmc []
+src/pmc/imageiosize.pmc []
+src/pmc/imageiostrings.pmc []
+src/pmc/integer.pmc []
+src/pmc/iterator.pmc []
+src/pmc/key.pmc []
+src/pmc/lexinfo.pmc []
+src/pmc/lexpad.pmc []
+src/pmc/managedstruct.pmc []
+src/pmc/multisub.pmc []
+src/pmc/namespace.pmc []
+src/pmc/nci.pmc []
+src/pmc/null.pmc []
+src/pmc/object.pmc []
+src/pmc/opcode.pmc []
+src/pmc/oplib.pmc []
+src/pmc/orderedhash.pmc []
+src/pmc/orderedhashiterator.pmc []
+src/pmc/packfile.pmc []
+src/pmc/packfileannotation.pmc []
+src/pmc/packfileannotations.pmc []
+src/pmc/packfileconstanttable.pmc []
+src/pmc/packfiledebug.pmc []
+src/pmc/packfiledirectory.pmc []
+src/pmc/packfilefixupentry.pmc []
+src/pmc/packfilefixuptable.pmc []
+src/pmc/packfilerawsegment.pmc []
+src/pmc/packfilesegment.pmc []
+src/pmc/parrotinterpreter.pmc []
+src/pmc/parrotlibrary.pmc []
+src/pmc/parrotthread.pmc []
src/pmc/pmc.num []
-src/pmc/pmcproxy.pmc [devel]src
-src/pmc/pointer.pmc [devel]src
-src/pmc/resizablebooleanarray.pmc [devel]src
-src/pmc/resizablefloatarray.pmc [devel]src
-src/pmc/resizableintegerarray.pmc [devel]src
-src/pmc/resizablepmcarray.pmc [devel]src
-src/pmc/resizablestringarray.pmc [devel]src
-src/pmc/retcontinuation.pmc [devel]src
-src/pmc/role.pmc [devel]src
-src/pmc/scalar.pmc [devel]src
-src/pmc/scheduler.pmc [devel]src
-src/pmc/schedulermessage.pmc [devel]src
-src/pmc/sockaddr.pmc [devel]src
-src/pmc/socket.pmc [devel]src
-src/pmc/string.pmc [devel]src
-src/pmc/stringhandle.pmc [devel]src
-src/pmc/stringiterator.pmc [devel]src
-src/pmc/sub.pmc [devel]src
-src/pmc/task.pmc [devel]src
-src/pmc/timer.pmc [devel]src
-src/pmc/undef.pmc [devel]src
-src/pmc/unmanagedstruct.pmc [devel]src
+src/pmc/pmcproxy.pmc []
+src/pmc/pointer.pmc []
+src/pmc/resizablebooleanarray.pmc []
+src/pmc/resizablefloatarray.pmc []
+src/pmc/resizableintegerarray.pmc []
+src/pmc/resizablepmcarray.pmc []
+src/pmc/resizablestringarray.pmc []
+src/pmc/role.pmc []
+src/pmc/scalar.pmc []
+src/pmc/scheduler.pmc []
+src/pmc/schedulermessage.pmc []
+src/pmc/sockaddr.pmc []
+src/pmc/socket.pmc []
+src/pmc/string.pmc []
+src/pmc/stringhandle.pmc []
+src/pmc/stringiterator.pmc []
+src/pmc/sub.pmc []
+src/pmc/task.pmc []
+src/pmc/threadinterpreter.pmc []
+src/pmc/timer.pmc []
+src/pmc/undef.pmc []
+src/pmc/unmanagedstruct.pmc []
src/pmc_freeze.c []
src/runcore/cores.c []
src/runcore/main.c []
@@ -1582,6 +1477,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]
@@ -1611,8 +1508,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]
@@ -1718,13 +1613,14 @@
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/file.t [test]
t/dynpmc/foo.t [test]
t/dynpmc/foo2.t [test]
-t/dynpmc/gdbmhash.t [test]
+t/dynpmc/gziphandle.t [test]
+t/dynpmc/os.t [test]
t/dynpmc/pccmethod_test.t [test]
t/dynpmc/rational.t [test]
t/dynpmc/rotest.t [test]
@@ -1743,7 +1639,9 @@
t/examples/subs.t [test]
t/examples/tutorial.t [test]
t/harness [test]
+t/harness.pir [test]
t/include/fp_equality.t [test]
+t/library/archive_tar.t [test]
t/library/cgi_query_hash.t [test]
t/library/configure.t [test]
t/library/coroutine.t [test]
@@ -1753,6 +1651,7 @@
t/library/iter.t [test]
t/library/md5.t [test]
t/library/mime_base64.t [test]
+t/library/osutils.t [test]
t/library/p6object.t [test]
t/library/parrotlib.t [test]
t/library/pcre.t [test]
@@ -1763,6 +1662,7 @@
t/library/range.t [test]
t/library/streams.t [test]
t/library/string_utils.t [test]
+t/library/tap_parser.t [test]
t/library/tcl_glob.t [test]
t/library/tcl_lib.t [test]
t/library/test_builder_tester.t [test]
@@ -1857,7 +1757,6 @@
t/op/literal.t [test]
t/op/load_bytecode.t [test]
t/op/number.t [test]
-t/op/pushaction.t [test]
t/op/say.t [test]
t/op/spawnw.t [test]
t/op/sprintf.t [test]
@@ -1903,7 +1802,6 @@
t/pmc/context.t [test]
t/pmc/continuation.t [test]
t/pmc/coroutine.t [test]
-t/pmc/cpointer.t [test]
t/pmc/default.t [test]
t/pmc/env.t [test]
t/pmc/eval.t [test]
@@ -1912,7 +1810,6 @@
t/pmc/exception.t [test]
t/pmc/exceptionhandler.t [test]
t/pmc/exporter.t [test]
-t/pmc/file.t [test]
t/pmc/filehandle.t [test]
t/pmc/fixedbooleanarray.t [test]
t/pmc/fixedfloatarray.t [test]
@@ -1928,6 +1825,7 @@
t/pmc/hashiteratorkey.t [test]
t/pmc/imageio.t [test]
t/pmc/imageiosize.t [test]
+t/pmc/imageiostrings.t [test]
t/pmc/integer.t [test]
t/pmc/io.t [test]
t/pmc/io_iterator.t [test]
@@ -1940,6 +1838,7 @@
t/pmc/multidispatch.t [test]
t/pmc/multisub.t [test]
t/pmc/namespace-old.t [test]
+t/pmc/namespace-subs.t [test]
t/pmc/namespace.t [test]
t/pmc/nci.t [test]
t/pmc/null.t [test]
@@ -1951,7 +1850,6 @@
t/pmc/oplib.t [test]
t/pmc/orderedhash.t [test]
t/pmc/orderedhashiterator.t [test]
-t/pmc/os.t [test]
t/pmc/packfile.t [test]
t/pmc/packfileannotation.t [test]
t/pmc/packfileannotations.t [test]
@@ -1966,7 +1864,6 @@
t/pmc/parrotio.t [test]
t/pmc/parrotlibrary.t [test]
t/pmc/parrotobject.t [test]
-t/pmc/parrotrunningthread.t [test]
t/pmc/parrotthread.t [test]
t/pmc/pmc.t [test]
t/pmc/pmcproxy.t [test]
@@ -1977,7 +1874,6 @@
t/pmc/resizableintegerarray.t [test]
t/pmc/resizablepmcarray.t [test]
t/pmc/resizablestringarray.t [test]
-t/pmc/retcontinuation.t [test]
t/pmc/ro.t [test]
t/pmc/role.t [test]
t/pmc/scalar.t [test]
@@ -2001,6 +1897,7 @@
t/postconfigure/02-data_get_PConfig.t [test]
t/postconfigure/05-trace.t [test]
t/postconfigure/06-data_get_PConfig_Temp.t [test]
+t/profiling/profiling.t [test]
t/run/README []doc
t/run/exit.t [test]
t/run/options.t [test]
@@ -2015,16 +1912,13 @@
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/crypto-01.t [test]
t/steps/auto/ctags-01.t [test]
t/steps/auto/env-01.t [test]
t/steps/auto/format-01.t [test]
t/steps/auto/frames-01.t [test]
t/steps/auto/gc-01.t [test]
t/steps/auto/gcc-01.t [test]
-t/steps/auto/gdbm-01.t [test]
t/steps/auto/gettext-01.t [test]
t/steps/auto/glibc-01.t [test]
t/steps/auto/gmp-01.t [test]
@@ -2052,6 +1946,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]
@@ -2178,6 +2073,7 @@
tools/dev/checkdepend.pl []
tools/dev/create_language.pl [devel]
tools/dev/debian_docs.sh []
+tools/dev/faces.pl []
tools/dev/fetch_languages.pl []
tools/dev/gen_charset_tables.pl []
tools/dev/gen_class.pl []
@@ -2219,10 +2115,12 @@
tools/dev/search-ops.pl []
tools/dev/svnclobber.pl []
tools/dev/symlink.pl []
+tools/dev/tapir.pir []
tools/dev/vgp []
tools/dev/vgp_darwin []
tools/dev/vms-patch []
tools/dev/vtablize.pl []
+tools/docs/filename_and_chapter.pl []
tools/docs/mk_chm.pl []
tools/docs/ops_summary.pl []
tools/docs/write_docs.pl []
Modified: branches/ops_pct/MANIFEST.SKIP
==============================================================================
--- branches/ops_pct/MANIFEST.SKIP Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/MANIFEST.SKIP Wed May 5 08:45:29 2010 (r46302)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Mon Mar 8 22:07:22 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue May 4 14:32:03 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -65,8 +65,8 @@
^all_cstring\.str/
^blib$
^blib/
-^config_lib\.pasm$
-^config_lib\.pasm/
+^config_lib\.pir$
+^config_lib\.pir/
^cover_db$
^cover_db/
^install_config\.fpmc$
@@ -131,6 +131,10 @@
^pirc/
^tags$
^tags/
+^tapir$
+^tapir/
+^tapir\..*$
+^tapir\..*/
^temp\.file$
^temp\.file/
^test$
@@ -184,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/
@@ -269,6 +242,8 @@
^docs/.*\.tmp/
^docs/Makefile$
^docs/Makefile/
+^docs/build$
+^docs/build/
^docs/doc-prep$
^docs/doc-prep/
^docs/html$
@@ -464,6 +439,8 @@
^include/parrot/feature\.h/
^include/parrot/has_header\.h$
^include/parrot/has_header\.h/
+^include/parrot/opsenum\.h$
+^include/parrot/opsenum\.h/
^include/parrot/pbcversion\.h$
^include/parrot/pbcversion\.h/
^include/parrot/platform\.h$
@@ -548,6 +525,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/
@@ -557,6 +537,9 @@
^runtime/parrot/library/PAST/
^runtime/parrot/library/config\.pir$
^runtime/parrot/library/config\.pir/
+# generated from svn:ignore of 'runtime/parrot/library/Archive/'
+^runtime/parrot/library/Archive/.*\.pbc$
+^runtime/parrot/library/Archive/.*\.pbc/
# generated from svn:ignore of 'runtime/parrot/library/CGI/'
^runtime/parrot/library/CGI/.*\.pbc$
^runtime/parrot/library/CGI/.*\.pbc/
@@ -599,12 +582,20 @@
# 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/.*\.pbc/
+^runtime/parrot/library/ProfTest/.*\.pir$
+^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/
@@ -736,6 +727,8 @@
^src/dynpmc/.*\.ilk/
^src/dynpmc/.*\.lib$
^src/dynpmc/.*\.lib/
+^src/dynpmc/.*\.mak$
+^src/dynpmc/.*\.mak/
^src/dynpmc/.*\.manifest$
^src/dynpmc/.*\.manifest/
^src/dynpmc/.*\.o$
@@ -767,8 +760,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$
@@ -878,6 +869,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/
@@ -908,13 +906,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/ops_pct/MANIFEST.generated
==============================================================================
--- branches/ops_pct/MANIFEST.generated Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/MANIFEST.generated Wed May 5 08:45:29 2010 (r46302)
@@ -2,16 +2,12 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
-blib/lib/libparrot.2.1.0.dylib [main]lib
+blib/lib/libparrot.2.3.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
-blib/lib/libparrot.so.2.1.0 [main]lib
+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,14 +33,10 @@
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
-include/parrot/platform_interface.h [main]include
include/parrot/platform_limits.h [devel]include
include/parrot/vtable.h [main]include
install_config.fpmc [main]lib
@@ -67,6 +59,8 @@
installable_pbc_to_exe [main]bin
installable_parrot-nqp.exe [main]bin
installable_parrot-nqp [main]bin
+installable_tapir.exe [main]bin
+installable_tapir [main]bin
lib/Parrot/Config/Generated.pm [devel]lib
libparrot.dll [main]bin
libparrot.lib [main]bin
@@ -74,30 +68,22 @@
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/file.bundle [library]
+runtime/parrot/dynext/file.dll [library]
+runtime/parrot/dynext/file.dylib [library]
+runtime/parrot/dynext/file.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]
@@ -106,21 +92,23 @@
runtime/parrot/dynext/obscure_ops.dll [library]
runtime/parrot/dynext/obscure_ops.dylib [library]
runtime/parrot/dynext/obscure_ops.so [library]
+runtime/parrot/dynext/os.bundle [library]
+runtime/parrot/dynext/os.dll [library]
+runtime/parrot/dynext/os.dylib [library]
+runtime/parrot/dynext/os.so [library]
runtime/parrot/dynext/rational.bundle [library]
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 []
runtime/parrot/include/datatypes.pasm [main]
+runtime/parrot/include/dlopenflags.pasm [main]
runtime/parrot/include/errors.pasm [main]
runtime/parrot/include/except_severity.pasm [main]
runtime/parrot/include/except_types.pasm [main]
+runtime/parrot/include/hash_key_type.pasm [main]
runtime/parrot/include/iglobals.pasm [main]
runtime/parrot/include/interpcores.pasm [main]
runtime/parrot/include/interpdebug.pasm [main]
@@ -144,6 +132,7 @@
runtime/parrot/include/tm.pasm [main]
runtime/parrot/include/vtable_methods.pasm [main]
runtime/parrot/include/warnings.pasm [main]
+runtime/parrot/library/Archive/TAR.pbc [main]
runtime/parrot/library/CGI/QueryHash.pbc [main]
runtime/parrot/library/Config/JSON.pbc [main]
runtime/parrot/library/Configure/genfile.pbc [main]
@@ -171,6 +160,7 @@
runtime/parrot/library/OpenGL_funcs.pir [main]
runtime/parrot/library/OpenGL_funcs.pbc [main]
runtime/parrot/library/OpenGL.pbc [main]
+runtime/parrot/library/osutils.pbc [main]
runtime/parrot/library/P6object.pbc [main]
runtime/parrot/library/P6Regex.pbc [main]
runtime/parrot/library/Parrot/Capture_PIR.pbc [main]
@@ -203,6 +193,9 @@
runtime/parrot/library/Stream/Replay.pbc [main]
runtime/parrot/library/Stream/Sub.pbc [main]
runtime/parrot/library/Stream/Writer.pbc [main]
+runtime/parrot/library/TAP/Formatter.pbc [main]
+runtime/parrot/library/TAP/Harness.pbc [main]
+runtime/parrot/library/TAP/Parser.pbc [main]
runtime/parrot/library/Tcl/Glob.pbc [main]
runtime/parrot/library/TclLibrary.pbc [main]
runtime/parrot/library/Test/Builder/Test.pbc [main]
@@ -222,8 +215,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/ops_pct/META.yml
==============================================================================
--- branches/ops_pct/META.yml Wed May 5 08:45:29 2010 (r46301)
+++ /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.1.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/ops_pct/Makefile.PL
==============================================================================
--- branches/ops_pct/Makefile.PL Wed May 5 08:45:29 2010 (r46301)
+++ /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/ops_pct/NEWS
==============================================================================
--- branches/ops_pct/NEWS Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/NEWS Wed May 5 08:45:29 2010 (r46302)
@@ -1,5 +1,44 @@
# $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)
+ + loadlib opcode added
+ + Calling conventions are now much more consistent, and follows natural
+ semantics of handling arguments and return values
+ + Recursive make for src/dynpmc removed
+ + Datatype STRINGNULL for a single Null STRING added
+ + config_lib.pasm replaced with config_lib.pir
+- Platforms
+ + Improved handling of new compilers
+ + Cygwin packages will be updated again with Parrot releases
+ + Fedora packages add desktop files
+ + gzip and bzip2 compressed tar files for releases
+- Tools
+ + tapir executable added; tapir is a TAP test harness
+ + Added TAP options --merge --ignore-exit
+- Miscellaneous
+ + 3 month cycle for supported releases
+ + Review and vote of GSoC applications
+
+New in 2.2.0
+- Core changes
+ + Most internal allocations now use the GC
+ + RNG non-randomnes fixes
+ + Elimination of much dead code
+- API changes
+ + PMCs can now be initialized from an int
+ + Many legacy ops are removed
+- Platforms
+ + Sun cc and Intel icc support have been restored
+ + Compiler invocation no longer goes through a Perl script
+- Tools
+ + NCI thunks are now generated by self-hosted PIR code
+
New in 2.1.0
- Core changes
+ GC performance and encapsulation were greatly improved.
Modified: branches/ops_pct/PBC_COMPAT
==============================================================================
--- branches/ops_pct/PBC_COMPAT Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/PBC_COMPAT Wed May 5 08:45:29 2010 (r46302)
@@ -27,6 +27,15 @@
# please insert tab separated entries at the top of the list
+6.14 2010.05.03 coke remove popaction, pushmark, pushaction ops.
+6.13 2010.05.03 coke move File/OS pmcs to src/dynpmc
+6.12 2010.05.02 plobsing store constant PMC strings as top level constant strings
+6.11 2010.04.29 tewk remove ParrotRunningThread
+6.10 2010.04.29 NotFound packfiledebug.pmc
+6.9 2010.04.27 bacek remove deprecated in-place string ops (bitwise, charset, case change)
+6.8 2010.04.27 bacek remove deprecated in-place substr ops
+6.7 2010.04.22 coke remove RetContinuation PMC
+6.6 2010.04.17 bacek add replace op
6.5 2010.03.09 cotto remove cpu_ret op
6.4 2010.03.02 cotto remove prederef__ and reserved
6.3 2010.02.16 whiteknight Add OpLib and Opcode PMCs
Modified: branches/ops_pct/README
==============================================================================
--- branches/ops_pct/README Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/README Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-This is Parrot, version 2.1.0
+This is Parrot, version 2.3.0
------------------------------
Parrot is Copyright (C) 2001-2010, Parrot Foundation.
@@ -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/ops_pct/README_cygwin.pod
==============================================================================
--- branches/ops_pct/README_cygwin.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/README_cygwin.pod Wed May 5 08:45:29 2010 (r46302)
@@ -25,22 +25,22 @@
Runtime requirements:
- libreadline6 ncurses libintl8 libgmp3 libgdbm4
+ libreadline6 ncurses libintl8 libgmp3
Optional requirements:
- libicu38 libpq5 openssl
+ libicu38 libpq5
for opengl: w32api opengl or libglut3 xorg-x11-base xorg-x11-bin-dlls
Build requirements:
gcc make perl parrot readline libncurses-devel libgmp-devel
- libgdbm-devel pcre-devel
+ pcre-devel
Optional build requirements:
- libicu-devel openssl-devel
+ libicu-devel
for Cygwin/X opengl: freeglut libglut-devel xorg-x11-devel
Modified: branches/ops_pct/README_win32.pod
==============================================================================
--- branches/ops_pct/README_win32.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/README_win32.pod Wed May 5 08:45:29 2010 (r46302)
@@ -85,15 +85,9 @@
The availability of these libraries is checked by Configure.pl.
-B<libcrypto> - a part of libssl / OpenSSL
-L<http://gnuwin32.sourceforge.net/>
-
B<gettext> - library and tools for native language support
L<http://gnuwin32.sourceforge.net/>
-B<gdbm> - GNU database manager
-L<http://gnuwin32.sourceforge.net/>
-
B<GMP> - GNU multiple precision arithmetic library
L<http://developer.berlios.de/projects/win32gmp/>
Modified: branches/ops_pct/RESPONSIBLE_PARTIES
==============================================================================
--- branches/ops_pct/RESPONSIBLE_PARTIES Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/RESPONSIBLE_PARTIES Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2009, Parrot Foundation.
+# Copyright (C) 2002-2010, Parrot Foundation.
# $Id$
This is a list of project roles, with a partial list of the folks who have
@@ -62,6 +62,7 @@
Reini Urban (cygwin)
Will Coleda (MacPorts)
Jerry Gay (Windows)
+ Gerd Pokorra (Fedora)
Patch Monster chromatic
Modified: branches/ops_pct/VERSION
==============================================================================
--- branches/ops_pct/VERSION Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/VERSION Wed May 5 08:45:29 2010 (r46302)
@@ -1 +1 @@
-2.1.0
+2.3.0
Modified: branches/ops_pct/compilers/data_json/Defines.mak
==============================================================================
--- branches/ops_pct/compilers/data_json/Defines.mak Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/data_json/Defines.mak Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/data_json/Rules.mak
==============================================================================
--- branches/ops_pct/compilers/data_json/Rules.mak Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/data_json/Rules.mak Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/imcc/Rules.in
==============================================================================
--- branches/ops_pct/compilers/imcc/Rules.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/Rules.in Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/imcc/cfg.c
==============================================================================
--- branches/ops_pct/compilers/imcc/cfg.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/cfg.c Wed May 5 08:45:29 2010 (r46302)
@@ -949,18 +949,6 @@
*
* TT #1244: emit warning in propagate_need()
*/
-#if 0
- if (pred->index == 0) {
- Instruction *ins = r->life_info[i]->first_ins;
- int bbi = ins->bbindex;
- for (; ins && ins->bbindex == bbi; ins = ins->next)
- if (instruction_reads(ins, r))
- break;
- IMCC_warning("propagate_need",
- "'%s' might be used uninitialized in %s:%d\n",
- r->name, function, ins->line);
- }
-#endif
propagate_need(pred, r, i);
}
}
Modified: branches/ops_pct/compilers/imcc/imcc.l
==============================================================================
--- branches/ops_pct/compilers/imcc/imcc.l Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/imcc.l Wed May 5 08:45:29 2010 (r46302)
@@ -87,10 +87,14 @@
static void include_file(PARROT_INTERP, char *file_name, ARGMOD(void *yyscanner));
+static int handle_identifier(PARROT_INTERP, YYSTYPE *valp, ARGIN(const char *id));
+
#define YY_DECL int yylex(YYSTYPE *valp, yyscan_t yyscanner, PARROT_INTERP)
#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); \
@@ -111,6 +115,7 @@
%option reentrant
%option never-interactive
%option stack
+%option yylineno
LETTER [a-zA-Z_@]
DIGIT [0-9]
@@ -133,7 +138,7 @@
STRINGCONSTANT {SQ_STRING}|{DQ_STRING}
SQ_STRING \'[^'\n]*\'
RANKSPEC \[[,]*\]
-EOL \r?\n
+EOL \r?\n
WS [\t\f\r\x1a ]
SP [ ]
@@ -167,7 +172,10 @@
return 0;
}
+<*>^{WS}* { SET_LINE_NUMBER; }
+
<heredoc1>.*{EOL} {
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->frames->heredoc_rest = mem_sys_strdup(yytext);
BEGIN(heredoc2);
}
@@ -177,7 +185,6 @@
* arrange them before all wildcard state matches */
/* Newline in the heredoc. Realloc and cat on. */
- IMCC_INFO(interp)->line++;
IMCC_INFO(interp)->heredoc_content =
(char*)mem_sys_realloc(IMCC_INFO(interp)->heredoc_content,
strlen(IMCC_INFO(interp)->heredoc_content) +
@@ -187,6 +194,7 @@
}
<heredoc2>.* {
+ SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
if (STREQ(IMCC_INFO(interp)->heredoc_end, yytext)) {
/* End of the heredoc. */
@@ -209,7 +217,7 @@
yy_pop_state(yyscanner);
yy_scan_string(IMCC_INFO(interp)->frames->heredoc_rest, yyscanner);
- /* the EOF rule will increment the line number; decrement here */
+ /* not sure we need this decrement; more testing needed */
IMCC_INFO(interp)->line--;
return STRINGC;
}
@@ -244,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;
@@ -252,7 +260,6 @@
<cmt4>.*{EOL} {
yy_pop_state(yyscanner);
- IMCC_INFO(interp)->line++;
}
<INITIAL,emit>{EOL} {
@@ -260,7 +267,6 @@
BEGIN(INITIAL);
IMCC_INFO(interp)->expect_pasm = 0;
- IMCC_INFO(interp)->line++;
return '\n';
}
@@ -276,7 +282,6 @@
yy_pop_state(yyscanner);
IMCC_INFO(interp)->expect_pasm = 0;
- IMCC_INFO(interp)->line++;
return '\n';
}
@@ -284,23 +289,24 @@
<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>^"=" {
+<INITIAL,emit,macro>^"=".*{EOL} {
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 1;
yy_push_state(pod, yyscanner);
}
<pod>^"=cut"{EOL} {
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 0;
yy_pop_state(yyscanner);
- IMCC_INFO(interp)->line++;
}
-<pod>.* { /*ignore*/ }
+<pod>.* { SET_LINE_NUMBER; }
-<pod>{EOL} { IMCC_INFO(interp)->line++; }
+<pod>{EOL} { /* ignore */ }
<*>".line" return TK_LINE;
<*>".file" return TK_FILE;
@@ -337,7 +343,7 @@
":instanceof" return SUB_INSTANCE_OF;
":subid" return SUBID;
-".get_result" return RESULT;
+".get_result" return RESULT;
".get_results" return GET_RESULTS;
".yield" return YIELDT;
".set_yield" return SET_YIELD;
@@ -447,6 +453,8 @@
}
<emit,INITIAL>".macro" {
+ /* the initial whitespace catcher misses this one */
+ SET_LINE_NUMBER;
return read_macro(valp, interp, yyscanner);
}
@@ -485,7 +493,6 @@
}
<emit,INITIAL>{ID}"$" {
-
if (valp) {
char *label;
size_t len;
@@ -635,34 +642,8 @@
return REG;
}
-<emit,INITIAL>{ID} {
- if (!IMCC_INFO(interp)->is_def) {
- SymReg *r = find_sym(interp, yytext);
-
- if (r && (r->type & (VTIDENTIFIER|VT_CONSTP))) {
- valp->sr = r;
- return VAR;
- }
-
- if (IMCC_INFO(interp)->cur_unit
- && IMCC_INFO(interp)->cur_unit->instructions
- && (r = IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
- && r->pcc_sub)
- {
- if (((r->pcc_sub->pragma & P_METHOD)
- || (IMCC_INFO(interp)->cur_unit->is_vtable_method))
- && !strcmp(yytext, "self")) {
- valp->sr = mk_ident(interp, "self", 'P');
- IMCC_INFO(interp)->cur_unit->type |= IMC_HAS_SELF;
- return VAR;
- }
- }
- }
-
- valp->s = mem_sys_strdup(yytext);
- return (!IMCC_INFO(interp)->is_def && is_op(interp, valp->s) ? PARROT_OP : IDENTIFIER);
- }
+<emit,INITIAL>{ID} { return handle_identifier(interp, valp, yytext); }
<emit,INITIAL>{WS}+ /* skip */;
@@ -684,10 +665,13 @@
<INITIAL><<EOF>> yyterminate();
-<macro>".endm" DUP_AND_RET(valp, ENDM);
+<macro>".endm" {
+ /* the initial whitespace catcher misses this one */
+ SET_LINE_NUMBER;
+ DUP_AND_RET(valp, ENDM);
+}
<macro>{WS}*{EOL} {
- IMCC_INFO(interp)->line++;
DUP_AND_RET(valp, '\n');
}
@@ -745,7 +729,6 @@
return IDENTIFIER;
}
-<macro>^{WS}+ /* skip leading ws */;
<macro>{WS}+ DUP_AND_RET(valp, ' ');
<macro>[SNIP]{DIGITS} DUP_AND_RET(valp, REG);
<macro>"$"[SNIP]{DIGITS} DUP_AND_RET(valp, REG);
@@ -814,6 +797,9 @@
frame->s.next = (parser_state_t *)IMCC_INFO(interp)->frames;
IMCC_INFO(interp)->frames = frame;
+ /* start at the effective *starting line* of the macro */
+ IMCC_INFO(interp)->line = frame->s.line - 2;
+
yy_scan_string(expansion, yyscanner);
}
@@ -1069,9 +1055,6 @@
IMCC_INFO(interp)->macro_buffer = NULL;
IMCC_INFO(interp)->cur_macro_name = NULL;
- /* the ENDM rule doesn't set the line number */
- IMCC_INFO(interp)->line--;
-
return MACRO;
}
@@ -1232,8 +1215,6 @@
}
}
- /* let the normal EOF rules match line numbers */
- IMCC_INFO(interp)->line = m->line - 1;
scan_string(frame, m->expansion, yyscanner);
return 1;
@@ -1283,15 +1264,19 @@
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;
IMCC_INFO(interp)->state = (parser_state_t *)IMCC_INFO(interp)->frames;
- IMCC_INFO(interp)->line = 1;
+ /* let the start of line rule increment this to 1 */
+ IMCC_INFO(interp)->line = 0;
yy_switch_to_buffer(yy_create_buffer(file, YY_BUF_SIZE, yyscanner),
yyscanner);
+
+ IMCC_INFO(interp)->line = oldline;
}
void
@@ -1469,6 +1454,36 @@
return yyg->yy_hold_char == '\0';
}
+static int
+handle_identifier(PARROT_INTERP, YYSTYPE *valp, const char *text)
+{
+ if (!IMCC_INFO(interp)->is_def) {
+ SymReg *r = find_sym(interp, text);
+
+ if (r && (r->type & (VTIDENTIFIER|VT_CONSTP))) {
+ valp->sr = r;
+ return VAR;
+ }
+
+ if (IMCC_INFO(interp)->cur_unit
+ && IMCC_INFO(interp)->cur_unit->instructions
+ && (r = IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
+ && r->pcc_sub)
+ {
+ if (((r->pcc_sub->pragma & P_METHOD)
+ || (IMCC_INFO(interp)->cur_unit->is_vtable_method))
+ && !strcmp(text, "self")) {
+ valp->sr = mk_ident(interp, "self", 'P');
+ IMCC_INFO(interp)->cur_unit->type |= IMC_HAS_SELF;
+ return VAR;
+ }
+ }
+ }
+
+ valp->s = mem_sys_strdup(text);
+ return (!IMCC_INFO(interp)->is_def && is_op(interp, valp->s) ? PARROT_OP : IDENTIFIER);
+}
+
/*
* Local variables:
* c-file-style: "parrot"
Modified: branches/ops_pct/compilers/imcc/imcc.y
==============================================================================
--- branches/ops_pct/compilers/imcc/imcc.y Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/imcc.y Wed May 5 08:45:29 2010 (r46302)
@@ -1085,7 +1085,7 @@
%nonassoc '\n'
%nonassoc <t> PARAM
-%token <t> HLL TK_LINE TK_FILE
+%token <t> SOL HLL TK_LINE TK_FILE
%token <t> GOTO ARG IF UNLESS PNULL SET_RETURN SET_YIELD
%token <t> ADV_FLAT ADV_SLURPY ADV_OPTIONAL ADV_OPT_FLAG ADV_NAMED ADV_ARROW
%token <t> NEW ADV_INVOCANT ADV_CALL_SIG
@@ -1494,13 +1494,13 @@
ns_entry_name:
NS_ENTRY
{
- $$ = 0;
+ $$ = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
}
| NS_ENTRY '(' any_string ')'
{
- $$ = 0;
+ $$ = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = $3;
IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
}
@@ -2510,26 +2510,19 @@
* before the newline, and thus, line is the line *after* the
* error. Instead of duplicating code for both cases (the 'newline' and
* non-newline case, do the test twice; efficiency is not important when
- * we have an error anyway.
- */
+ * we have an error anyway. */
if (!at_eof(yyscanner)) {
- if (*chr == '\n') {
- IMCC_INFO(interp)->line--;
- }
-
IMCC_warning(interp, "error:imcc:%s", s);
+
/* don't print the current token if it is a newline */
- if (*chr != '\n') {
+ if (*chr != '\n')
IMCC_warning(interp, " ('%s')", chr);
- }
- IMCC_print_inc(interp);
-
- if (*chr == '\n') {
- IMCC_INFO(interp)->line++;
- }
+ IMCC_print_inc(interp);
}
- else { /* scanner is at end of file; just to be sure, do not print "current" token. */
+
+ /* scanner is at EOF; just to be sure, don't print "current" token */
+ else {
IMCC_warning(interp, "error:imcc:%s", s);
IMCC_print_inc(interp);
}
Modified: branches/ops_pct/compilers/imcc/imclexer.c
==============================================================================
--- branches/ops_pct/compilers/imcc/imclexer.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/imclexer.c Wed May 5 08:45:29 2010 (r46302)
@@ -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,125 +398,129 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1062] =
+static yyconst flex_int16_t yy_accept[1095] =
{ 0,
- 0, 0, 0, 0, 0, 0, 16, 16, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 3, 149, 135, 134, 10, 134, 135, 135, 11,
- 135, 135, 135, 135, 135, 135, 115, 135, 95, 135,
- 119, 119, 135, 87, 135, 89, 133, 133, 133, 133,
- 133, 133, 133, 133, 135, 135, 14, 134, 134, 135,
- 135, 135, 135, 133, 14, 147, 142, 137, 142, 147,
- 147, 147, 147, 147, 119, 119, 147, 145, 145, 145,
- 141, 141, 14, 16, 17, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 148, 135, 8, 8,
-
- 135, 135, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 5, 135, 9, 135, 135, 135, 135, 135,
- 119, 119, 135, 135, 135, 135, 12, 135, 135, 135,
- 135, 135, 119, 119, 135, 135, 135, 148, 1, 148,
- 148, 148, 148, 148, 119, 119, 148, 148, 148, 3,
- 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 134, 0, 10, 92, 0, 124, 0, 131, 131,
- 131, 131, 131, 100, 84, 103, 0, 93, 98, 0,
- 119, 96, 97, 118, 109, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
-
- 117, 117, 101, 99, 118, 0, 0, 123, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 81, 88, 91, 64, 90, 82, 114, 0,
- 133, 116, 132, 133, 74, 133, 133, 133, 133, 133,
- 133, 104, 85, 105, 86, 0, 134, 117, 117, 117,
- 117, 117, 117, 0, 0, 0, 0, 142, 137, 142,
- 0, 0, 0, 146, 146, 146, 146, 145, 0, 143,
- 145, 141, 141, 16, 17, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 0, 0, 8, 0, 4,
+ 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, 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, 147, 17, 18, 17,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 1,
+
+ 1, 17, 148, 136, 9, 9, 136, 136, 1, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 1,
+ 6, 136, 10, 136, 136, 136, 136, 136, 120, 120,
+ 136, 136, 136, 1, 1, 136, 13, 136, 136, 136,
+ 136, 136, 120, 120, 136, 136, 136, 1, 1, 148,
+ 2, 148, 148, 148, 148, 148, 120, 120, 148, 148,
+ 148, 1, 1, 4, 3, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 1, 1, 135, 0, 11,
+ 93, 0, 125, 0, 132, 132, 132, 132, 132, 101,
+ 85, 104, 0, 94, 99, 0, 120, 97, 98, 119,
+
+ 110, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 102, 100,
+ 119, 0, 0, 124, 0, 0, 0, 0, 0, 0,
+ 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, 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, 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, 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, 0, 9, 0,
- 0, 0, 124, 0, 0, 0, 0, 119, 118, 0,
- 0, 118, 0, 0, 123, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 0, 0, 124, 0, 0, 0,
- 0, 119, 118, 0, 0, 118, 0, 0, 123, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 124, 0, 0, 0, 0, 119, 118, 0, 0, 118,
- 0, 0, 123, 0, 0, 0, 0, 0, 0, 3,
- 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 94, 127, 128, 130, 129, 0, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
- 117, 102, 118, 121, 0, 118, 122, 120, 0, 0,
+ 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, 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, 0, 0, 107,
- 106, 83, 113, 0, 0, 132, 133, 77, 133, 78,
- 79, 133, 133, 133, 0, 117, 117, 0, 0, 138,
- 144, 140, 146, 146, 146, 146, 146, 145, 16, 16,
-
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
- 0, 118, 121, 0, 118, 122, 120, 0, 0, 0,
- 0, 0, 0, 0, 0, 118, 121, 0, 118, 122,
- 120, 0, 0, 0, 0, 0, 0, 0, 0, 118,
- 121, 0, 118, 122, 120, 0, 0, 0, 0, 0,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 0, 118, 68, 117, 117, 117,
- 117, 24, 117, 117, 117, 117, 117, 21, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 23,
- 117, 117, 0, 0, 0, 0, 0, 0, 0, 45,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 125, 0, 0, 108, 0, 126,
- 0, 0, 0, 73, 76, 133, 133, 133, 133, 0,
- 140, 146, 146, 146, 146, 145, 145, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 0, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 0, 118, 0,
- 0, 0, 0, 125, 0, 0, 0, 0, 0, 126,
-
- 0, 0, 0, 0, 0, 0, 118, 0, 0, 0,
- 0, 125, 0, 0, 0, 0, 0, 126, 0, 0,
- 0, 0, 0, 0, 118, 0, 0, 0, 0, 125,
- 0, 0, 0, 0, 0, 126, 0, 0, 0, 0,
- 0, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 117, 117, 27, 117,
- 117, 19, 117, 117, 117, 117, 18, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 43,
- 0, 59, 0, 40, 0, 0, 39, 38, 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, 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, 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, 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
- 133, 133, 133, 133, 13, 0, 136, 19, 146, 18,
- 145, 145, 16, 16, 16, 16, 15, 16, 19, 18,
- 0, 0, 4, 4, 4, 4, 19, 18, 0, 0,
- 19, 18, 0, 0, 19, 18, 0, 0, 3, 3,
- 3, 3, 117, 117, 70, 117, 117, 117, 117, 117,
- 117, 117, 117, 69, 111, 117, 117, 117, 72, 117,
- 117, 117, 117, 117, 117, 53, 0, 0, 0, 0,
- 0, 37, 63, 0, 0, 0, 44, 0, 0, 50,
- 0, 0, 133, 133, 80, 75, 146, 145, 145, 16,
- 16, 0, 0, 4, 4, 0, 0, 0, 0, 0,
-
- 0, 3, 3, 117, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 55, 117,
- 117, 117, 117, 0, 0, 0, 0, 36, 0, 0,
- 0, 0, 60, 0, 46, 133, 133, 139, 145, 145,
- 16, 16, 0, 0, 4, 4, 0, 0, 0, 0,
- 0, 0, 3, 3, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 112, 117, 58, 117, 117, 117, 117,
- 31, 22, 117, 117, 117, 0, 0, 0, 0, 47,
- 0, 0, 0, 0, 0, 7, 16, 7, 4, 4,
- 0, 7, 0, 7, 0, 7, 3, 3, 20, 117,
-
- 117, 117, 26, 117, 117, 117, 117, 30, 117, 117,
- 117, 28, 117, 117, 57, 66, 0, 0, 65, 62,
- 61, 42, 0, 6, 6, 6, 6, 6, 3, 117,
- 117, 117, 117, 35, 117, 117, 117, 29, 67, 117,
- 54, 41, 0, 0, 25, 117, 117, 33, 51, 117,
- 117, 56, 49, 48, 117, 34, 52, 71, 110, 32,
- 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -549,283 +566,289 @@
10, 10, 10, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1213] =
+static yyconst flex_int16_t yy_base[1251] =
{ 0,
- 0, 4304, 64, 4303, 129, 81, 194, 4302, 259, 0,
- 324, 0, 72, 77, 389, 0, 454, 0, 519, 0,
- 584, 0, 4326, 6980, 98, 6980, 106, 4300, 64, 6980,
- 83, 4299, 102, 4311, 82, 633, 6980, 640, 647, 638,
- 694, 724, 729, 48, 100, 645, 703, 741, 711, 769,
- 709, 743, 777, 782, 704, 710, 771, 734, 799, 789,
- 812, 777, 4298, 798, 4277, 6980, 837, 6980, 843, 715,
- 816, 4308, 857, 863, 0, 869, 4291, 726, 885, 797,
- 890, 914, 4270, 0, 6980, 4310, 810, 4300, 903, 907,
- 942, 903, 4285, 1004, 1069, 4243, 6980, 928, 914, 1015,
-
- 4263, 641, 0, 0, 854, 970, 947, 1118, 941, 4261,
- 1180, 1245, 819, 821, 6980, 830, 934, 909, 1021, 1085,
- 1308, 1087, 927, 1370, 1435, 877, 6980, 893, 1050, 940,
- 1043, 1099, 1498, 1171, 996, 1560, 1625, 952, 6980, 979,
- 1156, 1047, 1209, 1273, 1688, 1180, 1093, 1750, 1815, 0,
- 6980, 4281, 933, 4271, 1091, 1123, 1864, 1236, 4258, 1926,
- 1991, 1151, 1096, 6980, 6980, 946, 6980, 0, 0, 1156,
- 1216, 1261, 1267, 6980, 6980, 6980, 4269, 6980, 6980, 1280,
- 1381, 6980, 6980, 1285, 6980, 0, 4246, 4226, 4232, 1013,
- 4224, 4223, 721, 4219, 947, 59, 709, 856, 4225, 671,
-
- 4228, 4219, 4239, 6980, 1313, 1105, 1336, 6980, 1108, 0,
- 4210, 4220, 4210, 1113, 977, 1006, 810, 739, 4206, 16,
- 4206, 4199, 1215, 6980, 6980, 6980, 6980, 1176, 4234, 4233,
- 1330, 4248, 1397, 1398, 1381, 1446, 1455, 1447, 1457, 1456,
- 1473, 6980, 6980, 6980, 6980, 4194, 1213, 4199, 4199, 1267,
- 4209, 4139, 4136, 1214, 4121, 4118, 995, 1361, 6980, 1420,
- 4154, 1409, 0, 0, 4123, 4125, 1049, 1010, 4167, 1526,
- 1451, 1481, 1490, 0, 6980, 1032, 0, 0, 4161, 1534,
- 1571, 1576, 4122, 4121, 1633, 1254, 1588, 0, 1348, 2038,
- 1155, 2085, 2150, 2215, 4110, 4119, 4118, 1639, 1099, 0,
-
- 1311, 0, 1560, 1682, 1750, 4117, 4116, 1762, 1277, 1599,
- 0, 1502, 2262, 1296, 2309, 2374, 2439, 1337, 6980, 1345,
- 1536, 1671, 1357, 1388, 1500, 1526, 1716, 2502, 1832, 1643,
- 1663, 1844, 1677, 1783, 1405, 1726, 2546, 1736, 2593, 2658,
- 2723, 1473, 6980, 1484, 1791, 1803, 1494, 1505, 1547, 1683,
- 1892, 2786, 1942, 1673, 1729, 1964, 1853, 1901, 1522, 1856,
- 2830, 1885, 2877, 2942, 3007, 1532, 6980, 1554, 1842, 1967,
- 1608, 1641, 1797, 1944, 1956, 3070, 2008, 1808, 1866, 2031,
- 1905, 2101, 1679, 2020, 3114, 2066, 3161, 3226, 3291, 0,
- 6980, 1192, 0, 0, 4153, 1960, 2107, 2215, 4114, 4113,
-
- 2227, 1695, 2124, 0, 1934, 3338, 1582, 3385, 3450, 3515,
- 1897, 1999, 2023, 2027, 2043, 2244, 0, 4128, 4108, 4112,
- 4108, 4104, 4111, 4104, 4095, 4099, 1070, 4090, 4098, 1014,
- 4106, 4090, 4096, 4097, 4089, 4101, 4081, 4080, 4095, 4087,
- 4088, 6980, 2232, 1706, 2111, 2248, 2055, 0, 4058, 4060,
- 4068, 4057, 1727, 4046, 4065, 4056, 4046, 4053, 4051, 4056,
- 4039, 4038, 4038, 4035, 4051, 4039, 4046, 1201, 4075, 6980,
- 6980, 4061, 6980, 1681, 4062, 2277, 2457, 2278, 2279, 2280,
- 2320, 2461, 2322, 2451, 4025, 4039, 4040, 4031, 4057, 6980,
- 2331, 0, 0, 4034, 4027, 4034, 4023, 2445, 2341, 3955,
-
- 3952, 2469, 1848, 2320, 2345, 2093, 3562, 1982, 3992, 2094,
- 3609, 3674, 3944, 3951, 3948, 1647, 2519, 3949, 3946, 2507,
- 1938, 2349, 2523, 2223, 3721, 2469, 3768, 3833, 2609, 2068,
- 2272, 2739, 2482, 2551, 2558, 2617, 3896, 2506, 2344, 2761,
- 3943, 4008, 2631, 2295, 2556, 2751, 2623, 2772, 2792, 2806,
- 4071, 2795, 2513, 2814, 4118, 4183, 2825, 2479, 2579, 2893,
- 2636, 2905, 2915, 2901, 4246, 2858, 2741, 3035, 4293, 4358,
- 3029, 3947, 3944, 3007, 2006, 2565, 2758, 2474, 4405, 2099,
- 3984, 2480, 4452, 4517, 2847, 2909, 0, 3941, 3944, 3942,
- 3934, 3950, 3944, 3948, 3945, 3936, 3932, 0, 3939, 3939,
-
- 3940, 3924, 3931, 3933, 3937, 3935, 3935, 3915, 3933, 0,
- 3922, 3921, 3918, 3919, 3906, 3918, 3904, 3903, 3905, 6980,
- 3892, 3883, 3886, 3875, 3887, 3879, 861, 3885, 3871, 3872,
- 3878, 3871, 3880, 2507, 6980, 0, 3910, 6980, 2511, 6980,
- 0, 3898, 3913, 2814, 2815, 3045, 3046, 3054, 2848, 2029,
- 0, 3867, 3868, 3867, 3866, 1821, 2484, 3037, 3059, 3865,
- 3864, 2524, 0, 0, 3897, 2574, 0, 0, 4582, 3901,
- 4647, 3857, 2132, 3860, 3859, 724, 1376, 3063, 3089, 3858,
- 3857, 2904, 0, 4712, 3895, 4777, 3851, 3102, 3109, 3094,
- 3099, 3143, 3148, 2144, 2268, 3032, 3177, 3321, 3323, 2355,
-
- 2455, 4842, 3134, 4907, 3790, 3187, 3191, 3150, 3307, 3329,
- 3331, 2553, 2645, 3211, 3309, 3336, 3338, 2747, 2753, 4972,
- 3195, 5037, 3781, 3200, 3401, 3316, 3319, 3545, 3547, 2763,
- 2780, 3403, 3414, 3553, 3555, 2839, 2852, 5102, 3344, 5167,
- 3780, 3353, 3408, 3783, 3782, 2779, 0, 0, 3815, 2808,
- 0, 0, 5232, 3819, 5297, 3775, 3765, 3770, 0, 3763,
- 3057, 0, 3764, 3778, 3759, 3774, 0, 3766, 3765, 3761,
- 3773, 3755, 3768, 3759, 3752, 3752, 3307, 3763, 3761, 6980,
- 3764, 6980, 3759, 6980, 3757, 3746, 6980, 6980, 3734, 3737,
- 3739, 3716, 3715, 3707, 3701, 3713, 3693, 3702, 3684, 3626,
-
- 3552, 3736, 3554, 3737, 6980, 3669, 0, 0, 3619, 0,
- 3396, 3519, 0, 0, 5362, 1118, 6980, 3661, 6980, 6980,
- 1128, 765, 0, 0, 5427, 1480, 2929, 3037, 3014, 1171,
- 3090, 3122, 3098, 1211, 3189, 3213, 3363, 1266, 0, 0,
- 3381, 1336, 3617, 3616, 0, 3614, 3608, 3602, 3604, 3596,
- 3600, 3596, 3581, 0, 3589, 3581, 3545, 3557, 0, 3534,
- 3535, 3529, 3527, 3519, 3523, 0, 3479, 3484, 3465, 3374,
- 3356, 6980, 6980, 3331, 3326, 3301, 6980, 3292, 3281, 6980,
- 3291, 3283, 3555, 3620, 3425, 3430, 3431, 2847, 3520, 1611,
- 1698, 1299, 1618, 2512, 2595, 1193, 1553, 1622, 1743, 1841,
-
- 1919, 2425, 2754, 3259, 3161, 3149, 3138, 3136, 3081, 3083,
- 3073, 3062, 3056, 3044, 3044, 3034, 3016, 3017, 0, 3004,
- 2987, 2988, 2972, 2860, 2794, 2730, 2709, 6980, 2689, 2697,
- 2612, 2592, 6980, 2511, 6980, 3632, 3635, 3438, 3623, 3637,
- 1400, 1463, 2254, 2817, 2564, 2848, 1937, 3127, 3302, 3374,
- 3526, 3539, 3548, 3562, 2432, 2427, 2409, 2396, 2293, 2277,
- 2277, 2256, 2243, 0, 2226, 0, 2202, 2199, 2187, 2167,
- 0, 0, 2082, 2056, 2037, 2031, 1977, 1967, 1914, 6980,
- 1881, 1868, 1851, 1793, 1609, 1837, 2111, 1829, 2617, 1808,
- 3658, 3542, 3664, 3751, 3793, 3798, 2933, 1786, 0, 1727,
-
- 1707, 1695, 0, 1649, 1655, 1633, 1570, 0, 1534, 1460,
- 1444, 0, 1397, 1388, 0, 6980, 1366, 1282, 6980, 6980,
- 6980, 6980, 1280, 6980, 0, 3434, 3441, 3593, 0, 1233,
- 1218, 1201, 1158, 0, 1128, 1115, 1027, 0, 0, 907,
- 0, 6980, 898, 839, 0, 816, 767, 0, 719, 662,
- 614, 0, 6980, 6980, 598, 0, 0, 0, 0, 0,
- 6980, 5492, 5498, 5508, 5516, 5520, 5528, 5535, 5546, 5557,
- 5568, 5579, 5586, 5597, 5608, 5619, 5630, 5641, 5652, 5663,
- 5674, 5685, 5696, 5707, 5718, 5729, 5740, 5751, 5762, 5773,
- 5784, 5795, 5801, 5811, 5817, 5823, 5828, 5836, 5845, 5851,
-
- 5855, 5861, 5868, 5879, 5890, 5901, 5912, 5923, 5934, 5945,
- 5956, 5967, 5978, 5989, 6000, 6011, 6022, 6033, 6044, 6055,
- 6066, 6077, 6088, 6099, 6110, 6121, 6127, 6132, 6138, 6147,
- 6158, 6169, 6176, 6184, 6190, 6196, 6202, 6209, 6220, 6231,
- 6242, 6253, 6264, 6271, 6282, 6293, 6304, 6315, 6326, 6337,
- 6348, 6359, 6370, 6381, 6392, 6403, 6414, 6425, 6436, 6447,
- 6458, 6469, 6480, 6491, 6502, 6513, 6524, 6530, 6541, 6552,
- 6563, 6570, 6578, 6584, 6590, 6597, 6608, 6619, 6630, 6641,
- 6652, 6659, 6670, 6681, 6692, 6703, 6714, 6725, 6736, 6747,
- 6758, 6769, 6780, 6791, 6802, 6813, 6824, 6835, 6846, 6857,
-
- 6868, 6879, 6890, 6901, 6912, 6918, 6926, 6932, 6939, 6950,
- 6957, 6968
+ 0, 64, 88, 70, 153, 75, 218, 82, 283, 113,
+ 348, 117, 109, 412, 434, 121, 499, 130, 564, 135,
+ 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, 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[1213] =
+static yyconst flex_int16_t yy_def[1251] =
{ 0,
- 1061, 1, 1, 3, 1061, 5, 1061, 7, 1061, 9,
- 1061, 11, 9, 9, 1061, 15, 1061, 17, 1061, 19,
- 1061, 21, 1061, 1061, 1061, 1061, 1061, 1061, 1062, 1061,
- 1063, 1061, 1061, 1064, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1065, 1065, 1065, 1065,
- 1065, 1065, 1065, 1065, 1061, 1061, 1061, 1061, 1061, 1061,
- 39, 1061, 1061, 1065, 1061, 1061, 1061, 1061, 1061, 1062,
- 1066, 1064, 1061, 1067, 41, 1061, 1061, 1068, 1068, 1068,
- 1061, 1061, 1061, 1069, 1061, 1069, 1070, 1071, 1069, 1069,
- 1069, 91, 1069, 1072, 1072, 1069, 1061, 1061, 41, 1061,
-
- 1073, 1073, 1074, 1074, 1075, 1074, 1074, 1074, 108, 1074,
- 1076, 1076, 1062, 1077, 1061, 1077, 1078, 1079, 1077, 1077,
- 1077, 121, 1077, 1080, 1080, 1081, 1061, 1081, 1082, 1083,
- 1081, 1081, 1081, 133, 1081, 1084, 1084, 1085, 1061, 1085,
- 1086, 1087, 1085, 1085, 1085, 145, 1085, 1088, 1088, 1089,
- 1061, 1089, 1090, 1091, 1089, 1089, 1089, 157, 1089, 1092,
- 1092, 1061, 1061, 1061, 1061, 1062, 1061, 1062, 1093, 1093,
- 1093, 1093, 1093, 1061, 1061, 1061, 1094, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1095, 1095, 1095, 1095, 1095,
- 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
-
- 1095, 1095, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1096,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1097,
- 1098, 1099, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
- 1098, 1061, 1061, 1061, 1061, 1061, 1061, 1095, 1095, 1095,
- 1095, 1095, 1095, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1100, 1100, 1101, 1102, 1102, 1102, 1102, 1103, 1099, 1103,
- 1103, 1061, 1061, 1104, 1061, 1105, 1104, 1105, 1106, 1104,
- 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
- 1104, 1107, 1061, 1107, 1104, 1061, 1061, 1061, 1097, 1108,
-
- 1109, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1108, 1108, 1108, 1110, 1061, 1110, 1111, 1061, 1111,
- 1112, 1112, 1111, 1112, 1113, 1113, 1111, 1111, 1111, 1111,
- 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1114, 1061,
- 1114, 1115, 1061, 1115, 1116, 1116, 1115, 1116, 1117, 1117,
- 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
- 1115, 1115, 1118, 1061, 1118, 1119, 1061, 1119, 1120, 1120,
- 1119, 1120, 1121, 1121, 1119, 1119, 1119, 1119, 1119, 1119,
- 1119, 1119, 1119, 1119, 1119, 1119, 1122, 1061, 1122, 1123,
- 1061, 1124, 1123, 1124, 1125, 1123, 1123, 1123, 1123, 1123,
-
- 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1126, 1061, 1126,
- 1061, 1127, 1127, 1127, 1127, 1061, 1128, 1128, 1128, 1128,
- 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
- 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
- 1128, 1061, 1061, 1061, 1061, 1061, 1061, 1129, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1130, 1131, 1061,
- 1061, 1061, 1061, 1132, 1133, 1134, 1134, 1134, 1134, 1134,
- 1134, 1134, 1134, 1134, 1061, 1128, 1128, 1061, 1135, 1061,
- 1135, 1136, 1137, 1137, 1137, 1137, 1137, 1138, 1139, 1139,
-
- 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1141, 1142,
- 1143, 1061, 1139, 1061, 1061, 1144, 1145, 1145, 1145, 1145,
- 1145, 1145, 1145, 1145, 1145, 1146, 1147, 1061, 1148, 1148,
- 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1150, 1151,
- 1152, 1061, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
- 1153, 1154, 1155, 1156, 1157, 1061, 1158, 1158, 1158, 1158,
- 1158, 1158, 1158, 1158, 1158, 1159, 1160, 1161, 1162, 1061,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164,
- 1165, 1166, 1167, 1061, 1061, 1061, 1168, 1168, 1168, 1168,
- 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
-
- 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
- 1168, 1168, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1169, 1061, 1169, 1170, 1061, 1171, 1061,
- 1171, 1172, 1061, 1173, 1173, 1173, 1173, 1173, 1173, 1061,
- 1174, 1175, 1175, 1175, 1175, 1176, 1176, 1177, 1177, 1177,
- 1177, 1178, 1177, 1178, 1179, 1180, 1177, 1180, 1181, 1177,
- 1061, 671, 1177, 1061, 1061, 1182, 1182, 1183, 1183, 1183,
- 1183, 1184, 1183, 1185, 1183, 1061, 686, 1186, 1186, 1186,
- 1186, 1187, 1187, 1186, 1187, 1188, 1188, 1189, 1189, 1186,
-
- 1189, 1190, 1186, 1061, 704, 1191, 1191, 1191, 1191, 1192,
- 1192, 1191, 1192, 1193, 1193, 1194, 1194, 1191, 1194, 1195,
- 1191, 1061, 722, 1196, 1196, 1196, 1196, 1197, 1197, 1196,
- 1197, 1198, 1198, 1199, 1199, 1196, 1199, 1200, 1196, 1061,
- 740, 1201, 1201, 1201, 1201, 1202, 1201, 1202, 1203, 1204,
- 1201, 1204, 1205, 1201, 1061, 755, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1207, 1207, 1207, 1207, 1061, 1061, 1208, 1208, 1208, 1208,
- 1209, 1209, 1210, 1210, 1061, 815, 1061, 1210, 1061, 1061,
- 1211, 1211, 1212, 1212, 1061, 825, 1186, 1186, 704, 704,
- 1191, 1191, 722, 722, 1196, 1196, 740, 740, 1201, 1201,
- 755, 755, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1207, 1207, 1207, 1207, 1208, 1209, 1209, 815,
- 815, 1211, 1211, 825, 825, 704, 704, 722, 722, 740,
-
- 740, 755, 755, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1207, 1207, 1061, 1209, 1209,
- 815, 815, 1211, 1211, 825, 825, 704, 704, 722, 722,
- 740, 740, 755, 755, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1210, 1210, 1212, 1212,
- 1186, 1186, 1191, 1191, 1196, 1196, 1201, 1201, 1206, 1206,
-
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1206, 1206, 1206, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1210, 1186, 1191, 1196, 1201, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1061, 1061, 1061, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1206, 1061, 1061, 1206, 1206, 1206, 1206, 1206, 1206,
- 0, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061
+ 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[7046] =
+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,
@@ -833,778 +856,791 @@
47, 47, 48, 47, 48, 47, 48, 48, 47, 24,
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, 58, 464, 59, 58, 24,
- 167, 223, 224, 24, 24, 465, 24, 60, 113, 60,
- 61, 24, 81, 113, 82, 81, 62, 63, 24, 24,
- 41, 42, 42, 42, 178, 41, 42, 42, 42, 162,
-
- 431, 162, 162, 168, 432, 83, 179, 162, 164, 162,
- 162, 47, 175, 47, 163, 170, 47, 171, 47, 172,
- 173, 64, 163, 47, 225, 226, 176, 24, 24, 66,
- 67, 68, 69, 67, 66, 70, 66, 71, 66, 66,
- 72, 66, 73, 66, 73, 74, 66, 75, 76, 76,
- 76, 66, 77, 66, 66, 78, 78, 78, 78, 78,
- 78, 79, 78, 79, 78, 79, 79, 78, 66, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 80, 78, 78, 78,
- 78, 78, 66, 66, 84, 84, 85, 86, 84, 84,
-
- 87, 84, 84, 84, 84, 88, 84, 89, 84, 89,
- 90, 84, 91, 92, 92, 92, 84, 93, 84, 84,
- 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- 94, 94, 94, 84, 94, 94, 94, 94, 94, 94,
- 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- 94, 95, 94, 94, 94, 94, 94, 84, 84, 24,
- 24, 97, 24, 24, 24, 29, 24, 24, 24, 24,
- 34, 24, 60, 24, 60, 98, 24, 99, 100, 100,
- 100, 24, 63, 24, 24, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 101, 101, 101, 24, 101,
-
- 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 101, 102, 101, 101, 101,
- 101, 101, 24, 24, 103, 103, 104, 103, 103, 103,
- 29, 103, 103, 103, 103, 105, 103, 106, 103, 106,
- 107, 103, 108, 109, 109, 109, 103, 110, 103, 103,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 103, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 112, 111, 111, 111, 111, 111, 103, 103, 114,
- 114, 115, 116, 114, 114, 117, 114, 114, 114, 114,
-
- 118, 114, 119, 114, 119, 120, 114, 121, 122, 122,
- 122, 114, 123, 114, 114, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 114, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 125, 124, 124, 124,
- 124, 124, 114, 114, 126, 126, 127, 128, 126, 126,
- 129, 126, 126, 126, 126, 130, 126, 131, 126, 131,
- 132, 126, 133, 134, 134, 134, 126, 135, 126, 126,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 136, 136, 126, 136, 136, 136, 136, 136, 136,
-
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 137, 136, 136, 136, 136, 136, 126, 126, 138,
- 138, 139, 140, 138, 138, 141, 138, 138, 138, 138,
- 142, 138, 143, 138, 143, 144, 138, 145, 146, 146,
- 146, 138, 147, 138, 138, 148, 148, 148, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 138, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 148, 148, 148, 148, 148, 149, 148, 148, 148,
- 148, 148, 138, 138, 150, 150, 151, 152, 150, 150,
+ 47, 47, 47, 55, 56, 57, 191, 58, 57, 183,
+ 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, 292,
+ 64, 65, 24, 24, 109, 121, 109, 109, 120, 1092,
+ 120, 120, 134, 184, 135, 134, 259, 41, 42, 42,
+ 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,
+ 83, 82, 70, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 84, 82, 82, 82, 82, 82, 70, 70, 88, 88,
+ 89, 90, 88, 88, 91, 88, 88, 88, 88, 92,
+ 88, 93, 88, 93, 94, 88, 95, 96, 96, 96,
+ 88, 97, 88, 88, 98, 98, 98, 98, 98, 98,
+ 98, 98, 98, 98, 98, 98, 98, 88, 98, 98,
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
+ 98, 98, 98, 98, 98, 99, 98, 98, 98, 98,
+ 98, 88, 88, 24, 24, 103, 24, 24, 24, 29,
+ 24, 24, 24, 24, 34, 24, 62, 24, 62, 104,
+
+ 24, 105, 106, 106, 106, 24, 65, 24, 24, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 24, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 108, 107, 107, 107, 107, 107, 24, 24, 110, 110,
+ 111, 110, 110, 110, 29, 110, 110, 110, 110, 112,
+ 110, 113, 110, 113, 114, 110, 115, 116, 116, 116,
+ 110, 117, 110, 110, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 110, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+
+ 118, 118, 118, 118, 118, 119, 118, 118, 118, 118,
+ 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,
+ 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 122, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 133, 132, 132, 132, 132, 132, 122, 122, 136,
+
+ 136, 137, 138, 136, 136, 139, 136, 136, 136, 136,
+ 140, 136, 141, 136, 141, 142, 136, 143, 144, 144,
+ 144, 136, 145, 136, 136, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 136, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 147, 146, 146, 146,
+ 146, 146, 136, 136, 150, 150, 151, 152, 150, 150,
153, 150, 150, 150, 150, 154, 150, 155, 150, 155,
-
156, 150, 157, 158, 158, 158, 150, 159, 150, 150,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
160, 160, 160, 150, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 161, 160, 160, 160, 160, 160, 150, 150, 180,
- 1060, 181, 181, 181, 181, 203, 180, 182, 181, 181,
- 181, 181, 204, 269, 183, 184, 184, 184, 184, 227,
- 228, 185, 1059, 186, 186, 186, 186, 186, 187, 186,
- 186, 186, 186, 186, 186, 186, 299, 186, 188, 189,
- 190, 186, 191, 192, 193, 186, 194, 195, 196, 197,
-
- 186, 198, 186, 199, 200, 201, 186, 186, 186, 202,
- 205, 229, 181, 181, 181, 181, 438, 229, 230, 229,
- 1058, 167, 206, 207, 230, 232, 230, 208, 242, 209,
- 439, 232, 210, 232, 244, 247, 206, 247, 247, 207,
- 205, 230, 181, 181, 181, 181, 269, 209, 269, 229,
- 433, 229, 434, 207, 168, 210, 230, 208, 230, 233,
- 233, 233, 233, 232, 234, 232, 425, 243, 237, 207,
- 211, 426, 212, 821, 245, 213, 1057, 229, 214, 215,
- 216, 217, 218, 219, 230, 229, 220, 269, 221, 222,
- 229, 232, 230, 461, 238, 225, 226, 230, 462, 232,
-
- 247, 164, 247, 247, 232, 180, 229, 181, 181, 181,
- 181, 1056, 230, 230, 246, 235, 277, 893, 211, 269,
- 232, 236, 239, 319, 320, 167, 254, 215, 216, 255,
- 256, 219, 319, 320, 241, 240, 1061, 222, 258, 259,
- 260, 258, 271, 239, 258, 259, 260, 258, 262, 278,
- 262, 459, 262, 262, 186, 248, 300, 186, 168, 186,
- 177, 249, 250, 251, 252, 302, 253, 460, 186, 186,
- 186, 263, 1055, 180, 186, 181, 181, 181, 181, 343,
- 344, 184, 184, 184, 184, 205, 1054, 181, 181, 181,
- 181, 272, 259, 273, 272, 343, 344, 435, 207, 436,
-
- 230, 793, 208, 270, 270, 270, 270, 269, 265, 266,
- 794, 319, 326, 267, 207, 272, 259, 273, 272, 280,
- 323, 281, 281, 281, 281, 282, 282, 282, 282, 319,
- 320, 274, 298, 298, 298, 298, 319, 322, 274, 393,
- 323, 274, 343, 350, 1053, 274, 184, 184, 184, 184,
- 338, 347, 167, 283, 367, 368, 274, 284, 285, 1052,
- 281, 281, 281, 281, 274, 305, 305, 305, 305, 300,
- 286, 287, 394, 324, 296, 288, 300, 289, 297, 300,
- 290, 367, 368, 300, 286, 168, 303, 287, 304, 304,
- 304, 304, 428, 306, 300, 289, 429, 307, 343, 344,
-
- 430, 468, 300, 290, 274, 274, 469, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 362,
- 274, 274, 454, 319, 320, 230, 293, 274, 274, 274,
- 455, 205, 269, 298, 298, 298, 298, 327, 277, 328,
- 328, 328, 328, 274, 207, 343, 344, 456, 208, 367,
- 374, 457, 343, 346, 421, 600, 347, 601, 371, 351,
- 207, 352, 352, 352, 352, 458, 422, 274, 274, 274,
- 274, 278, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 1051, 274, 274, 319, 320, 348,
- 496, 293, 274, 274, 274, 367, 368, 411, 497, 411,
-
- 411, 343, 344, 329, 329, 329, 329, 396, 274, 397,
- 397, 397, 397, 596, 294, 318, 386, 353, 353, 353,
- 353, 269, 318, 444, 444, 318, 447, 447, 447, 318,
- 597, 330, 274, 274, 308, 331, 304, 304, 304, 304,
- 318, 398, 398, 398, 398, 354, 309, 310, 318, 355,
- 269, 311, 162, 312, 162, 162, 313, 516, 367, 370,
- 309, 508, 371, 310, 452, 453, 509, 163, 292, 399,
- 891, 312, 1050, 400, 412, 412, 412, 412, 892, 313,
- 300, 300, 300, 300, 300, 300, 1049, 300, 300, 300,
- 300, 300, 300, 300, 300, 372, 300, 300, 393, 342,
-
- 471, 472, 316, 300, 300, 300, 342, 635, 366, 342,
- 1048, 367, 368, 342, 247, 366, 247, 247, 366, 300,
- 339, 468, 366, 897, 342, 375, 469, 376, 376, 376,
- 376, 394, 342, 366, 413, 413, 413, 413, 947, 470,
- 636, 366, 339, 300, 300, 300, 300, 300, 300, 300,
- 300, 1047, 300, 300, 300, 300, 300, 300, 300, 300,
- 363, 300, 300, 899, 390, 452, 488, 316, 300, 300,
- 300, 390, 503, 503, 390, 367, 368, 1046, 390, 414,
- 414, 414, 414, 1045, 300, 415, 415, 415, 415, 390,
- 317, 377, 377, 377, 377, 521, 521, 390, 184, 184,
-
- 184, 184, 468, 184, 184, 184, 184, 526, 300, 300,
- 319, 320, 428, 300, 416, 387, 429, 177, 901, 378,
- 487, 269, 302, 379, 332, 1044, 328, 328, 328, 328,
- 416, 443, 443, 443, 443, 1043, 333, 334, 229, 319,
- 320, 335, 416, 336, 943, 230, 337, 319, 320, 445,
- 333, 445, 232, 334, 446, 446, 446, 446, 416, 319,
- 320, 336, 258, 259, 260, 258, 506, 506, 506, 337,
- 318, 318, 319, 320, 318, 318, 318, 318, 318, 318,
- 318, 318, 318, 318, 318, 408, 318, 318, 903, 229,
- 319, 322, 340, 318, 318, 318, 230, 205, 269, 181,
-
- 181, 181, 181, 232, 987, 229, 229, 319, 320, 318,
- 207, 1042, 230, 230, 208, 476, 476, 476, 476, 232,
- 232, 258, 259, 260, 258, 822, 207, 491, 491, 491,
- 491, 490, 1041, 318, 318, 318, 318, 319, 320, 318,
- 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
- 292, 318, 318, 1040, 229, 229, 477, 340, 318, 318,
- 318, 230, 230, 229, 229, 229, 230, 988, 232, 232,
- 230, 230, 230, 269, 318, 343, 344, 232, 232, 232,
- 341, 229, 272, 259, 273, 272, 343, 344, 230, 1039,
- 481, 272, 259, 273, 272, 232, 343, 344, 318, 318,
-
- 343, 344, 319, 326, 478, 479, 480, 343, 346, 498,
- 1038, 323, 483, 292, 356, 482, 352, 352, 352, 352,
- 524, 524, 524, 484, 343, 344, 357, 358, 319, 326,
- 315, 359, 895, 360, 367, 368, 361, 323, 319, 322,
- 357, 230, 323, 358, 270, 270, 270, 270, 269, 343,
- 350, 360, 282, 282, 282, 282, 367, 368, 347, 361,
- 342, 342, 343, 344, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 324, 342, 342, 305, 305,
- 305, 305, 364, 342, 342, 342, 1037, 285, 580, 281,
- 281, 281, 281, 581, 282, 282, 282, 282, 948, 342,
-
- 287, 504, 339, 504, 288, 499, 505, 505, 505, 505,
- 367, 368, 522, 985, 522, 1024, 287, 523, 523, 523,
- 523, 499, 1036, 342, 342, 342, 342, 343, 344, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 269, 342, 342, 367, 370, 319, 320, 364, 342, 342,
- 342, 502, 502, 502, 502, 205, 941, 298, 298, 298,
- 298, 292, 499, 944, 342, 319, 320, 949, 207, 269,
- 365, 363, 208, 319, 322, 343, 344, 323, 499, 319,
- 320, 367, 368, 1035, 207, 343, 350, 640, 342, 342,
- 367, 368, 530, 676, 347, 533, 533, 677, 308, 1034,
-
- 304, 304, 304, 304, 380, 1033, 376, 376, 376, 376,
- 324, 310, 531, 575, 575, 311, 381, 382, 319, 320,
- 641, 383, 544, 384, 444, 444, 385, 310, 319, 320,
- 381, 343, 344, 382, 329, 329, 329, 329, 319, 320,
- 1032, 384, 538, 942, 536, 536, 536, 539, 292, 385,
- 366, 366, 367, 368, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 1031, 366, 366, 305, 305,
- 305, 305, 388, 366, 366, 366, 617, 1030, 545, 517,
- 520, 520, 520, 520, 618, 319, 320, 619, 950, 366,
- 998, 517, 363, 343, 346, 517, 534, 347, 534, 367,
-
- 374, 535, 535, 535, 535, 343, 346, 517, 371, 347,
- 367, 368, 990, 366, 366, 366, 366, 367, 368, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 348, 366, 366, 988, 319, 320, 230, 388, 366, 366,
- 366, 986, 348, 269, 367, 370, 319, 320, 371, 1023,
- 329, 329, 329, 329, 366, 343, 344, 558, 343, 344,
- 389, 529, 532, 532, 532, 532, 503, 503, 367, 368,
- 811, 547, 547, 529, 550, 550, 550, 529, 366, 366,
- 401, 372, 397, 397, 397, 397, 951, 343, 344, 529,
- 387, 552, 402, 403, 343, 344, 553, 404, 411, 405,
-
- 411, 411, 406, 343, 344, 1022, 402, 367, 368, 403,
- 353, 353, 353, 353, 548, 559, 548, 405, 1021, 549,
- 549, 549, 549, 561, 561, 406, 390, 390, 1020, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 991, 390, 390, 343, 344, 367, 374, 409, 390,
- 390, 390, 578, 578, 578, 371, 521, 521, 367, 368,
- 353, 353, 353, 353, 952, 390, 343, 344, 387, 367,
- 370, 543, 1019, 371, 377, 377, 377, 377, 398, 398,
- 398, 398, 546, 546, 546, 546, 339, 543, 663, 390,
- 390, 390, 390, 543, 390, 390, 390, 390, 390, 390,
-
- 390, 390, 390, 390, 390, 390, 372, 390, 390, 543,
- 367, 368, 1018, 409, 390, 390, 390, 412, 412, 412,
- 412, 664, 367, 368, 575, 575, 377, 377, 377, 377,
- 390, 805, 806, 367, 368, 1017, 410, 557, 564, 564,
- 564, 413, 413, 413, 413, 414, 414, 414, 414, 560,
- 560, 560, 560, 557, 390, 390, 507, 507, 507, 507,
- 557, 415, 415, 415, 415, 507, 507, 507, 367, 368,
- 319, 320, 566, 447, 447, 447, 557, 567, 1016, 507,
- 507, 507, 507, 507, 507, 274, 274, 1015, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
-
- 667, 274, 274, 367, 368, 747, 1014, 293, 274, 274,
- 274, 506, 506, 506, 562, 987, 562, 1025, 690, 563,
- 563, 563, 563, 401, 274, 397, 397, 397, 397, 446,
- 446, 446, 446, 668, 817, 818, 403, 576, 748, 576,
- 404, 1013, 577, 577, 577, 577, 319, 320, 274, 274,
- 274, 274, 403, 274, 274, 274, 510, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 274,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
-
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 274, 274, 274, 274, 1012, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
- 1011, 274, 274, 398, 398, 398, 398, 293, 274, 274,
- 274, 524, 524, 524, 571, 574, 574, 574, 574, 1010,
- 443, 443, 443, 443, 274, 1009, 571, 585, 985, 585,
- 571, 416, 586, 586, 586, 586, 446, 446, 446, 446,
- 319, 693, 571, 512, 319, 320, 269, 416, 274, 274,
- 525, 525, 525, 525, 1008, 229, 229, 229, 229, 525,
- 525, 525, 230, 230, 230, 230, 1007, 343, 344, 232,
-
- 232, 232, 232, 525, 525, 525, 525, 525, 525, 300,
- 300, 300, 300, 300, 300, 1006, 300, 300, 300, 300,
- 300, 300, 300, 300, 691, 300, 300, 1005, 229, 645,
- 229, 316, 300, 300, 300, 230, 1004, 230, 505, 505,
- 505, 505, 232, 1003, 232, 708, 319, 697, 300, 491,
- 491, 491, 491, 490, 658, 694, 658, 319, 320, 659,
- 659, 659, 659, 505, 505, 505, 505, 523, 523, 523,
- 523, 648, 300, 300, 300, 300, 300, 300, 300, 300,
- 474, 300, 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
-
- 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
- 527, 527, 527, 300, 527, 527, 527, 527, 527, 527,
- 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
- 527, 527, 527, 527, 527, 527, 527, 300, 300, 300,
- 300, 300, 300, 300, 300, 1002, 300, 300, 300, 300,
- 300, 300, 300, 300, 1001, 300, 300, 319, 699, 229,
- 230, 316, 300, 300, 300, 229, 230, 269, 1000, 229,
- 953, 300, 230, 232, 408, 637, 230, 999, 300, 232,
- 683, 367, 368, 232, 319, 320, 751, 502, 502, 502,
- 502, 656, 578, 578, 578, 657, 649, 528, 499, 230,
-
- 533, 533, 300, 300, 319, 320, 269, 646, 319, 693,
- 644, 647, 694, 635, 499, 343, 715, 640, 332, 752,
- 328, 328, 328, 328, 712, 520, 520, 520, 520, 726,
- 663, 334, 678, 812, 678, 335, 517, 679, 679, 679,
- 679, 523, 523, 523, 523, 695, 636, 334, 319, 320,
- 641, 984, 517, 319, 320, 343, 344, 945, 343, 344,
- 319, 320, 315, 664, 537, 537, 537, 537, 989, 535,
- 535, 535, 535, 537, 537, 537, 535, 535, 535, 535,
- 667, 367, 368, 577, 577, 577, 577, 537, 537, 537,
- 537, 537, 537, 318, 318, 319, 320, 318, 318, 318,
-
- 318, 318, 318, 318, 318, 318, 318, 318, 709, 318,
- 318, 319, 320, 668, 315, 340, 318, 318, 318, 319,
- 320, 989, 688, 1024, 688, 343, 344, 689, 689, 689,
- 689, 727, 318, 343, 344, 536, 536, 536, 367, 368,
- 946, 547, 547, 983, 706, 315, 706, 343, 711, 707,
- 707, 707, 707, 982, 561, 561, 318, 318, 318, 318,
- 319, 320, 318, 318, 540, 318, 318, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
- 318, 318, 318, 318, 541, 541, 541, 541, 541, 541,
- 541, 541, 541, 541, 541, 541, 541, 318, 541, 541,
-
- 541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
- 541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
- 541, 318, 318, 318, 318, 319, 320, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 318, 318, 981, 318,
- 318, 319, 320, 367, 733, 340, 318, 318, 318, 343,
- 344, 980, 730, 343, 344, 343, 717, 532, 532, 532,
- 532, 979, 318, 319, 699, 367, 368, 700, 529, 546,
- 546, 546, 546, 978, 343, 344, 577, 577, 577, 577,
- 543, 542, 367, 729, 529, 747, 318, 318, 343, 344,
- 549, 549, 549, 549, 343, 344, 543, 343, 711, 954,
-
- 701, 712, 356, 408, 352, 352, 352, 352, 343, 344,
- 549, 549, 549, 549, 751, 358, 343, 717, 748, 359,
- 718, 986, 229, 229, 550, 550, 550, 367, 368, 230,
- 230, 358, 343, 344, 713, 977, 232, 232, 724, 269,
- 724, 367, 368, 725, 725, 725, 725, 752, 551, 551,
- 551, 551, 990, 719, 367, 735, 229, 551, 551, 551,
- 367, 729, 230, 230, 730, 586, 586, 586, 586, 269,
- 232, 551, 551, 551, 551, 551, 551, 342, 342, 343,
- 344, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 939, 342, 342, 367, 368, 731, 315, 364,
-
- 342, 342, 342, 367, 368, 804, 300, 367, 368, 976,
- 637, 560, 560, 560, 560, 683, 342, 367, 368, 564,
- 564, 564, 557, 563, 563, 563, 563, 586, 586, 586,
- 586, 319, 320, 563, 563, 563, 563, 997, 557, 1029,
- 342, 342, 342, 342, 343, 344, 342, 342, 554, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 342, 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
-
- 555, 555, 555, 555, 555, 342, 342, 342, 342, 343,
- 344, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 975, 342, 342, 574, 574, 574, 574, 364,
- 342, 342, 342, 974, 319, 697, 571, 367, 735, 319,
- 320, 736, 742, 694, 742, 973, 342, 743, 743, 743,
- 743, 972, 571, 229, 229, 659, 659, 659, 659, 971,
- 230, 230, 229, 339, 896, 556, 970, 232, 232, 230,
- 342, 342, 367, 368, 737, 969, 232, 659, 659, 659,
- 659, 679, 679, 679, 679, 968, 380, 967, 376, 376,
- 376, 376, 343, 344, 801, 802, 319, 320, 966, 382,
-
- 846, 319, 320, 383, 319, 320, 803, 679, 679, 679,
- 679, 319, 320, 847, 965, 382, 367, 368, 964, 848,
- 689, 689, 689, 689, 343, 344, 963, 689, 689, 689,
- 689, 992, 565, 565, 565, 565, 319, 320, 962, 827,
- 540, 565, 565, 565, 828, 319, 693, 363, 898, 694,
- 319, 693, 343, 344, 694, 565, 565, 565, 565, 565,
- 565, 366, 366, 367, 368, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 339, 366, 366, 319,
- 697, 961, 695, 388, 366, 366, 366, 695, 694, 343,
- 344, 367, 368, 343, 344, 831, 960, 343, 344, 959,
-
- 366, 554, 367, 368, 956, 707, 707, 707, 707, 707,
- 707, 707, 707, 343, 715, 367, 368, 957, 725, 725,
- 725, 725, 712, 958, 366, 366, 366, 366, 367, 368,
- 366, 366, 568, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 569, 569, 569, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 366, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 366,
- 366, 366, 366, 367, 368, 366, 366, 366, 366, 366,
-
- 366, 366, 366, 366, 366, 366, 993, 366, 366, 343,
- 344, 343, 715, 388, 366, 366, 366, 955, 367, 368,
- 712, 367, 368, 319, 699, 319, 699, 700, 935, 700,
- 366, 343, 711, 343, 711, 712, 934, 712, 343, 717,
- 343, 717, 718, 933, 718, 932, 367, 368, 862, 570,
- 568, 363, 832, 931, 366, 366, 579, 579, 579, 579,
- 701, 835, 701, 863, 836, 579, 579, 579, 713, 864,
- 713, 743, 743, 743, 743, 719, 930, 719, 994, 579,
- 579, 579, 579, 579, 579, 390, 390, 929, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
-
- 928, 390, 390, 367, 368, 367, 733, 409, 390, 390,
- 390, 230, 387, 900, 730, 927, 367, 733, 269, 725,
- 725, 725, 725, 363, 390, 730, 743, 743, 743, 743,
- 408, 902, 938, 229, 938, 938, 319, 320, 229, 938,
- 230, 938, 938, 343, 344, 230, 888, 232, 390, 390,
- 390, 390, 232, 390, 390, 390, 582, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 390,
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 583,
-
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 583, 390, 390, 390, 390, 926, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 995, 390, 390, 925, 230, 230, 924, 409, 390, 390,
- 390, 269, 269, 996, 319, 320, 992, 367, 729, 367,
- 729, 730, 997, 730, 390, 367, 735, 367, 735, 736,
- 229, 736, 229, 229, 923, 940, 998, 230, 922, 230,
- 230, 889, 921, 584, 232, 387, 232, 232, 390, 390,
- 507, 507, 507, 507, 731, 920, 731, 919, 387, 507,
- 507, 507, 737, 918, 737, 367, 368, 408, 917, 916,
-
- 936, 885, 883, 507, 507, 507, 507, 507, 507, 274,
- 274, 408, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 915, 274, 274, 985, 229, 914,
- 913, 670, 274, 274, 274, 230, 985, 912, 230, 986,
- 229, 986, 232, 229, 911, 269, 910, 230, 274, 909,
- 230, 908, 230, 907, 232, 906, 905, 232, 904, 269,
- 319, 320, 991, 817, 1026, 937, 343, 344, 993, 887,
- 1027, 805, 274, 274, 274, 274, 882, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 292,
- 274, 274, 292, 292, 292, 292, 293, 274, 274, 274,
-
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 274, 292, 292, 292, 292, 292, 292,
- 671, 292, 292, 292, 672, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 274, 274, 525,
- 525, 525, 525, 881, 229, 229, 880, 879, 525, 525,
- 525, 230, 230, 343, 344, 994, 878, 877, 232, 232,
- 876, 875, 525, 525, 525, 525, 525, 525, 300, 300,
- 300, 300, 300, 300, 874, 300, 300, 300, 300, 300,
- 300, 300, 300, 873, 300, 300, 872, 871, 884, 870,
- 685, 300, 300, 300, 886, 367, 368, 995, 869, 1028,
-
- 367, 368, 996, 868, 867, 866, 865, 300, 861, 860,
- 859, 858, 857, 856, 855, 854, 853, 852, 851, 850,
- 849, 845, 844, 843, 842, 582, 747, 840, 839, 838,
- 834, 300, 300, 300, 300, 300, 300, 300, 300, 830,
- 300, 300, 300, 300, 300, 300, 300, 300, 315, 300,
- 300, 315, 315, 315, 315, 316, 300, 300, 300, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 300, 315, 315, 315, 315, 315, 315, 686,
- 315, 315, 315, 687, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 300, 300, 319, 320,
-
- 826, 474, 824, 823, 820, 819, 816, 510, 663, 814,
- 813, 810, 809, 808, 537, 537, 537, 537, 807, 474,
- 643, 635, 800, 537, 537, 537, 799, 798, 797, 796,
- 795, 792, 791, 790, 789, 788, 787, 537, 537, 537,
- 537, 537, 537, 318, 318, 319, 320, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 318, 318, 786, 318,
- 318, 785, 784, 783, 782, 703, 318, 318, 318, 781,
- 780, 779, 778, 777, 776, 775, 774, 773, 772, 771,
- 770, 769, 318, 768, 767, 766, 765, 764, 763, 762,
- 761, 760, 759, 758, 757, 747, 745, 744, 681, 680,
-
- 675, 674, 673, 663, 661, 660, 318, 318, 318, 318,
- 319, 320, 318, 318, 318, 318, 318, 318, 318, 318,
- 318, 318, 318, 339, 318, 318, 339, 339, 339, 339,
- 340, 318, 318, 318, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 318, 339, 339,
- 339, 339, 339, 339, 704, 339, 339, 339, 705, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 318, 318, 343, 344, 655, 654, 653, 652, 490,
- 617, 600, 596, 650, 643, 638, 635, 633, 632, 551,
- 551, 551, 551, 631, 630, 629, 628, 627, 551, 551,
-
- 551, 626, 625, 624, 623, 622, 621, 620, 616, 615,
- 614, 613, 551, 551, 551, 551, 551, 551, 342, 342,
- 343, 344, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 612, 342, 342, 611, 610, 609, 608,
- 721, 342, 342, 342, 607, 606, 605, 604, 603, 602,
- 599, 598, 595, 594, 593, 592, 591, 342, 590, 589,
- 588, 587, 573, 572, 393, 519, 518, 515, 514, 513,
- 501, 500, 277, 474, 495, 494, 490, 462, 460, 436,
- 433, 342, 342, 342, 342, 343, 344, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 363, 342,
-
- 342, 363, 363, 363, 363, 364, 342, 342, 342, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 342, 363, 363, 363, 363, 363, 363, 722,
- 363, 363, 363, 723, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 342, 342, 367, 368,
- 431, 486, 422, 485, 474, 269, 473, 467, 466, 463,
- 451, 450, 449, 442, 565, 565, 565, 565, 441, 440,
- 437, 427, 424, 565, 565, 565, 423, 420, 419, 418,
- 167, 407, 393, 391, 314, 269, 295, 565, 565, 565,
- 565, 565, 565, 366, 366, 367, 368, 366, 366, 366,
-
- 366, 366, 366, 366, 366, 366, 366, 366, 291, 366,
- 366, 277, 275, 246, 257, 739, 366, 366, 366, 167,
- 246, 257, 167, 174, 165, 1061, 96, 65, 57, 1061,
- 1061, 1061, 366, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 366, 366, 366, 366,
- 367, 368, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 387, 366, 366, 387, 387, 387, 387,
- 388, 366, 366, 366, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 366, 387, 387,
-
- 387, 387, 387, 387, 740, 387, 387, 387, 741, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 366, 366, 579, 579, 579, 579, 1061, 1061, 1061,
- 1061, 1061, 579, 579, 579, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 579, 579, 579, 579,
- 579, 579, 390, 390, 1061, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 1061, 390, 390,
- 1061, 1061, 1061, 1061, 754, 390, 390, 390, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 390, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 390, 390, 390, 390, 1061,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 408, 390, 390, 408, 408, 408, 408, 409,
- 390, 390, 390, 408, 408, 408, 408, 408, 408, 408,
- 408, 408, 408, 408, 408, 408, 390, 408, 408, 408,
- 408, 408, 408, 755, 408, 408, 408, 756, 408, 408,
- 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
- 390, 390, 274, 274, 1061, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 1061, 274, 274,
-
- 1061, 1061, 1061, 1061, 670, 274, 274, 274, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 274, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 274, 274, 274, 274, 1061,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 274, 292, 274, 274, 292, 292, 292, 292, 293,
- 274, 274, 274, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 274, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 815, 292, 292, 292,
-
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 274, 274, 300, 300, 300, 300, 300, 300, 1061, 300,
- 300, 300, 300, 300, 300, 300, 300, 1061, 300, 300,
- 1061, 1061, 1061, 1061, 685, 300, 300, 300, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 300, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 300, 300, 300, 300, 300,
- 300, 300, 300, 1061, 300, 300, 300, 300, 300, 300,
- 300, 300, 315, 300, 300, 315, 315, 315, 315, 316,
-
- 300, 300, 300, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 300, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 825, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 300, 300, 318, 318, 319, 320, 318, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 318, 1061, 318, 318,
- 1061, 1061, 1061, 1061, 703, 318, 318, 318, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 318, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 318, 318, 318, 318, 319,
- 320, 318, 318, 318, 318, 318, 318, 318, 318, 318,
- 318, 318, 339, 318, 318, 339, 339, 339, 339, 340,
- 318, 318, 318, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 318, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 829, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 318, 318, 342, 342, 343, 344, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 1061, 342, 342,
- 1061, 1061, 1061, 1061, 721, 342, 342, 342, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 342, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 342, 342, 342, 342, 343,
- 344, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 363, 342, 342, 363, 363, 363, 363, 364,
- 342, 342, 342, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 342, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 833, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
-
- 342, 342, 366, 366, 367, 368, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 1061, 366, 366,
- 1061, 1061, 1061, 1061, 739, 366, 366, 366, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 366, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 366, 366, 366, 366, 367,
- 368, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 387, 366, 366, 387, 387, 387, 387, 388,
- 366, 366, 366, 387, 387, 387, 387, 387, 387, 387,
-
- 387, 387, 387, 387, 387, 387, 366, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 837, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 366, 366, 390, 390, 1061, 390, 390, 390, 390, 390,
- 390, 390, 390, 390, 390, 390, 390, 1061, 390, 390,
- 1061, 1061, 1061, 1061, 754, 390, 390, 390, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 390, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 390, 390, 390, 390, 1061,
-
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 390, 408, 390, 390, 408, 408, 408, 408, 409,
- 390, 390, 390, 408, 408, 408, 408, 408, 408, 408,
- 408, 408, 408, 408, 408, 408, 390, 408, 408, 408,
- 408, 408, 408, 408, 408, 408, 841, 408, 408, 408,
- 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
- 390, 390, 274, 274, 1061, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 292, 274, 274,
- 292, 292, 292, 292, 293, 274, 274, 274, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
-
- 292, 274, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 890, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 274, 274, 300, 300, 300,
- 300, 300, 300, 1061, 300, 300, 300, 300, 300, 300,
- 300, 300, 315, 300, 300, 315, 315, 315, 315, 316,
- 300, 300, 300, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 300, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 894, 315, 315,
+ 160, 161, 160, 160, 160, 160, 160, 150, 150, 164,
+ 164, 165, 166, 164, 164, 167, 164, 164, 164, 164,
+ 168, 164, 169, 164, 169, 170, 164, 171, 172, 172,
+ 172, 164, 173, 164, 164, 174, 174, 174, 174, 174,
+ 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, 300, 178, 178, 178, 180,
+
+ 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, 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, 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, 327, 225, 280, 245, 280, 280, 1088, 223,
+ 254, 226, 246, 224, 255, 249, 249, 249, 249, 248,
+ 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,
- 300, 300, 166, 1061, 166, 166, 166, 166, 166, 166,
+ 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,
- 166, 166, 166, 169, 1061, 1061, 169, 169, 177, 1061,
- 177, 177, 177, 177, 177, 177, 177, 177, 177, 231,
- 231, 231, 231, 231, 231, 231, 231, 261, 261, 261,
- 261, 264, 1061, 264, 1061, 264, 264, 264, 264, 268,
- 268, 268, 268, 268, 268, 268, 274, 1061, 274, 274,
- 274, 274, 274, 274, 274, 274, 274, 276, 1061, 276,
- 276, 276, 276, 276, 276, 276, 276, 276, 279, 1061,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 292,
- 1061, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 230, 230, 230, 230, 230, 230, 230, 300, 300, 1061,
-
- 300, 300, 300, 300, 300, 300, 300, 300, 301, 301,
- 301, 301, 301, 301, 301, 301, 301, 301, 301, 315,
- 315, 1061, 315, 315, 315, 315, 315, 315, 315, 315,
- 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
- 318, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 345, 345, 345, 345, 345,
- 345, 345, 345, 345, 345, 345, 349, 349, 349, 349,
-
- 349, 349, 349, 349, 349, 349, 349, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 369,
- 369, 369, 369, 369, 369, 369, 369, 369, 369, 369,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
- 373, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 390, 1061, 390, 390, 390, 390, 390, 390,
- 390, 390, 390, 392, 1061, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 395, 1061, 395, 395, 395, 395,
- 395, 395, 395, 395, 395, 408, 1061, 408, 408, 408,
-
- 408, 408, 408, 408, 408, 408, 169, 1061, 1061, 169,
- 169, 177, 1061, 177, 177, 177, 177, 177, 177, 177,
- 177, 177, 417, 1061, 1061, 417, 417, 417, 448, 1061,
- 1061, 448, 230, 230, 230, 230, 230, 230, 230, 231,
- 231, 231, 231, 231, 231, 231, 231, 475, 1061, 1061,
- 1061, 1061, 475, 475, 475, 475, 489, 489, 489, 489,
- 489, 489, 492, 492, 492, 492, 493, 1061, 493, 493,
- 493, 493, 268, 268, 268, 268, 268, 268, 268, 274,
- 1061, 274, 274, 274, 274, 274, 274, 274, 274, 274,
- 276, 1061, 276, 276, 276, 276, 276, 276, 276, 276,
-
- 276, 279, 1061, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 292, 1061, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 300, 300, 1061, 300, 300, 300, 300,
- 300, 300, 300, 300, 301, 301, 301, 301, 301, 301,
- 301, 301, 301, 301, 301, 315, 315, 1061, 315, 315,
- 315, 315, 315, 315, 315, 315, 318, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 318, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325, 325, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
-
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 345, 345, 349, 349, 349, 349, 349, 349, 349, 349,
- 349, 349, 349, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 369, 369, 369, 369, 369,
- 369, 369, 369, 369, 369, 369, 373, 373, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 390, 1061,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 392,
-
- 1061, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 395, 1061, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 408, 1061, 408, 408, 408, 408, 408, 408, 408,
- 408, 408, 169, 1061, 1061, 169, 169, 417, 1061, 1061,
- 417, 417, 417, 448, 1061, 1061, 448, 634, 1061, 634,
- 634, 634, 634, 634, 634, 634, 634, 634, 637, 1061,
- 637, 637, 637, 637, 637, 637, 637, 637, 637, 639,
- 1061, 639, 639, 639, 639, 639, 639, 639, 639, 639,
- 642, 642, 642, 642, 642, 642, 642, 231, 231, 231,
- 231, 231, 231, 231, 231, 489, 489, 489, 489, 489,
-
- 489, 651, 1061, 651, 651, 651, 651, 493, 1061, 493,
- 493, 493, 493, 268, 268, 268, 268, 268, 268, 268,
- 274, 1061, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 662, 1061, 662, 662, 662, 662, 662, 662, 662,
- 662, 662, 665, 1061, 665, 665, 665, 665, 665, 665,
- 665, 665, 665, 666, 1061, 666, 666, 666, 666, 666,
- 666, 666, 666, 666, 669, 1061, 669, 669, 669, 669,
- 669, 669, 669, 669, 669, 230, 230, 230, 230, 230,
- 230, 230, 300, 300, 1061, 300, 300, 300, 300, 300,
- 300, 300, 300, 682, 682, 682, 682, 682, 682, 682,
-
- 682, 682, 682, 682, 684, 684, 1061, 684, 684, 684,
- 684, 684, 684, 684, 684, 318, 318, 318, 318, 318,
- 318, 318, 318, 318, 318, 318, 692, 692, 692, 692,
- 692, 692, 692, 692, 692, 692, 692, 696, 696, 696,
- 696, 696, 696, 696, 696, 696, 696, 696, 698, 698,
- 698, 698, 698, 698, 698, 698, 698, 698, 698, 702,
- 702, 702, 702, 702, 702, 702, 702, 702, 702, 702,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 710, 710, 710, 710, 710, 710, 710, 710, 710,
- 710, 710, 714, 714, 714, 714, 714, 714, 714, 714,
-
- 714, 714, 714, 716, 716, 716, 716, 716, 716, 716,
- 716, 716, 716, 716, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734, 734, 738,
- 738, 738, 738, 738, 738, 738, 738, 738, 738, 738,
- 390, 1061, 390, 390, 390, 390, 390, 390, 390, 390,
- 390, 746, 1061, 746, 746, 746, 746, 746, 746, 746,
-
- 746, 746, 749, 1061, 749, 749, 749, 749, 749, 749,
- 749, 749, 749, 750, 1061, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 753, 1061, 753, 753, 753, 753,
- 753, 753, 753, 753, 753, 417, 1061, 1061, 417, 417,
- 417, 634, 1061, 634, 634, 634, 634, 634, 634, 634,
- 634, 634, 637, 1061, 637, 637, 637, 637, 637, 637,
- 637, 637, 637, 639, 1061, 639, 639, 639, 639, 639,
- 639, 639, 639, 639, 642, 642, 642, 642, 642, 642,
- 642, 231, 231, 231, 231, 231, 231, 231, 231, 651,
- 1061, 651, 651, 651, 651, 493, 1061, 493, 493, 493,
-
- 493, 268, 268, 268, 268, 268, 268, 268, 274, 1061,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 662,
- 1061, 662, 662, 662, 662, 662, 662, 662, 662, 662,
- 665, 1061, 665, 665, 665, 665, 665, 665, 665, 665,
- 665, 666, 1061, 666, 666, 666, 666, 666, 666, 666,
- 666, 666, 669, 1061, 669, 669, 669, 669, 669, 669,
- 669, 669, 669, 230, 230, 230, 230, 230, 230, 230,
- 300, 300, 1061, 300, 300, 300, 300, 300, 300, 300,
- 300, 682, 682, 682, 682, 682, 682, 682, 682, 682,
- 682, 682, 684, 684, 1061, 684, 684, 684, 684, 684,
-
- 684, 684, 684, 318, 318, 318, 318, 318, 318, 318,
- 318, 318, 318, 318, 692, 692, 692, 692, 692, 692,
- 692, 692, 692, 692, 692, 696, 696, 696, 696, 696,
- 696, 696, 696, 696, 696, 696, 698, 698, 698, 698,
- 698, 698, 698, 698, 698, 698, 698, 702, 702, 702,
- 702, 702, 702, 702, 702, 702, 702, 702, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 710,
- 710, 710, 710, 710, 710, 710, 710, 710, 710, 710,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 716, 716, 716, 716, 716, 716, 716, 716, 716,
-
- 716, 716, 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738, 390, 1061,
- 390, 390, 390, 390, 390, 390, 390, 390, 390, 746,
- 1061, 746, 746, 746, 746, 746, 746, 746, 746, 746,
- 749, 1061, 749, 749, 749, 749, 749, 749, 749, 749,
-
- 749, 750, 1061, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 753, 1061, 753, 753, 753, 753, 753, 753,
- 753, 753, 753, 417, 1061, 1061, 417, 417, 417, 231,
- 231, 231, 231, 231, 231, 231, 231, 493, 1061, 493,
- 493, 493, 493, 268, 268, 268, 268, 268, 268, 268,
- 274, 1061, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 230, 230, 230, 230, 230, 230, 230, 300, 300,
- 1061, 300, 300, 300, 300, 300, 300, 300, 300, 23,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061
+ 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, 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, 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, 396, 396, 422, 422, 1094, 422, 422, 422,
+
+ 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,
+ 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, 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[7046] =
+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,
@@ -1612,582 +1648,560 @@
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, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 220, 3, 3, 3,
- 29, 44, 44, 3, 3, 220, 3, 3, 13, 3,
- 3, 3, 6, 14, 6, 6, 3, 3, 3, 3,
- 13, 13, 13, 13, 35, 14, 14, 14, 14, 25,
-
- 196, 25, 25, 29, 196, 6, 35, 27, 27, 27,
- 27, 3, 33, 3, 25, 31, 3, 31, 3, 31,
- 31, 3, 27, 3, 45, 45, 33, 3, 3, 5,
+ 1, 1, 1, 1, 1, 2, 33, 2, 2, 29,
+ 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, 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,
+ 212, 3, 3, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 7, 7, 7, 7, 7, 7,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
-
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 11, 11, 11, 11, 11, 11,
+ 9, 9, 9, 9, 9, 9, 9, 9, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+ 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,
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, 15, 15, 15, 15,
- 15, 15, 15, 15, 17, 17, 17, 17, 17, 17,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 17,
+
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
-
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 21, 21, 21, 21, 21, 21,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
-
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 36,
- 1055, 36, 36, 36, 36, 40, 38, 36, 38, 38,
- 38, 38, 40, 102, 38, 39, 39, 39, 39, 46,
- 46, 39, 1051, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 102, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 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, 1080,
+ 38, 39, 39, 39, 39, 47, 233, 39, 91, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 41, 47, 41, 41, 41, 41, 200, 51, 47, 49,
- 1050, 70, 41, 41, 51, 47, 49, 41, 55, 41,
- 200, 51, 41, 49, 56, 58, 41, 58, 58, 41,
- 42, 78, 42, 42, 42, 42, 676, 41, 78, 48,
- 197, 52, 197, 42, 70, 41, 48, 42, 52, 48,
- 48, 48, 48, 48, 49, 52, 193, 55, 51, 42,
- 43, 193, 43, 676, 56, 43, 1049, 50, 43, 43,
- 43, 43, 43, 43, 50, 53, 43, 822, 43, 43,
- 54, 50, 53, 218, 52, 57, 57, 54, 218, 53,
-
- 59, 59, 59, 59, 54, 60, 64, 60, 60, 60,
- 60, 1047, 80, 64, 57, 50, 87, 822, 62, 80,
- 64, 50, 53, 114, 114, 113, 62, 62, 62, 62,
- 62, 62, 116, 116, 54, 53, 61, 62, 67, 67,
- 67, 67, 80, 64, 69, 69, 69, 69, 71, 87,
- 71, 217, 71, 71, 61, 61, 105, 61, 113, 61,
- 105, 61, 61, 61, 61, 105, 61, 217, 61, 61,
- 61, 74, 1046, 73, 61, 73, 73, 73, 73, 126,
- 126, 74, 74, 74, 74, 76, 1044, 76, 76, 76,
- 76, 81, 81, 81, 81, 128, 128, 198, 76, 198,
-
- 79, 627, 76, 79, 79, 79, 79, 79, 74, 74,
- 627, 118, 118, 74, 76, 82, 82, 82, 82, 89,
- 118, 89, 89, 89, 89, 90, 90, 90, 90, 123,
- 123, 92, 99, 99, 99, 99, 117, 117, 92, 153,
- 117, 92, 130, 130, 1043, 92, 98, 98, 98, 98,
- 123, 130, 166, 90, 138, 138, 92, 90, 91, 1040,
- 91, 91, 91, 91, 92, 107, 107, 107, 107, 109,
- 91, 91, 153, 117, 98, 91, 109, 91, 98, 109,
- 91, 140, 140, 109, 91, 166, 106, 91, 106, 106,
- 106, 106, 195, 107, 109, 91, 195, 107, 135, 135,
-
- 195, 257, 109, 91, 94, 94, 257, 94, 94, 94,
- 94, 94, 94, 94, 94, 94, 94, 94, 94, 135,
- 94, 94, 215, 119, 119, 268, 94, 94, 94, 94,
- 215, 100, 268, 100, 100, 100, 100, 119, 276, 119,
- 119, 119, 119, 94, 100, 131, 131, 216, 100, 142,
- 142, 216, 129, 129, 190, 430, 129, 430, 142, 131,
- 100, 131, 131, 131, 131, 216, 190, 94, 94, 95,
- 95, 276, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 1037, 95, 95, 120, 120, 129,
- 267, 95, 95, 95, 95, 147, 147, 163, 267, 163,
-
- 163, 132, 132, 120, 120, 120, 120, 155, 95, 155,
- 155, 155, 155, 427, 95, 122, 147, 132, 132, 132,
- 132, 299, 122, 206, 206, 122, 209, 209, 209, 122,
- 427, 120, 95, 95, 108, 120, 108, 108, 108, 108,
- 122, 156, 156, 156, 156, 132, 108, 108, 122, 132,
- 821, 108, 162, 108, 162, 162, 108, 299, 141, 141,
- 108, 291, 141, 108, 214, 214, 291, 162, 816, 156,
- 816, 108, 1036, 156, 170, 170, 170, 170, 821, 108,
- 111, 111, 111, 111, 111, 111, 1035, 111, 111, 111,
- 111, 111, 111, 111, 111, 141, 111, 111, 392, 134,
-
- 228, 228, 111, 111, 111, 111, 134, 468, 146, 134,
- 1033, 143, 143, 134, 247, 146, 247, 247, 146, 111,
- 830, 223, 146, 830, 134, 143, 223, 143, 143, 143,
- 143, 392, 134, 146, 171, 171, 171, 171, 896, 223,
- 468, 146, 896, 111, 111, 112, 112, 112, 112, 112,
- 112, 1032, 112, 112, 112, 112, 112, 112, 112, 112,
- 834, 112, 112, 834, 158, 254, 254, 112, 112, 112,
- 112, 158, 286, 286, 158, 144, 144, 1031, 158, 172,
- 172, 172, 172, 1030, 112, 173, 173, 173, 173, 158,
- 112, 144, 144, 144, 144, 309, 309, 158, 180, 180,
-
- 180, 180, 314, 184, 184, 184, 184, 314, 112, 112,
- 121, 121, 250, 301, 184, 838, 250, 301, 838, 144,
- 250, 892, 301, 144, 121, 1023, 121, 121, 121, 121,
- 184, 205, 205, 205, 205, 1018, 121, 121, 231, 318,
- 318, 121, 205, 121, 892, 231, 121, 320, 320, 207,
- 121, 207, 231, 121, 207, 207, 207, 207, 205, 323,
- 323, 121, 258, 258, 258, 258, 289, 289, 289, 121,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 842, 124, 124, 842, 235,
- 324, 324, 124, 124, 124, 124, 235, 181, 677, 181,
-
- 181, 181, 181, 235, 941, 233, 234, 335, 335, 124,
- 181, 1017, 233, 234, 181, 233, 233, 233, 233, 233,
- 234, 260, 260, 260, 260, 677, 181, 262, 262, 262,
- 262, 262, 1014, 124, 124, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 941, 125, 125, 1013, 236, 238, 234, 125, 125, 125,
- 125, 236, 238, 237, 240, 239, 271, 942, 236, 238,
- 237, 240, 239, 271, 125, 342, 342, 237, 240, 239,
- 125, 241, 272, 272, 272, 272, 344, 344, 241, 1011,
- 238, 273, 273, 273, 273, 241, 347, 347, 125, 125,
-
- 133, 133, 325, 325, 236, 237, 237, 348, 348, 271,
- 1010, 325, 240, 942, 133, 239, 133, 133, 133, 133,
- 312, 312, 312, 241, 359, 359, 133, 133, 326, 326,
- 826, 133, 826, 133, 366, 366, 133, 326, 321, 321,
- 133, 270, 321, 133, 270, 270, 270, 270, 270, 349,
- 349, 133, 280, 280, 280, 280, 368, 368, 349, 133,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 321, 136, 136, 303, 303,
- 303, 303, 136, 136, 136, 136, 1009, 281, 407, 281,
- 281, 281, 281, 407, 282, 282, 282, 282, 897, 136,
-
- 281, 287, 897, 287, 281, 282, 287, 287, 287, 287,
- 371, 371, 310, 985, 310, 985, 281, 310, 310, 310,
- 310, 282, 1007, 136, 136, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
- 893, 137, 137, 372, 372, 330, 330, 137, 137, 137,
- 137, 285, 285, 285, 285, 298, 890, 298, 298, 298,
- 298, 890, 285, 893, 137, 331, 331, 898, 298, 516,
- 137, 898, 298, 322, 322, 354, 354, 322, 285, 333,
- 333, 383, 383, 1006, 298, 350, 350, 474, 137, 137,
- 145, 145, 330, 516, 350, 333, 333, 516, 304, 1005,
-
- 304, 304, 304, 304, 145, 1004, 145, 145, 145, 145,
- 322, 304, 331, 402, 402, 304, 145, 145, 327, 327,
- 474, 145, 354, 145, 444, 444, 145, 304, 336, 336,
- 145, 355, 355, 145, 327, 327, 327, 327, 338, 338,
- 1002, 145, 338, 891, 336, 336, 336, 338, 891, 145,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 148, 148, 148, 148, 1001, 148, 148, 305, 305,
- 305, 305, 148, 148, 148, 148, 453, 1000, 355, 305,
- 308, 308, 308, 308, 453, 334, 334, 453, 899, 148,
- 998, 308, 899, 345, 345, 305, 334, 345, 334, 373,
-
- 373, 334, 334, 334, 334, 346, 346, 308, 373, 346,
- 378, 378, 990, 148, 148, 149, 149, 149, 149, 149,
- 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
- 345, 149, 149, 988, 329, 329, 656, 149, 149, 149,
- 149, 986, 346, 656, 369, 369, 332, 332, 369, 984,
- 329, 329, 329, 329, 149, 357, 357, 378, 360, 360,
- 149, 329, 332, 332, 332, 332, 503, 503, 379, 379,
- 656, 357, 357, 332, 360, 360, 360, 329, 149, 149,
- 157, 369, 157, 157, 157, 157, 900, 362, 362, 332,
- 900, 362, 157, 157, 351, 351, 362, 157, 411, 157,
-
- 411, 411, 157, 358, 358, 983, 157, 381, 381, 157,
- 351, 351, 351, 351, 358, 379, 358, 157, 982, 358,
- 358, 358, 358, 381, 381, 157, 160, 160, 981, 160,
- 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 947, 160, 160, 353, 353, 374, 374, 160, 160,
- 160, 160, 405, 405, 405, 374, 521, 521, 375, 375,
- 353, 353, 353, 353, 901, 160, 356, 356, 901, 370,
- 370, 353, 979, 370, 375, 375, 375, 375, 396, 396,
- 396, 396, 356, 356, 356, 356, 947, 353, 508, 160,
- 160, 161, 161, 356, 161, 161, 161, 161, 161, 161,
-
- 161, 161, 161, 161, 161, 161, 370, 161, 161, 356,
- 377, 377, 978, 161, 161, 161, 161, 412, 412, 412,
- 412, 508, 384, 384, 575, 575, 377, 377, 377, 377,
- 161, 650, 650, 380, 380, 977, 161, 377, 384, 384,
- 384, 413, 413, 413, 413, 414, 414, 414, 414, 380,
- 380, 380, 380, 377, 161, 161, 290, 290, 290, 290,
- 380, 415, 415, 415, 415, 290, 290, 290, 386, 386,
- 530, 530, 386, 447, 447, 447, 380, 386, 976, 290,
- 290, 290, 290, 290, 290, 292, 292, 975, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
-
- 510, 292, 292, 382, 382, 580, 974, 292, 292, 292,
- 292, 506, 506, 506, 382, 987, 382, 987, 530, 382,
- 382, 382, 382, 397, 292, 397, 397, 397, 397, 445,
- 445, 445, 445, 510, 673, 673, 397, 403, 580, 403,
- 397, 973, 403, 403, 403, 403, 694, 694, 292, 292,
- 293, 293, 397, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
-
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 294, 294, 970, 294, 294,
- 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
- 969, 294, 294, 398, 398, 398, 398, 294, 294, 294,
- 294, 524, 524, 524, 398, 401, 401, 401, 401, 968,
- 443, 443, 443, 443, 294, 967, 401, 416, 943, 416,
- 398, 443, 416, 416, 416, 416, 446, 446, 446, 446,
- 695, 695, 401, 294, 531, 531, 943, 443, 294, 294,
- 313, 313, 313, 313, 965, 476, 478, 479, 480, 313,
- 313, 313, 476, 478, 479, 480, 963, 544, 544, 476,
-
- 478, 479, 480, 313, 313, 313, 313, 313, 313, 315,
- 315, 315, 315, 315, 315, 962, 315, 315, 315, 315,
- 315, 315, 315, 315, 531, 315, 315, 961, 481, 479,
- 483, 315, 315, 315, 315, 481, 960, 483, 504, 504,
- 504, 504, 481, 959, 483, 544, 539, 539, 315, 491,
- 491, 491, 491, 491, 499, 539, 499, 700, 700, 499,
- 499, 499, 499, 505, 505, 505, 505, 522, 522, 522,
- 522, 483, 315, 315, 316, 316, 316, 316, 316, 316,
+ 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, 976, 53, 41, 41,
+ 51, 52, 49, 41, 53, 41, 216, 51, 41, 49,
+ 56, 53, 41, 112, 976, 41, 42, 112, 42, 42,
+
+ 42, 42, 112, 41, 67, 48, 67, 67, 1079, 42,
+ 52, 41, 48, 42, 53, 48, 48, 48, 48, 48,
+ 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,
+ 98, 1070, 98, 98, 114, 114, 114, 114, 98, 98,
+ 98, 98, 463, 106, 463, 106, 106, 106, 106, 135,
+
+ 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, 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, 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, 161, 1033, 161, 161, 348, 359, 359, 794, 161,
+
+ 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, 316, 316, 317,
- 317, 317, 317, 317, 317, 958, 317, 317, 317, 317,
- 317, 317, 317, 317, 957, 317, 317, 701, 701, 484,
- 498, 317, 317, 317, 317, 477, 484, 498, 956, 482,
- 902, 526, 477, 484, 902, 526, 482, 955, 317, 477,
- 526, 558, 558, 482, 533, 533, 582, 502, 502, 502,
- 502, 498, 578, 578, 578, 498, 484, 317, 502, 657,
-
- 533, 533, 317, 317, 328, 328, 657, 482, 538, 538,
- 477, 482, 538, 634, 502, 553, 553, 639, 328, 582,
- 328, 328, 328, 328, 553, 520, 520, 520, 520, 558,
- 662, 328, 517, 657, 517, 328, 520, 517, 517, 517,
- 517, 523, 523, 523, 523, 538, 634, 328, 337, 337,
- 639, 934, 520, 534, 534, 712, 712, 894, 545, 545,
- 535, 535, 894, 662, 337, 337, 337, 337, 945, 534,
- 534, 534, 534, 337, 337, 337, 535, 535, 535, 535,
- 666, 559, 559, 576, 576, 576, 576, 337, 337, 337,
- 337, 337, 337, 339, 339, 339, 339, 339, 339, 339,
-
- 339, 339, 339, 339, 339, 339, 339, 339, 545, 339,
- 339, 529, 529, 666, 945, 339, 339, 339, 339, 536,
- 536, 989, 529, 989, 529, 547, 547, 529, 529, 529,
- 529, 559, 339, 543, 543, 536, 536, 536, 561, 561,
- 895, 547, 547, 932, 543, 895, 543, 713, 713, 543,
- 543, 543, 543, 931, 561, 561, 339, 339, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
-
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 930, 341,
- 341, 532, 532, 567, 567, 341, 341, 341, 341, 718,
- 718, 929, 567, 546, 546, 719, 719, 532, 532, 532,
- 532, 927, 341, 540, 540, 730, 730, 540, 532, 546,
- 546, 546, 546, 926, 548, 548, 577, 577, 577, 577,
- 546, 341, 731, 731, 532, 746, 341, 341, 352, 352,
- 548, 548, 548, 548, 549, 549, 546, 552, 552, 903,
-
- 540, 552, 352, 903, 352, 352, 352, 352, 550, 550,
- 549, 549, 549, 549, 750, 352, 554, 554, 746, 352,
- 554, 944, 644, 645, 550, 550, 550, 557, 557, 644,
- 645, 352, 361, 361, 552, 925, 644, 645, 557, 944,
- 557, 736, 736, 557, 557, 557, 557, 750, 361, 361,
- 361, 361, 946, 554, 737, 737, 649, 361, 361, 361,
- 566, 566, 888, 649, 566, 585, 585, 585, 585, 888,
- 649, 361, 361, 361, 361, 361, 361, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 888, 363, 363, 560, 560, 566, 946, 363,
-
- 363, 363, 363, 564, 564, 649, 682, 562, 562, 924,
- 682, 560, 560, 560, 560, 682, 363, 563, 563, 564,
- 564, 564, 560, 562, 562, 562, 562, 586, 586, 586,
- 586, 827, 827, 563, 563, 563, 563, 997, 560, 997,
- 363, 363, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
-
- 364, 364, 364, 364, 364, 364, 364, 365, 365, 365,
+ 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,
- 365, 365, 923, 365, 365, 574, 574, 574, 574, 365,
- 365, 365, 365, 922, 696, 696, 574, 568, 568, 828,
- 828, 568, 571, 696, 571, 921, 365, 571, 571, 571,
- 571, 920, 574, 646, 647, 658, 658, 658, 658, 918,
- 646, 647, 648, 829, 829, 365, 917, 646, 647, 648,
- 365, 365, 376, 376, 568, 916, 648, 659, 659, 659,
- 659, 678, 678, 678, 678, 915, 376, 914, 376, 376,
- 376, 376, 831, 831, 646, 647, 690, 690, 913, 376,
-
- 761, 691, 691, 376, 688, 688, 648, 679, 679, 679,
- 679, 689, 689, 761, 912, 376, 385, 385, 911, 761,
- 688, 688, 688, 688, 832, 832, 910, 689, 689, 689,
- 689, 948, 385, 385, 385, 385, 703, 703, 909, 690,
- 703, 385, 385, 385, 691, 692, 692, 833, 833, 692,
- 693, 693, 708, 708, 693, 385, 385, 385, 385, 385,
- 385, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 948, 387, 387, 697,
- 697, 908, 692, 387, 387, 387, 387, 693, 697, 706,
- 706, 835, 835, 707, 707, 708, 907, 721, 721, 906,
-
- 387, 721, 724, 724, 905, 706, 706, 706, 706, 707,
- 707, 707, 707, 714, 714, 836, 836, 905, 724, 724,
- 724, 724, 714, 905, 387, 387, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 389, 389, 389, 389, 389, 389, 389, 389, 389,
-
- 389, 389, 389, 389, 389, 389, 949, 389, 389, 709,
- 709, 715, 715, 389, 389, 389, 389, 904, 726, 726,
- 715, 727, 727, 698, 698, 699, 699, 698, 882, 699,
- 389, 710, 710, 711, 711, 710, 881, 711, 716, 716,
- 717, 717, 716, 879, 717, 878, 739, 739, 777, 389,
- 739, 949, 709, 876, 389, 389, 406, 406, 406, 406,
- 698, 726, 699, 777, 727, 406, 406, 406, 710, 777,
- 711, 742, 742, 742, 742, 716, 875, 717, 950, 406,
- 406, 406, 406, 406, 406, 408, 408, 874, 408, 408,
- 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
-
- 871, 408, 408, 725, 725, 732, 732, 408, 408, 408,
- 408, 811, 837, 837, 732, 870, 733, 733, 811, 725,
- 725, 725, 725, 950, 408, 733, 743, 743, 743, 743,
- 841, 841, 887, 885, 887, 887, 1026, 1026, 886, 938,
- 885, 938, 938, 1027, 1027, 886, 811, 885, 408, 408,
- 409, 409, 886, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
-
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 410, 410, 869, 410, 410,
- 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
- 951, 410, 410, 868, 812, 889, 867, 410, 410, 410,
- 410, 812, 889, 952, 992, 992, 992, 728, 728, 729,
- 729, 728, 953, 729, 410, 734, 734, 735, 735, 734,
- 801, 735, 803, 883, 865, 889, 954, 801, 864, 803,
- 883, 812, 863, 410, 801, 951, 803, 883, 410, 410,
- 507, 507, 507, 507, 728, 862, 729, 861, 952, 507,
- 507, 507, 734, 860, 735, 1028, 1028, 953, 858, 857,
-
- 883, 803, 801, 507, 507, 507, 507, 507, 507, 511,
- 511, 954, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 856, 511, 511, 939, 884, 855,
- 853, 511, 511, 511, 511, 884, 936, 852, 939, 937,
- 936, 940, 884, 937, 851, 939, 850, 936, 511, 849,
- 937, 848, 940, 847, 936, 846, 844, 937, 843, 940,
- 991, 991, 991, 818, 991, 884, 993, 993, 993, 809,
- 993, 806, 511, 511, 512, 512, 800, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
-
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 525,
- 525, 525, 525, 799, 802, 804, 798, 797, 525, 525,
- 525, 802, 804, 994, 994, 994, 796, 795, 802, 804,
- 794, 793, 525, 525, 525, 525, 525, 525, 527, 527,
- 527, 527, 527, 527, 792, 527, 527, 527, 527, 527,
- 527, 527, 527, 791, 527, 527, 790, 789, 802, 786,
- 527, 527, 527, 527, 804, 995, 995, 995, 785, 995,
-
- 996, 996, 996, 783, 781, 779, 778, 527, 776, 775,
- 774, 773, 772, 771, 770, 769, 768, 766, 765, 764,
- 763, 760, 758, 757, 756, 754, 749, 745, 744, 741,
- 723, 527, 527, 528, 528, 528, 528, 528, 528, 705,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 537, 537,
-
- 687, 685, 681, 680, 675, 674, 672, 670, 665, 661,
- 660, 655, 654, 653, 537, 537, 537, 537, 652, 643,
- 642, 637, 633, 537, 537, 537, 632, 631, 630, 629,
- 628, 626, 625, 624, 623, 622, 621, 537, 537, 537,
- 537, 537, 537, 541, 541, 541, 541, 541, 541, 541,
- 541, 541, 541, 541, 541, 541, 541, 541, 619, 541,
- 541, 618, 617, 616, 615, 541, 541, 541, 541, 614,
- 613, 612, 611, 609, 608, 607, 606, 605, 604, 603,
- 602, 601, 541, 600, 599, 597, 596, 595, 594, 593,
- 592, 591, 590, 589, 588, 581, 573, 572, 519, 518,
-
- 515, 514, 513, 509, 501, 500, 541, 541, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
- 542, 542, 542, 551, 551, 497, 496, 495, 494, 489,
- 488, 487, 486, 485, 475, 472, 469, 467, 466, 551,
- 551, 551, 551, 465, 464, 463, 462, 461, 551, 551,
-
- 551, 460, 459, 458, 457, 456, 455, 454, 452, 451,
- 450, 449, 551, 551, 551, 551, 551, 551, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 441, 555, 555, 440, 439, 438, 437,
- 555, 555, 555, 555, 436, 435, 434, 433, 432, 431,
- 429, 428, 426, 425, 424, 423, 422, 555, 421, 420,
- 419, 418, 400, 399, 395, 307, 306, 297, 296, 295,
- 284, 283, 279, 269, 266, 265, 261, 256, 255, 253,
- 252, 555, 555, 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, 556, 556, 556, 556, 556, 556, 556, 565, 565,
- 251, 249, 248, 246, 232, 230, 229, 222, 221, 219,
- 213, 212, 211, 203, 565, 565, 565, 565, 202, 201,
- 199, 194, 192, 565, 565, 565, 191, 189, 188, 187,
- 177, 159, 154, 152, 110, 101, 96, 565, 565, 565,
- 565, 565, 565, 569, 569, 569, 569, 569, 569, 569,
-
- 569, 569, 569, 569, 569, 569, 569, 569, 93, 569,
- 569, 88, 86, 83, 77, 569, 569, 569, 569, 72,
- 65, 63, 34, 32, 28, 23, 8, 4, 2, 0,
- 0, 0, 569, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 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, 579, 579, 0, 0, 0,
- 0, 0, 579, 579, 579, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 579, 579, 579, 579,
- 579, 579, 583, 583, 0, 583, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 583, 583, 0, 583, 583,
- 0, 0, 0, 0, 583, 583, 583, 583, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 583, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 583, 583, 584, 584, 0,
- 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, 669, 669, 0, 669, 669, 669, 669, 669,
- 669, 669, 669, 669, 669, 669, 669, 0, 669, 669,
+ 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,
- 0, 0, 0, 0, 669, 669, 669, 669, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 669, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0, 0, 0, 669, 669, 671, 671, 0,
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
-
- 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
- 671, 671, 684, 684, 684, 684, 684, 684, 0, 684,
- 684, 684, 684, 684, 684, 684, 684, 0, 684, 684,
- 0, 0, 0, 0, 684, 684, 684, 684, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 684, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 684, 684, 686, 686, 686,
- 686, 686, 686, 0, 686, 686, 686, 686, 686, 686,
- 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
-
- 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
- 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
- 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
- 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
- 686, 686, 702, 702, 702, 702, 702, 702, 702, 702,
- 702, 702, 702, 702, 702, 702, 702, 0, 702, 702,
- 0, 0, 0, 0, 702, 702, 702, 702, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 702, 0, 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, 702, 702, 704, 704, 704,
+ 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, 704, 704, 704, 704, 704, 704,
- 704, 704, 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 720, 0, 720, 720,
- 0, 0, 0, 0, 720, 720, 720, 720, 0, 0,
+ 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, 720, 0, 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, 720, 720, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722,
-
- 722, 722, 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 0, 738, 738,
- 0, 0, 0, 0, 738, 738, 738, 738, 0, 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, 738, 0, 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, 738, 738, 740, 740, 740,
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
-
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
- 740, 740, 753, 753, 0, 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, 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, 753, 0, 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, 753, 753, 755, 755, 0,
+ 0, 0, 0, 0, 0, 0, 0, 753, 753, 755,
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
@@ -2195,194 +2209,241 @@
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, 815, 815, 0, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
-
- 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 825, 825, 825,
- 825, 825, 825, 0, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 1062, 0, 1062, 1062, 1062, 1062, 1062, 1062,
-
- 1062, 1062, 1062, 1063, 0, 0, 1063, 1063, 1064, 0,
- 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065,
- 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, 1066,
- 1066, 1067, 0, 1067, 0, 1067, 1067, 1067, 1067, 1068,
- 1068, 1068, 1068, 1068, 1068, 1068, 1069, 0, 1069, 1069,
- 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1070, 0, 1070,
- 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1071, 0,
- 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1072,
- 0, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
- 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074, 0,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075,
- 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1076,
- 1076, 0, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
- 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
- 1077, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078,
- 1078, 1078, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079,
- 1079, 1079, 1079, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
- 1080, 1080, 1080, 1080, 1081, 1081, 1081, 1081, 1081, 1081,
- 1081, 1081, 1081, 1081, 1081, 1082, 1082, 1082, 1082, 1082,
- 1082, 1082, 1082, 1082, 1082, 1082, 1083, 1083, 1083, 1083,
-
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1084, 1084,
- 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1085, 1085,
- 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1086,
- 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
- 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
- 1087, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
- 1088, 1088, 1089, 0, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1090, 0, 1090, 1090, 1090, 1090, 1090,
- 1090, 1090, 1090, 1090, 1091, 0, 1091, 1091, 1091, 1091,
- 1091, 1091, 1091, 1091, 1091, 1092, 0, 1092, 1092, 1092,
-
- 1092, 1092, 1092, 1092, 1092, 1092, 1093, 0, 0, 1093,
- 1093, 1094, 0, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1095, 0, 0, 1095, 1095, 1095, 1096, 0,
- 0, 1096, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1098,
- 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1099, 0, 0,
- 0, 0, 1099, 1099, 1099, 1099, 1100, 1100, 1100, 1100,
- 1100, 1100, 1101, 1101, 1101, 1101, 1102, 0, 1102, 1102,
- 1102, 1102, 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, 0, 1107, 1107, 1107, 1107, 1107, 1107,
- 1107, 1107, 1107, 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, 0,
- 1128, 1128, 1128, 1129, 0, 0, 1129, 1130, 0, 1130,
- 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1131, 0,
- 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1132,
- 0, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
- 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134,
- 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1135, 1135, 1135,
-
- 1135, 1136, 0, 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, 0, 1143, 1143, 1143, 1143,
- 1143, 1143, 1143, 1143, 1143, 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, 0, 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, 1158, 1158, 1158, 1158,
- 1158, 1158, 1158, 1158, 1158, 1158, 1159, 1159, 1159, 1159,
- 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160, 1160, 1160,
- 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1161, 1161,
- 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1162,
- 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1163, 0, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1164, 0, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
-
- 1164, 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, 0, 0, 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, 1173, 1173, 1173, 1173, 1173, 1173, 1174,
- 0, 1174, 1174, 1174, 1174, 1175, 0, 1175, 1175, 1175,
-
- 1175, 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, 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
- 1179, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
- 1180, 1180, 1181, 0, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 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, 0, 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,
+ 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, 0, 771, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+
+ 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, 0, 786, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+ 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,
+ 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,
- 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, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 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, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
- 1204, 1204, 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205,
- 1205, 1205, 1205, 1206, 0, 0, 1206, 1206, 1206, 1207,
- 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1208, 0, 1208,
- 1208, 1208, 1208, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
- 1210, 0, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1212, 1212,
- 0, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
-
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1061
+ 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, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211, 1211,
+
+ 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, 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.
*/
@@ -2460,10 +2521,14 @@
static void include_file(PARROT_INTERP, char *file_name, ARGMOD(void *yyscanner));
+static int handle_identifier(PARROT_INTERP, YYSTYPE *valp, ARGIN(const char *id));
+
#define YY_DECL int yylex(YYSTYPE *valp,yyscan_t yyscanner,PARROT_INTERP)
#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); \
@@ -2489,7 +2554,7 @@
-#line 2493 "compilers/imcc/imclexer.c"
+#line 2558 "compilers/imcc/imclexer.c"
#define INITIAL 0
#define emit 1
@@ -2734,7 +2799,7 @@
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 152 "compilers/imcc/imcc.l"
+#line 157 "compilers/imcc/imcc.l"
/* for emacs "*/
if (IMCC_INFO(interp)->expect_pasm == 1 && !IMCC_INFO(interp)->in_pod) {
@@ -2753,7 +2818,7 @@
return 0;
}
-#line 2757 "compilers/imcc/imclexer.c"
+#line 2822 "compilers/imcc/imclexer.c"
if ( !yyg->yy_init )
{
@@ -2807,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 >= 1062 )
+ 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 != 1061 );
+ while ( yy_current_state != 1094 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -2822,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 )
@@ -2834,24 +2911,29 @@
goto yy_find_action;
case 1:
-/* rule 1 can match eol */
YY_RULE_SETUP
-#line 170 "compilers/imcc/imcc.l"
+#line 175 "compilers/imcc/imcc.l"
+{ SET_LINE_NUMBER; }
+ YY_BREAK
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+#line 177 "compilers/imcc/imcc.l"
{
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->frames->heredoc_rest = mem_sys_strdup(yytext);
BEGIN(heredoc2);
}
YY_BREAK
-case 2:
-/* rule 2 can match eol */
+case 3:
+/* rule 3 can match eol */
YY_RULE_SETUP
-#line 175 "compilers/imcc/imcc.l"
+#line 183 "compilers/imcc/imcc.l"
{
/* heredocs have highest priority
* arrange them before all wildcard state matches */
/* Newline in the heredoc. Realloc and cat on. */
- IMCC_INFO(interp)->line++;
IMCC_INFO(interp)->heredoc_content =
(char*)mem_sys_realloc(IMCC_INFO(interp)->heredoc_content,
strlen(IMCC_INFO(interp)->heredoc_content) +
@@ -2860,10 +2942,11 @@
strlen(IMCC_INFO(interp)->heredoc_content), yytext);
}
YY_BREAK
-case 3:
+case 4:
YY_RULE_SETUP
-#line 189 "compilers/imcc/imcc.l"
+#line 196 "compilers/imcc/imcc.l"
{
+ SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
if (STREQ(IMCC_INFO(interp)->heredoc_end, yytext)) {
/* End of the heredoc. */
@@ -2886,7 +2969,7 @@
yy_pop_state(yyscanner);
yy_scan_string(IMCC_INFO(interp)->frames->heredoc_rest,yyscanner);
- /* the EOF rule will increment the line number; decrement here */
+ /* not sure we need this decrement; more testing needed */
IMCC_INFO(interp)->line--;
return STRINGC;
}
@@ -2901,10 +2984,10 @@
}
}
YY_BREAK
-case 4:
-/* rule 4 can match eol */
+case 5:
+/* rule 5 can match eol */
YY_RULE_SETUP
-#line 227 "compilers/imcc/imcc.l"
+#line 235 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt3, yyscanner);
@@ -2915,68 +2998,66 @@
return FILECOMMENT;
}
YY_BREAK
-case 5:
+case 6:
YY_RULE_SETUP
-#line 237 "compilers/imcc/imcc.l"
+#line 245 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
}
YY_BREAK
-case 6:
+case 7:
YY_RULE_SETUP
-#line 242 "compilers/imcc/imcc.l"
+#line 250 "compilers/imcc/imcc.l"
{ yy_push_state(cmt2, yyscanner); }
YY_BREAK
-case 7:
+case 8:
YY_RULE_SETUP
-#line 244 "compilers/imcc/imcc.l"
+#line 252 "compilers/imcc/imcc.l"
{ yy_push_state(cmt1, yyscanner); }
YY_BREAK
-case 8:
+case 9:
YY_RULE_SETUP
-#line 246 "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;
}
YY_BREAK
-case 9:
-/* rule 9 can match eol */
+case 10:
+/* rule 10 can match eol */
YY_RULE_SETUP
-#line 253 "compilers/imcc/imcc.l"
+#line 261 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
- IMCC_INFO(interp)->line++;
}
YY_BREAK
-case 10:
-/* rule 10 can match eol */
+case 11:
+/* rule 11 can match eol */
YY_RULE_SETUP
-#line 258 "compilers/imcc/imcc.l"
+#line 265 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
IMCC_INFO(interp)->expect_pasm = 0;
- IMCC_INFO(interp)->line++;
return '\n';
}
YY_BREAK
-case 11:
+case 12:
YY_RULE_SETUP
-#line 268 "compilers/imcc/imcc.l"
+#line 274 "compilers/imcc/imcc.l"
{
yy_push_state(cmt5, yyscanner);
}
YY_BREAK
-case 12:
-/* rule 12 can match eol */
+case 13:
+/* rule 13 can match eol */
YY_RULE_SETUP
-#line 272 "compilers/imcc/imcc.l"
+#line 278 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
@@ -2984,512 +3065,513 @@
yy_pop_state(yyscanner);
IMCC_INFO(interp)->expect_pasm = 0;
- IMCC_INFO(interp)->line++;
return '\n';
}
YY_BREAK
-case 13:
-/* rule 13 can match eol */
+case 14:
+/* rule 14 can match eol */
YY_RULE_SETUP
-#line 285 "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 14:
+case 15:
+/* rule 15 can match eol */
YY_RULE_SETUP
-#line 290 "compilers/imcc/imcc.l"
+#line 295 "compilers/imcc/imcc.l"
{
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 1;
yy_push_state(pod, yyscanner);
}
YY_BREAK
-case 15:
-/* rule 15 can match eol */
+case 16:
+/* rule 16 can match eol */
YY_RULE_SETUP
-#line 295 "compilers/imcc/imcc.l"
+#line 301 "compilers/imcc/imcc.l"
{
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 0;
yy_pop_state(yyscanner);
- IMCC_INFO(interp)->line++;
}
YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 301 "compilers/imcc/imcc.l"
-{ /*ignore*/ }
- YY_BREAK
case 17:
-/* rule 17 can match eol */
YY_RULE_SETUP
-#line 303 "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 305 "compilers/imcc/imcc.l"
-return TK_LINE;
+#line 309 "compilers/imcc/imcc.l"
+{ /* ignore */ }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 306 "compilers/imcc/imcc.l"
-return TK_FILE;
+#line 311 "compilers/imcc/imcc.l"
+return TK_LINE;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 307 "compilers/imcc/imcc.l"
-return ANNOTATE;
+#line 312 "compilers/imcc/imcc.l"
+return TK_FILE;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 308 "compilers/imcc/imcc.l"
-return LEXICAL;
+#line 313 "compilers/imcc/imcc.l"
+return ANNOTATE;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 309 "compilers/imcc/imcc.l"
-return ARG;
+#line 314 "compilers/imcc/imcc.l"
+return LEXICAL;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 310 "compilers/imcc/imcc.l"
-return SUB;
+#line 315 "compilers/imcc/imcc.l"
+return ARG;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 311 "compilers/imcc/imcc.l"
-return ESUB;
+#line 316 "compilers/imcc/imcc.l"
+return SUB;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 312 "compilers/imcc/imcc.l"
-return PCC_BEGIN;
+#line 317 "compilers/imcc/imcc.l"
+return ESUB;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 313 "compilers/imcc/imcc.l"
-return PCC_END;
+#line 318 "compilers/imcc/imcc.l"
+return PCC_BEGIN;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 314 "compilers/imcc/imcc.l"
-return PCC_CALL;
+#line 319 "compilers/imcc/imcc.l"
+return PCC_END;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 315 "compilers/imcc/imcc.l"
-return NCI_CALL;
+#line 320 "compilers/imcc/imcc.l"
+return PCC_CALL;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 316 "compilers/imcc/imcc.l"
-return METH_CALL;
+#line 321 "compilers/imcc/imcc.l"
+return NCI_CALL;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 317 "compilers/imcc/imcc.l"
-return INVOCANT;
+#line 322 "compilers/imcc/imcc.l"
+return METH_CALL;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 318 "compilers/imcc/imcc.l"
-return PCC_SUB;
+#line 323 "compilers/imcc/imcc.l"
+return INVOCANT;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 319 "compilers/imcc/imcc.l"
-return PCC_BEGIN_RETURN;
+#line 324 "compilers/imcc/imcc.l"
+return PCC_SUB;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 320 "compilers/imcc/imcc.l"
-return PCC_END_RETURN;
+#line 325 "compilers/imcc/imcc.l"
+return PCC_BEGIN_RETURN;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 321 "compilers/imcc/imcc.l"
-return PCC_BEGIN_YIELD;
+#line 326 "compilers/imcc/imcc.l"
+return PCC_END_RETURN;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 322 "compilers/imcc/imcc.l"
-return PCC_END_YIELD;
+#line 327 "compilers/imcc/imcc.l"
+return PCC_BEGIN_YIELD;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 324 "compilers/imcc/imcc.l"
-return METHOD;
+#line 328 "compilers/imcc/imcc.l"
+return PCC_END_YIELD;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 325 "compilers/imcc/imcc.l"
-return MULTI;
+#line 330 "compilers/imcc/imcc.l"
+return METHOD;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 326 "compilers/imcc/imcc.l"
-return MAIN;
+#line 331 "compilers/imcc/imcc.l"
+return MULTI;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 327 "compilers/imcc/imcc.l"
-return LOAD;
+#line 332 "compilers/imcc/imcc.l"
+return MAIN;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 328 "compilers/imcc/imcc.l"
-return INIT;
+#line 333 "compilers/imcc/imcc.l"
+return LOAD;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 329 "compilers/imcc/imcc.l"
-return IMMEDIATE;
+#line 334 "compilers/imcc/imcc.l"
+return INIT;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 330 "compilers/imcc/imcc.l"
-return POSTCOMP;
+#line 335 "compilers/imcc/imcc.l"
+return IMMEDIATE;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 331 "compilers/imcc/imcc.l"
-return ANON;
+#line 336 "compilers/imcc/imcc.l"
+return POSTCOMP;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 332 "compilers/imcc/imcc.l"
-return OUTER;
+#line 337 "compilers/imcc/imcc.l"
+return ANON;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 333 "compilers/imcc/imcc.l"
-return NEED_LEX;
+#line 338 "compilers/imcc/imcc.l"
+return OUTER;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 334 "compilers/imcc/imcc.l"
-return VTABLE_METHOD;
+#line 339 "compilers/imcc/imcc.l"
+return NEED_LEX;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 335 "compilers/imcc/imcc.l"
-return NS_ENTRY;
+#line 340 "compilers/imcc/imcc.l"
+return VTABLE_METHOD;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 336 "compilers/imcc/imcc.l"
-return UNIQUE_REG;
+#line 341 "compilers/imcc/imcc.l"
+return NS_ENTRY;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 337 "compilers/imcc/imcc.l"
-return SUB_INSTANCE_OF;
+#line 342 "compilers/imcc/imcc.l"
+return UNIQUE_REG;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 338 "compilers/imcc/imcc.l"
-return SUBID;
+#line 343 "compilers/imcc/imcc.l"
+return SUB_INSTANCE_OF;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 340 "compilers/imcc/imcc.l"
-return RESULT;
+#line 344 "compilers/imcc/imcc.l"
+return SUBID;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 341 "compilers/imcc/imcc.l"
-return GET_RESULTS;
+#line 346 "compilers/imcc/imcc.l"
+return RESULT;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 342 "compilers/imcc/imcc.l"
-return YIELDT;
+#line 347 "compilers/imcc/imcc.l"
+return GET_RESULTS;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 343 "compilers/imcc/imcc.l"
-return SET_YIELD;
+#line 348 "compilers/imcc/imcc.l"
+return YIELDT;
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 344 "compilers/imcc/imcc.l"
-return RETURN;
+#line 349 "compilers/imcc/imcc.l"
+return SET_YIELD;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 345 "compilers/imcc/imcc.l"
-return SET_RETURN;
+#line 350 "compilers/imcc/imcc.l"
+return RETURN;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 346 "compilers/imcc/imcc.l"
-return TAILCALL;
+#line 351 "compilers/imcc/imcc.l"
+return SET_RETURN;
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 347 "compilers/imcc/imcc.l"
-return LOADLIB;
+#line 352 "compilers/imcc/imcc.l"
+return TAILCALL;
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 349 "compilers/imcc/imcc.l"
-return ADV_FLAT;
+#line 353 "compilers/imcc/imcc.l"
+return LOADLIB;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 350 "compilers/imcc/imcc.l"
-return ADV_SLURPY;
+#line 355 "compilers/imcc/imcc.l"
+return ADV_FLAT;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 351 "compilers/imcc/imcc.l"
-return ADV_OPTIONAL;
+#line 356 "compilers/imcc/imcc.l"
+return ADV_SLURPY;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 352 "compilers/imcc/imcc.l"
-return ADV_OPT_FLAG;
+#line 357 "compilers/imcc/imcc.l"
+return ADV_OPTIONAL;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 353 "compilers/imcc/imcc.l"
-return ADV_NAMED;
+#line 358 "compilers/imcc/imcc.l"
+return ADV_OPT_FLAG;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 354 "compilers/imcc/imcc.l"
-return ADV_ARROW;
+#line 359 "compilers/imcc/imcc.l"
+return ADV_NAMED;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 355 "compilers/imcc/imcc.l"
-return ADV_INVOCANT;
+#line 360 "compilers/imcc/imcc.l"
+return ADV_ARROW;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 356 "compilers/imcc/imcc.l"
-return ADV_CALL_SIG;
+#line 361 "compilers/imcc/imcc.l"
+return ADV_INVOCANT;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 358 "compilers/imcc/imcc.l"
+#line 362 "compilers/imcc/imcc.l"
+return ADV_CALL_SIG;
+ YY_BREAK
+case 68:
+YY_RULE_SETUP
+#line 364 "compilers/imcc/imcc.l"
return NAMESPACE;
YY_BREAK
-case 68:
+case 69:
YY_RULE_SETUP
-#line 359 "compilers/imcc/imcc.l"
+#line 365 "compilers/imcc/imcc.l"
return HLL;
YY_BREAK
-case 69:
+case 70:
YY_RULE_SETUP
-#line 361 "compilers/imcc/imcc.l"
+#line 367 "compilers/imcc/imcc.l"
return LOCAL;
YY_BREAK
-case 70:
+case 71:
YY_RULE_SETUP
-#line 362 "compilers/imcc/imcc.l"
+#line 368 "compilers/imcc/imcc.l"
return CONST;
YY_BREAK
-case 71:
+case 72:
YY_RULE_SETUP
-#line 363 "compilers/imcc/imcc.l"
+#line 369 "compilers/imcc/imcc.l"
return GLOBAL_CONST;
YY_BREAK
-case 72:
+case 73:
YY_RULE_SETUP
-#line 364 "compilers/imcc/imcc.l"
+#line 370 "compilers/imcc/imcc.l"
return PARAM;
YY_BREAK
-case 73:
+case 74:
YY_RULE_SETUP
-#line 365 "compilers/imcc/imcc.l"
+#line 371 "compilers/imcc/imcc.l"
return GOTO;
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 366 "compilers/imcc/imcc.l"
+#line 372 "compilers/imcc/imcc.l"
return IF;
YY_BREAK
-case 75:
+case 76:
YY_RULE_SETUP
-#line 367 "compilers/imcc/imcc.l"
+#line 373 "compilers/imcc/imcc.l"
return UNLESS;
YY_BREAK
-case 76:
+case 77:
YY_RULE_SETUP
-#line 368 "compilers/imcc/imcc.l"
+#line 374 "compilers/imcc/imcc.l"
return PNULL;
YY_BREAK
-case 77:
+case 78:
YY_RULE_SETUP
-#line 369 "compilers/imcc/imcc.l"
+#line 375 "compilers/imcc/imcc.l"
return INTV;
YY_BREAK
-case 78:
+case 79:
YY_RULE_SETUP
-#line 370 "compilers/imcc/imcc.l"
+#line 376 "compilers/imcc/imcc.l"
return FLOATV;
YY_BREAK
-case 79:
+case 80:
YY_RULE_SETUP
-#line 372 "compilers/imcc/imcc.l"
+#line 378 "compilers/imcc/imcc.l"
return PMCV;
YY_BREAK
-case 80:
+case 81:
YY_RULE_SETUP
-#line 373 "compilers/imcc/imcc.l"
+#line 379 "compilers/imcc/imcc.l"
return STRINGV;
YY_BREAK
-case 81:
+case 82:
YY_RULE_SETUP
-#line 374 "compilers/imcc/imcc.l"
+#line 380 "compilers/imcc/imcc.l"
return SHIFT_LEFT;
YY_BREAK
-case 82:
+case 83:
YY_RULE_SETUP
-#line 375 "compilers/imcc/imcc.l"
+#line 381 "compilers/imcc/imcc.l"
return SHIFT_RIGHT;
YY_BREAK
-case 83:
+case 84:
YY_RULE_SETUP
-#line 376 "compilers/imcc/imcc.l"
+#line 382 "compilers/imcc/imcc.l"
return SHIFT_RIGHT_U;
YY_BREAK
-case 84:
+case 85:
YY_RULE_SETUP
-#line 377 "compilers/imcc/imcc.l"
+#line 383 "compilers/imcc/imcc.l"
return LOG_AND;
YY_BREAK
-case 85:
+case 86:
YY_RULE_SETUP
-#line 378 "compilers/imcc/imcc.l"
+#line 384 "compilers/imcc/imcc.l"
return LOG_OR;
YY_BREAK
-case 86:
+case 87:
YY_RULE_SETUP
-#line 379 "compilers/imcc/imcc.l"
+#line 385 "compilers/imcc/imcc.l"
return LOG_XOR;
YY_BREAK
-case 87:
+case 88:
YY_RULE_SETUP
-#line 380 "compilers/imcc/imcc.l"
+#line 386 "compilers/imcc/imcc.l"
return RELOP_LT;
YY_BREAK
-case 88:
+case 89:
YY_RULE_SETUP
-#line 381 "compilers/imcc/imcc.l"
+#line 387 "compilers/imcc/imcc.l"
return RELOP_LTE;
YY_BREAK
-case 89:
+case 90:
YY_RULE_SETUP
-#line 382 "compilers/imcc/imcc.l"
+#line 388 "compilers/imcc/imcc.l"
return RELOP_GT;
YY_BREAK
-case 90:
+case 91:
YY_RULE_SETUP
-#line 383 "compilers/imcc/imcc.l"
+#line 389 "compilers/imcc/imcc.l"
return RELOP_GTE;
YY_BREAK
-case 91:
+case 92:
YY_RULE_SETUP
-#line 384 "compilers/imcc/imcc.l"
+#line 390 "compilers/imcc/imcc.l"
return RELOP_EQ;
YY_BREAK
-case 92:
+case 93:
YY_RULE_SETUP
-#line 385 "compilers/imcc/imcc.l"
+#line 391 "compilers/imcc/imcc.l"
return RELOP_NE;
YY_BREAK
-case 93:
+case 94:
YY_RULE_SETUP
-#line 386 "compilers/imcc/imcc.l"
+#line 392 "compilers/imcc/imcc.l"
return POW;
YY_BREAK
-case 94:
+case 95:
YY_RULE_SETUP
-#line 388 "compilers/imcc/imcc.l"
+#line 394 "compilers/imcc/imcc.l"
return CONCAT;
YY_BREAK
-case 95:
+case 96:
YY_RULE_SETUP
-#line 389 "compilers/imcc/imcc.l"
+#line 395 "compilers/imcc/imcc.l"
return DOT;
YY_BREAK
-case 96:
+case 97:
YY_RULE_SETUP
-#line 391 "compilers/imcc/imcc.l"
+#line 397 "compilers/imcc/imcc.l"
return PLUS_ASSIGN;
YY_BREAK
-case 97:
+case 98:
YY_RULE_SETUP
-#line 392 "compilers/imcc/imcc.l"
+#line 398 "compilers/imcc/imcc.l"
return MINUS_ASSIGN;
YY_BREAK
-case 98:
+case 99:
YY_RULE_SETUP
-#line 393 "compilers/imcc/imcc.l"
+#line 399 "compilers/imcc/imcc.l"
return MUL_ASSIGN;
YY_BREAK
-case 99:
+case 100:
YY_RULE_SETUP
-#line 394 "compilers/imcc/imcc.l"
+#line 400 "compilers/imcc/imcc.l"
return DIV_ASSIGN;
YY_BREAK
-case 100:
+case 101:
YY_RULE_SETUP
-#line 395 "compilers/imcc/imcc.l"
+#line 401 "compilers/imcc/imcc.l"
return MOD_ASSIGN;
YY_BREAK
-case 101:
+case 102:
YY_RULE_SETUP
-#line 396 "compilers/imcc/imcc.l"
+#line 402 "compilers/imcc/imcc.l"
return FDIV;
YY_BREAK
-case 102:
+case 103:
YY_RULE_SETUP
-#line 397 "compilers/imcc/imcc.l"
+#line 403 "compilers/imcc/imcc.l"
return FDIV_ASSIGN;
YY_BREAK
-case 103:
+case 104:
YY_RULE_SETUP
-#line 398 "compilers/imcc/imcc.l"
+#line 404 "compilers/imcc/imcc.l"
return BAND_ASSIGN;
YY_BREAK
-case 104:
+case 105:
YY_RULE_SETUP
-#line 399 "compilers/imcc/imcc.l"
+#line 405 "compilers/imcc/imcc.l"
return BOR_ASSIGN;
YY_BREAK
-case 105:
+case 106:
YY_RULE_SETUP
-#line 400 "compilers/imcc/imcc.l"
+#line 406 "compilers/imcc/imcc.l"
return BXOR_ASSIGN;
YY_BREAK
-case 106:
+case 107:
YY_RULE_SETUP
-#line 401 "compilers/imcc/imcc.l"
+#line 407 "compilers/imcc/imcc.l"
return SHR_ASSIGN;
YY_BREAK
-case 107:
+case 108:
YY_RULE_SETUP
-#line 402 "compilers/imcc/imcc.l"
+#line 408 "compilers/imcc/imcc.l"
return SHL_ASSIGN;
YY_BREAK
-case 108:
+case 109:
YY_RULE_SETUP
-#line 403 "compilers/imcc/imcc.l"
+#line 409 "compilers/imcc/imcc.l"
return SHR_U_ASSIGN;
YY_BREAK
-case 109:
+case 110:
YY_RULE_SETUP
-#line 404 "compilers/imcc/imcc.l"
+#line 410 "compilers/imcc/imcc.l"
return CONCAT_ASSIGN;
YY_BREAK
-case 110:
+case 111:
YY_RULE_SETUP
-#line 406 "compilers/imcc/imcc.l"
+#line 412 "compilers/imcc/imcc.l"
{
char *macro_name = NULL;
int start_cond = YY_START;
@@ -3533,16 +3615,18 @@
return MACRO;
}
YY_BREAK
-case 111:
+case 112:
YY_RULE_SETUP
-#line 449 "compilers/imcc/imcc.l"
+#line 455 "compilers/imcc/imcc.l"
{
+ /* the initial whitespace catcher misses this one */
+ SET_LINE_NUMBER;
return read_macro(valp, interp, yyscanner);
}
YY_BREAK
-case 112:
+case 113:
YY_RULE_SETUP
-#line 453 "compilers/imcc/imcc.l"
+#line 461 "compilers/imcc/imcc.l"
{
const int c = yylex(valp,yyscanner,interp);
@@ -3555,9 +3639,9 @@
include_file(interp, yytext + 1, yyscanner);
}
YY_BREAK
-case 113:
+case 114:
YY_RULE_SETUP
-#line 465 "compilers/imcc/imcc.l"
+#line 473 "compilers/imcc/imcc.l"
{
if (valp) {
char *label;
@@ -3580,11 +3664,10 @@
return LABEL;
}
YY_BREAK
-case 114:
+case 115:
YY_RULE_SETUP
-#line 487 "compilers/imcc/imcc.l"
+#line 495 "compilers/imcc/imcc.l"
{
-
if (valp) {
char *label;
size_t len;
@@ -3604,14 +3687,14 @@
return IDENTIFIER;
}
YY_BREAK
-case 115:
+case 116:
YY_RULE_SETUP
-#line 508 "compilers/imcc/imcc.l"
+#line 515 "compilers/imcc/imcc.l"
return COMMA;
YY_BREAK
-case 116:
+case 117:
YY_RULE_SETUP
-#line 510 "compilers/imcc/imcc.l"
+#line 517 "compilers/imcc/imcc.l"
{
/* trim last ':' */
YYCHOP();
@@ -3622,9 +3705,9 @@
return LABEL;
}
YY_BREAK
-case 117:
+case 118:
YY_RULE_SETUP
-#line 520 "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);
@@ -3635,34 +3718,34 @@
}
}
YY_BREAK
-case 118:
-YY_RULE_SETUP
-#line 532 "compilers/imcc/imcc.l"
-DUP_AND_RET(valp, FLOATC);
- YY_BREAK
case 119:
YY_RULE_SETUP
-#line 533 "compilers/imcc/imcc.l"
-DUP_AND_RET(valp, INTC);
+#line 539 "compilers/imcc/imcc.l"
+DUP_AND_RET(valp, FLOATC);
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 534 "compilers/imcc/imcc.l"
+#line 540 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 535 "compilers/imcc/imcc.l"
+#line 541 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 536 "compilers/imcc/imcc.l"
+#line 542 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 538 "compilers/imcc/imcc.l"
+#line 543 "compilers/imcc/imcc.l"
+DUP_AND_RET(valp, INTC);
+ YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 545 "compilers/imcc/imcc.l"
{
valp->s = mem_sys_strdup(yytext);
@@ -3673,18 +3756,18 @@
return STRINGC;
}
YY_BREAK
-case 124:
+case 125:
YY_RULE_SETUP
-#line 548 "compilers/imcc/imcc.l"
+#line 555 "compilers/imcc/imcc.l"
{
valp->s = mem_sys_strdup(yytext);
return STRINGC;
}
YY_BREAK
-case 125:
+case 126:
YY_RULE_SETUP
-#line 554 "compilers/imcc/imcc.l"
+#line 561 "compilers/imcc/imcc.l"
{
macro_frame_t *frame;
@@ -3713,9 +3796,9 @@
yy_push_state(heredoc1, yyscanner);
}
YY_BREAK
-case 126:
+case 127:
YY_RULE_SETUP
-#line 582 "compilers/imcc/imcc.l"
+#line 589 "compilers/imcc/imcc.l"
{
/* charset:"..." */
valp->s = mem_sys_strdup(yytext);
@@ -3724,9 +3807,9 @@
return USTRINGC;
}
YY_BREAK
-case 127:
+case 128:
YY_RULE_SETUP
-#line 590 "compilers/imcc/imcc.l"
+#line 597 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3735,9 +3818,9 @@
return IREG;
}
YY_BREAK
-case 128:
+case 129:
YY_RULE_SETUP
-#line 598 "compilers/imcc/imcc.l"
+#line 605 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3746,9 +3829,9 @@
return NREG;
}
YY_BREAK
-case 129:
+case 130:
YY_RULE_SETUP
-#line 606 "compilers/imcc/imcc.l"
+#line 613 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3757,9 +3840,9 @@
return SREG;
}
YY_BREAK
-case 130:
+case 131:
YY_RULE_SETUP
-#line 614 "compilers/imcc/imcc.l"
+#line 621 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3768,17 +3851,17 @@
return PREG;
}
YY_BREAK
-case 131:
+case 132:
YY_RULE_SETUP
-#line 622 "compilers/imcc/imcc.l"
+#line 629 "compilers/imcc/imcc.l"
{
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"'%s' is not a valid register name", yytext);
}
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 627 "compilers/imcc/imcc.l"
+#line 634 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->state->pasm_file == 0)
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
@@ -3790,52 +3873,26 @@
return REG;
}
YY_BREAK
-case 133:
+case 134:
YY_RULE_SETUP
-#line 638 "compilers/imcc/imcc.l"
-{
- if (!IMCC_INFO(interp)->is_def) {
- SymReg *r = find_sym(interp, yytext);
-
- if (r && (r->type & (VTIDENTIFIER|VT_CONSTP))) {
- valp->sr = r;
- return VAR;
- }
-
- if (IMCC_INFO(interp)->cur_unit
- && IMCC_INFO(interp)->cur_unit->instructions
- && (r = IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
- && r->pcc_sub)
- {
- if (((r->pcc_sub->pragma & P_METHOD)
- || (IMCC_INFO(interp)->cur_unit->is_vtable_method))
- && !strcmp(yytext, "self")) {
- valp->sr = mk_ident(interp, "self", 'P');
- IMCC_INFO(interp)->cur_unit->type |= IMC_HAS_SELF;
- return VAR;
- }
- }
- }
-
- valp->s = mem_sys_strdup(yytext);
- return (!IMCC_INFO(interp)->is_def && is_op(interp, valp->s) ? PARROT_OP : IDENTIFIER);
- }
+#line 646 "compilers/imcc/imcc.l"
+{ return handle_identifier(interp, valp, yytext); }
YY_BREAK
-case 134:
+case 135:
YY_RULE_SETUP
-#line 667 "compilers/imcc/imcc.l"
+#line 648 "compilers/imcc/imcc.l"
/* skip */;
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 669 "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 674 "compilers/imcc/imcc.l"
+#line 655 "compilers/imcc/imcc.l"
{
BEGIN(INITIAL);
@@ -3848,31 +3905,34 @@
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 685 "compilers/imcc/imcc.l"
+#line 666 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 687 "compilers/imcc/imcc.l"
-DUP_AND_RET(valp, ENDM);
+#line 668 "compilers/imcc/imcc.l"
+{
+ /* the initial whitespace catcher misses this one */
+ SET_LINE_NUMBER;
+ DUP_AND_RET(valp, ENDM);
+}
YY_BREAK
-case 137:
-/* rule 137 can match eol */
+case 138:
+/* rule 138 can match eol */
YY_RULE_SETUP
-#line 689 "compilers/imcc/imcc.l"
+#line 674 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line++;
DUP_AND_RET(valp, '\n');
}
YY_BREAK
-case 138:
+case 139:
YY_RULE_SETUP
-#line 694 "compilers/imcc/imcc.l"
+#line 678 "compilers/imcc/imcc.l"
return LABEL;
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 696 "compilers/imcc/imcc.l"
+#line 680 "compilers/imcc/imcc.l"
{
if (yylex(valp,yyscanner,interp) != LABEL)
@@ -3897,9 +3957,9 @@
return LABEL;
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 720 "compilers/imcc/imcc.l"
+#line 704 "compilers/imcc/imcc.l"
{
if (valp) {
if (!IMCC_INFO(interp)->cur_macro_name) {
@@ -3928,51 +3988,46 @@
return IDENTIFIER;
}
YY_BREAK
-case 141:
-YY_RULE_SETUP
-#line 748 "compilers/imcc/imcc.l"
-/* skip leading ws */;
- YY_BREAK
case 142:
YY_RULE_SETUP
-#line 749 "compilers/imcc/imcc.l"
+#line 732 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, ' ');
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 750 "compilers/imcc/imcc.l"
+#line 733 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 751 "compilers/imcc/imcc.l"
+#line 734 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 752 "compilers/imcc/imcc.l"
+#line 735 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, IDENTIFIER);
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 753 "compilers/imcc/imcc.l"
+#line 736 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, MACRO);
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 754 "compilers/imcc/imcc.l"
+#line 737 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, yytext[0]);
YY_BREAK
case YY_STATE_EOF(macro):
-#line 755 "compilers/imcc/imcc.l"
+#line 738 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 757 "compilers/imcc/imcc.l"
+#line 740 "compilers/imcc/imcc.l"
ECHO;
YY_BREAK
-#line 3976 "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):
@@ -4275,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 >= 1062 )
+ 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];
@@ -4304,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 >= 1062 )
+ 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 == 1061);
+ yy_is_jam = (yy_current_state == 1094);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -4346,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;
@@ -4423,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;
}
@@ -5174,7 +5239,7 @@
#define YYTABLES_NAME "yytables"
-#line 757 "compilers/imcc/imcc.l"
+#line 740 "compilers/imcc/imcc.l"
@@ -5236,6 +5301,9 @@
frame->s.next = (parser_state_t *)IMCC_INFO(interp)->frames;
IMCC_INFO(interp)->frames = frame;
+ /* start at the effective *starting line* of the macro */
+ IMCC_INFO(interp)->line = frame->s.line - 2;
+
yy_scan_string(expansion,yyscanner);
}
@@ -5491,9 +5559,6 @@
IMCC_INFO(interp)->macro_buffer = NULL;
IMCC_INFO(interp)->cur_macro_name = NULL;
- /* the ENDM rule doesn't set the line number */
- IMCC_INFO(interp)->line--;
-
return MACRO;
}
@@ -5654,8 +5719,6 @@
}
}
- /* let the normal EOF rules match line numbers */
- IMCC_INFO(interp)->line = m->line - 1;
scan_string(frame, m->expansion, yyscanner);
return 1;
@@ -5705,14 +5768,18 @@
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;
IMCC_INFO(interp)->state = (parser_state_t *)IMCC_INFO(interp)->frames;
- IMCC_INFO(interp)->line = 1;
+ /* let the start of line rule increment this to 1 */
+ IMCC_INFO(interp)->line = 0;
yy_switch_to_buffer(yy_create_buffer(file,YY_BUF_SIZE,yyscanner),yyscanner);
+
+ IMCC_INFO(interp)->line = oldline;
}
void
@@ -5889,6 +5956,36 @@
return yyg->yy_hold_char == '\0';
}
+static int
+handle_identifier(PARROT_INTERP, YYSTYPE *valp, const char *text)
+{
+ if (!IMCC_INFO(interp)->is_def) {
+ SymReg *r = find_sym(interp, text);
+
+ if (r && (r->type & (VTIDENTIFIER|VT_CONSTP))) {
+ valp->sr = r;
+ return VAR;
+ }
+
+ if (IMCC_INFO(interp)->cur_unit
+ && IMCC_INFO(interp)->cur_unit->instructions
+ && (r = IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
+ && r->pcc_sub)
+ {
+ if (((r->pcc_sub->pragma & P_METHOD)
+ || (IMCC_INFO(interp)->cur_unit->is_vtable_method))
+ && !strcmp(text, "self")) {
+ valp->sr = mk_ident(interp, "self", 'P');
+ IMCC_INFO(interp)->cur_unit->type |= IMC_HAS_SELF;
+ return VAR;
+ }
+ }
+ }
+
+ valp->s = mem_sys_strdup(text);
+ return (!IMCC_INFO(interp)->is_def && is_op(interp, valp->s) ? PARROT_OP : IDENTIFIER);
+}
+
/*
* Local variables:
* c-file-style: "parrot"
Modified: branches/ops_pct/compilers/imcc/imcparser.c
==============================================================================
--- branches/ops_pct/compilers/imcc/imcparser.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/imcparser.c Wed May 5 08:45:29 2010 (r46302)
@@ -1184,245 +1184,247 @@
enum yytokentype {
LOW_PREC = 258,
PARAM = 259,
- HLL = 260,
- TK_LINE = 261,
- TK_FILE = 262,
- GOTO = 263,
- ARG = 264,
- IF = 265,
- UNLESS = 266,
- PNULL = 267,
- SET_RETURN = 268,
- SET_YIELD = 269,
- ADV_FLAT = 270,
- ADV_SLURPY = 271,
- ADV_OPTIONAL = 272,
- ADV_OPT_FLAG = 273,
- ADV_NAMED = 274,
- ADV_ARROW = 275,
- NEW = 276,
- ADV_INVOCANT = 277,
- ADV_CALL_SIG = 278,
- NAMESPACE = 279,
- DOT_METHOD = 280,
- SUB = 281,
- SYM = 282,
- LOCAL = 283,
- LEXICAL = 284,
- CONST = 285,
- ANNOTATE = 286,
- INC = 287,
- DEC = 288,
- GLOBAL_CONST = 289,
- PLUS_ASSIGN = 290,
- MINUS_ASSIGN = 291,
- MUL_ASSIGN = 292,
- DIV_ASSIGN = 293,
- CONCAT_ASSIGN = 294,
- BAND_ASSIGN = 295,
- BOR_ASSIGN = 296,
- BXOR_ASSIGN = 297,
- FDIV = 298,
- FDIV_ASSIGN = 299,
- MOD_ASSIGN = 300,
- SHR_ASSIGN = 301,
- SHL_ASSIGN = 302,
- SHR_U_ASSIGN = 303,
- SHIFT_LEFT = 304,
- SHIFT_RIGHT = 305,
- INTV = 306,
- FLOATV = 307,
- STRINGV = 308,
- PMCV = 309,
- LOG_XOR = 310,
- RELOP_EQ = 311,
- RELOP_NE = 312,
- RELOP_GT = 313,
- RELOP_GTE = 314,
- RELOP_LT = 315,
- RELOP_LTE = 316,
- RESULT = 317,
- RETURN = 318,
- TAILCALL = 319,
- YIELDT = 320,
- GET_RESULTS = 321,
- POW = 322,
- SHIFT_RIGHT_U = 323,
- LOG_AND = 324,
- LOG_OR = 325,
- COMMA = 326,
- ESUB = 327,
- DOTDOT = 328,
- PCC_BEGIN = 329,
- PCC_END = 330,
- PCC_CALL = 331,
- PCC_SUB = 332,
- PCC_BEGIN_RETURN = 333,
- PCC_END_RETURN = 334,
- PCC_BEGIN_YIELD = 335,
- PCC_END_YIELD = 336,
- NCI_CALL = 337,
- METH_CALL = 338,
- INVOCANT = 339,
- MAIN = 340,
- LOAD = 341,
- INIT = 342,
- IMMEDIATE = 343,
- POSTCOMP = 344,
- METHOD = 345,
- ANON = 346,
- OUTER = 347,
- NEED_LEX = 348,
- MULTI = 349,
- VTABLE_METHOD = 350,
- LOADLIB = 351,
- SUB_INSTANCE_OF = 352,
- SUBID = 353,
- NS_ENTRY = 354,
- UNIQUE_REG = 355,
- LABEL = 356,
- EMIT = 357,
- EOM = 358,
- IREG = 359,
- NREG = 360,
- SREG = 361,
- PREG = 362,
- IDENTIFIER = 363,
- REG = 364,
- MACRO = 365,
- ENDM = 366,
- STRINGC = 367,
- INTC = 368,
- FLOATC = 369,
- USTRINGC = 370,
- PARROT_OP = 371,
- VAR = 372,
- LINECOMMENT = 373,
- FILECOMMENT = 374,
- DOT = 375,
- CONCAT = 376
+ SOL = 260,
+ HLL = 261,
+ TK_LINE = 262,
+ TK_FILE = 263,
+ GOTO = 264,
+ ARG = 265,
+ IF = 266,
+ UNLESS = 267,
+ PNULL = 268,
+ SET_RETURN = 269,
+ SET_YIELD = 270,
+ ADV_FLAT = 271,
+ ADV_SLURPY = 272,
+ ADV_OPTIONAL = 273,
+ ADV_OPT_FLAG = 274,
+ ADV_NAMED = 275,
+ ADV_ARROW = 276,
+ NEW = 277,
+ ADV_INVOCANT = 278,
+ ADV_CALL_SIG = 279,
+ NAMESPACE = 280,
+ DOT_METHOD = 281,
+ SUB = 282,
+ SYM = 283,
+ LOCAL = 284,
+ LEXICAL = 285,
+ CONST = 286,
+ ANNOTATE = 287,
+ INC = 288,
+ DEC = 289,
+ GLOBAL_CONST = 290,
+ PLUS_ASSIGN = 291,
+ MINUS_ASSIGN = 292,
+ MUL_ASSIGN = 293,
+ DIV_ASSIGN = 294,
+ CONCAT_ASSIGN = 295,
+ BAND_ASSIGN = 296,
+ BOR_ASSIGN = 297,
+ BXOR_ASSIGN = 298,
+ FDIV = 299,
+ FDIV_ASSIGN = 300,
+ MOD_ASSIGN = 301,
+ SHR_ASSIGN = 302,
+ SHL_ASSIGN = 303,
+ SHR_U_ASSIGN = 304,
+ SHIFT_LEFT = 305,
+ SHIFT_RIGHT = 306,
+ INTV = 307,
+ FLOATV = 308,
+ STRINGV = 309,
+ PMCV = 310,
+ LOG_XOR = 311,
+ RELOP_EQ = 312,
+ RELOP_NE = 313,
+ RELOP_GT = 314,
+ RELOP_GTE = 315,
+ RELOP_LT = 316,
+ RELOP_LTE = 317,
+ RESULT = 318,
+ RETURN = 319,
+ TAILCALL = 320,
+ YIELDT = 321,
+ GET_RESULTS = 322,
+ POW = 323,
+ SHIFT_RIGHT_U = 324,
+ LOG_AND = 325,
+ LOG_OR = 326,
+ COMMA = 327,
+ ESUB = 328,
+ DOTDOT = 329,
+ PCC_BEGIN = 330,
+ PCC_END = 331,
+ PCC_CALL = 332,
+ PCC_SUB = 333,
+ PCC_BEGIN_RETURN = 334,
+ PCC_END_RETURN = 335,
+ PCC_BEGIN_YIELD = 336,
+ PCC_END_YIELD = 337,
+ NCI_CALL = 338,
+ METH_CALL = 339,
+ INVOCANT = 340,
+ MAIN = 341,
+ LOAD = 342,
+ INIT = 343,
+ IMMEDIATE = 344,
+ POSTCOMP = 345,
+ METHOD = 346,
+ ANON = 347,
+ OUTER = 348,
+ NEED_LEX = 349,
+ MULTI = 350,
+ VTABLE_METHOD = 351,
+ LOADLIB = 352,
+ SUB_INSTANCE_OF = 353,
+ SUBID = 354,
+ NS_ENTRY = 355,
+ UNIQUE_REG = 356,
+ LABEL = 357,
+ EMIT = 358,
+ EOM = 359,
+ IREG = 360,
+ NREG = 361,
+ SREG = 362,
+ PREG = 363,
+ IDENTIFIER = 364,
+ REG = 365,
+ MACRO = 366,
+ ENDM = 367,
+ STRINGC = 368,
+ INTC = 369,
+ FLOATC = 370,
+ USTRINGC = 371,
+ PARROT_OP = 372,
+ VAR = 373,
+ LINECOMMENT = 374,
+ FILECOMMENT = 375,
+ DOT = 376,
+ CONCAT = 377
};
#endif
/* Tokens. */
#define LOW_PREC 258
#define PARAM 259
-#define HLL 260
-#define TK_LINE 261
-#define TK_FILE 262
-#define GOTO 263
-#define ARG 264
-#define IF 265
-#define UNLESS 266
-#define PNULL 267
-#define SET_RETURN 268
-#define SET_YIELD 269
-#define ADV_FLAT 270
-#define ADV_SLURPY 271
-#define ADV_OPTIONAL 272
-#define ADV_OPT_FLAG 273
-#define ADV_NAMED 274
-#define ADV_ARROW 275
-#define NEW 276
-#define ADV_INVOCANT 277
-#define ADV_CALL_SIG 278
-#define NAMESPACE 279
-#define DOT_METHOD 280
-#define SUB 281
-#define SYM 282
-#define LOCAL 283
-#define LEXICAL 284
-#define CONST 285
-#define ANNOTATE 286
-#define INC 287
-#define DEC 288
-#define GLOBAL_CONST 289
-#define PLUS_ASSIGN 290
-#define MINUS_ASSIGN 291
-#define MUL_ASSIGN 292
-#define DIV_ASSIGN 293
-#define CONCAT_ASSIGN 294
-#define BAND_ASSIGN 295
-#define BOR_ASSIGN 296
-#define BXOR_ASSIGN 297
-#define FDIV 298
-#define FDIV_ASSIGN 299
-#define MOD_ASSIGN 300
-#define SHR_ASSIGN 301
-#define SHL_ASSIGN 302
-#define SHR_U_ASSIGN 303
-#define SHIFT_LEFT 304
-#define SHIFT_RIGHT 305
-#define INTV 306
-#define FLOATV 307
-#define STRINGV 308
-#define PMCV 309
-#define LOG_XOR 310
-#define RELOP_EQ 311
-#define RELOP_NE 312
-#define RELOP_GT 313
-#define RELOP_GTE 314
-#define RELOP_LT 315
-#define RELOP_LTE 316
-#define RESULT 317
-#define RETURN 318
-#define TAILCALL 319
-#define YIELDT 320
-#define GET_RESULTS 321
-#define POW 322
-#define SHIFT_RIGHT_U 323
-#define LOG_AND 324
-#define LOG_OR 325
-#define COMMA 326
-#define ESUB 327
-#define DOTDOT 328
-#define PCC_BEGIN 329
-#define PCC_END 330
-#define PCC_CALL 331
-#define PCC_SUB 332
-#define PCC_BEGIN_RETURN 333
-#define PCC_END_RETURN 334
-#define PCC_BEGIN_YIELD 335
-#define PCC_END_YIELD 336
-#define NCI_CALL 337
-#define METH_CALL 338
-#define INVOCANT 339
-#define MAIN 340
-#define LOAD 341
-#define INIT 342
-#define IMMEDIATE 343
-#define POSTCOMP 344
-#define METHOD 345
-#define ANON 346
-#define OUTER 347
-#define NEED_LEX 348
-#define MULTI 349
-#define VTABLE_METHOD 350
-#define LOADLIB 351
-#define SUB_INSTANCE_OF 352
-#define SUBID 353
-#define NS_ENTRY 354
-#define UNIQUE_REG 355
-#define LABEL 356
-#define EMIT 357
-#define EOM 358
-#define IREG 359
-#define NREG 360
-#define SREG 361
-#define PREG 362
-#define IDENTIFIER 363
-#define REG 364
-#define MACRO 365
-#define ENDM 366
-#define STRINGC 367
-#define INTC 368
-#define FLOATC 369
-#define USTRINGC 370
-#define PARROT_OP 371
-#define VAR 372
-#define LINECOMMENT 373
-#define FILECOMMENT 374
-#define DOT 375
-#define CONCAT 376
+#define SOL 260
+#define HLL 261
+#define TK_LINE 262
+#define TK_FILE 263
+#define GOTO 264
+#define ARG 265
+#define IF 266
+#define UNLESS 267
+#define PNULL 268
+#define SET_RETURN 269
+#define SET_YIELD 270
+#define ADV_FLAT 271
+#define ADV_SLURPY 272
+#define ADV_OPTIONAL 273
+#define ADV_OPT_FLAG 274
+#define ADV_NAMED 275
+#define ADV_ARROW 276
+#define NEW 277
+#define ADV_INVOCANT 278
+#define ADV_CALL_SIG 279
+#define NAMESPACE 280
+#define DOT_METHOD 281
+#define SUB 282
+#define SYM 283
+#define LOCAL 284
+#define LEXICAL 285
+#define CONST 286
+#define ANNOTATE 287
+#define INC 288
+#define DEC 289
+#define GLOBAL_CONST 290
+#define PLUS_ASSIGN 291
+#define MINUS_ASSIGN 292
+#define MUL_ASSIGN 293
+#define DIV_ASSIGN 294
+#define CONCAT_ASSIGN 295
+#define BAND_ASSIGN 296
+#define BOR_ASSIGN 297
+#define BXOR_ASSIGN 298
+#define FDIV 299
+#define FDIV_ASSIGN 300
+#define MOD_ASSIGN 301
+#define SHR_ASSIGN 302
+#define SHL_ASSIGN 303
+#define SHR_U_ASSIGN 304
+#define SHIFT_LEFT 305
+#define SHIFT_RIGHT 306
+#define INTV 307
+#define FLOATV 308
+#define STRINGV 309
+#define PMCV 310
+#define LOG_XOR 311
+#define RELOP_EQ 312
+#define RELOP_NE 313
+#define RELOP_GT 314
+#define RELOP_GTE 315
+#define RELOP_LT 316
+#define RELOP_LTE 317
+#define RESULT 318
+#define RETURN 319
+#define TAILCALL 320
+#define YIELDT 321
+#define GET_RESULTS 322
+#define POW 323
+#define SHIFT_RIGHT_U 324
+#define LOG_AND 325
+#define LOG_OR 326
+#define COMMA 327
+#define ESUB 328
+#define DOTDOT 329
+#define PCC_BEGIN 330
+#define PCC_END 331
+#define PCC_CALL 332
+#define PCC_SUB 333
+#define PCC_BEGIN_RETURN 334
+#define PCC_END_RETURN 335
+#define PCC_BEGIN_YIELD 336
+#define PCC_END_YIELD 337
+#define NCI_CALL 338
+#define METH_CALL 339
+#define INVOCANT 340
+#define MAIN 341
+#define LOAD 342
+#define INIT 343
+#define IMMEDIATE 344
+#define POSTCOMP 345
+#define METHOD 346
+#define ANON 347
+#define OUTER 348
+#define NEED_LEX 349
+#define MULTI 350
+#define VTABLE_METHOD 351
+#define LOADLIB 352
+#define SUB_INSTANCE_OF 353
+#define SUBID 354
+#define NS_ENTRY 355
+#define UNIQUE_REG 356
+#define LABEL 357
+#define EMIT 358
+#define EOM 359
+#define IREG 360
+#define NREG 361
+#define SREG 362
+#define PREG 363
+#define IDENTIFIER 364
+#define REG 365
+#define MACRO 366
+#define ENDM 367
+#define STRINGC 368
+#define INTC 369
+#define FLOATC 370
+#define USTRINGC 371
+#define PARROT_OP 372
+#define VAR 373
+#define LINECOMMENT 374
+#define FILECOMMENT 375
+#define DOT 376
+#define CONCAT 377
@@ -1443,7 +1445,7 @@
/* Line 214 of yacc.c */
-#line 1436 "compilers/imcc/imcparser.c"
+#line 1438 "compilers/imcc/imcparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1455,7 +1457,7 @@
/* Line 264 of yacc.c */
-#line 1448 "compilers/imcc/imcparser.c"
+#line 1450 "compilers/imcc/imcparser.c"
#ifdef short
# undef short
@@ -1670,10 +1672,10 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 31
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 659
+#define YYLAST 686
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 139
+#define YYNTOKENS 140
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 126
/* YYNRULES -- Number of rules. */
@@ -1683,7 +1685,7 @@
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 376
+#define YYMAXUTOK 377
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1694,16 +1696,16 @@
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
4, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 129, 2, 2, 2, 135, 136, 2,
- 126, 127, 133, 132, 2, 131, 2, 134, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 138,
- 2, 123, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 130, 2, 2, 2, 136, 137, 2,
+ 127, 128, 134, 133, 2, 132, 2, 135, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 139,
+ 2, 124, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 124, 2, 125, 2, 2, 2, 2, 2, 2,
+ 2, 125, 2, 126, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 128, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 137, 2, 130, 2, 2, 2,
+ 129, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 138, 2, 131, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -1728,7 +1730,7 @@
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122
+ 116, 117, 118, 119, 120, 121, 122, 123
};
#if YYDEBUG
@@ -1775,102 +1777,102 @@
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 140, 0, -1, 141, -1, 142, -1, 141, 142, -1,
- 162, -1, 147, -1, 164, -1, 159, -1, 111, 4,
- -1, 143, -1, 144, -1, 4, -1, 146, 4, -1,
- 97, 113, 4, -1, 7, 114, 72, 113, 4, -1,
- 8, 113, 4, -1, 32, 113, 72, 264, -1, 6,
- 113, -1, -1, 31, 148, 223, 109, 123, 264, -1,
- -1, 31, 150, 114, 255, 123, 152, -1, -1, 31,
- 151, 113, 255, 123, 152, -1, 113, -1, 116, -1,
- 154, -1, 153, 154, -1, 212, 155, 4, -1, 111,
- 4, -1, 120, -1, 119, -1, 162, -1, 149, -1,
- 143, -1, -1, 156, 117, 158, -1, -1, 78, 157,
- 186, 102, -1, 13, 256, -1, 30, 113, 72, 110,
- -1, -1, 249, -1, -1, 103, 160, 161, 104, -1,
- -1, 153, -1, 25, 163, 4, -1, 124, 257, 125,
- -1, 124, 125, -1, -1, -1, -1, 27, 165, 252,
- 166, 186, 4, 167, 168, 181, 73, -1, -1, 4,
- -1, 168, 169, 4, -1, -1, 5, 170, 171, -1,
- 223, 109, 195, -1, 95, 126, 179, 127, -1, 93,
- 126, 113, 127, -1, 93, 126, 109, 127, -1, 96,
- -1, 96, 126, 113, 127, -1, 91, -1, 91, 126,
- 152, 127, -1, 100, -1, 100, 126, 152, 127, -1,
- 98, 126, 113, 127, -1, 99, -1, 99, 126, 152,
- 127, -1, -1, 179, 72, 180, -1, 180, -1, 52,
- -1, 53, -1, 55, -1, 54, -1, 109, -1, 113,
- -1, 124, 257, 125, -1, -1, 209, -1, -1, 75,
- 4, 183, 190, 185, 189, 184, 192, 76, -1, -1,
- 214, 4, -1, -1, 85, 256, 4, -1, -1, 187,
- -1, 188, -1, 187, 188, -1, 87, -1, 88, -1,
- 86, -1, 89, -1, 90, -1, 92, -1, 94, -1,
- 172, -1, 173, -1, 174, -1, 175, -1, 176, -1,
- 177, -1, 178, -1, 77, 256, 72, 256, 4, -1,
- 77, 256, 4, -1, 83, 256, 4, -1, 84, 248,
- 4, -1, 84, 113, 4, -1, 84, 248, 72, 256,
- 4, -1, 84, 113, 72, 256, 4, -1, -1, 190,
- 191, 4, -1, 10, 238, -1, -1, 192, 193, 4,
- -1, 63, 248, 195, -1, -1, 29, 194, 223, 217,
- -1, -1, 195, 196, -1, 17, -1, 18, -1, 19,
- -1, 20, -1, 20, 126, 113, 127, -1, 20, 126,
- 116, 127, -1, 101, -1, 24, -1, -1, 79, 4,
- 198, 201, 80, -1, 205, -1, -1, 81, 4, 200,
- 202, 82, -1, -1, 201, 4, -1, 201, 203, 4,
- -1, -1, 202, 4, -1, 202, 204, 4, -1, 14,
- 256, 239, -1, 15, 256, 239, -1, -1, 207, 126,
- 206, 208, 127, -1, 64, -1, 66, -1, -1, 238,
- -1, 113, 21, 256, -1, 208, 72, 238, -1, 208,
- 72, 113, 21, 256, -1, 211, -1, 209, 211, -1,
- -1, 210, 215, -1, 111, 4, -1, 120, -1, 119,
- -1, 144, -1, 145, -1, -1, 213, -1, 213, 214,
- -1, 214, -1, 102, -1, 212, 219, 4, -1, 1,
- 4, -1, 217, -1, 216, 72, 217, -1, 109, 218,
- -1, -1, 101, -1, 225, -1, 243, -1, -1, 29,
- 220, 223, 216, -1, 30, 113, 72, 248, -1, 30,
- 116, 72, 248, -1, -1, 31, 221, 223, 109, 123,
- 264, -1, 149, -1, -1, 35, 222, 223, 109, 123,
- 264, -1, 65, 235, -1, 9, 254, -1, 117, 249,
- -1, 13, 256, -1, 235, -1, 182, -1, 197, -1,
- 199, -1, -1, 52, -1, 53, -1, 54, -1, 55,
- -1, 109, -1, 248, 123, 256, -1, 248, 123, 227,
- 256, -1, 248, 123, 256, 228, 256, -1, 248, 123,
- 256, 124, 257, 125, -1, 248, 124, 257, 125, 123,
- 256, -1, 248, 123, 128, 224, 124, 257, 125, -1,
- 248, 123, 235, -1, -1, 126, 226, 242, 127, 123,
- 234, 126, 237, 127, -1, 229, -1, 231, -1, 233,
- -1, 248, 123, 13, -1, 129, -1, 130, -1, 131,
- -1, 131, -1, 132, -1, 133, -1, 134, -1, 135,
- -1, 44, -1, 68, -1, 122, -1, 57, -1, 58,
- -1, 59, -1, 60, -1, 61, -1, 62, -1, 50,
- -1, 51, -1, 69, -1, 70, -1, 71, -1, 56,
- -1, 136, -1, 137, -1, 130, -1, -1, 67, 230,
- 126, 242, 127, -1, 248, 232, 256, -1, 36, -1,
- 37, -1, 38, -1, 39, -1, 46, -1, 45, -1,
- 40, -1, 41, -1, 42, -1, 43, -1, 47, -1,
- 48, -1, 49, -1, 248, 123, 117, 158, -1, 109,
- -1, 113, -1, 116, -1, 248, -1, 248, 121, 253,
- -1, 248, 121, 116, -1, 248, 121, 113, -1, 248,
- 121, 248, -1, -1, 234, 236, 126, 237, 127, -1,
- -1, 237, 72, 238, -1, 238, -1, 237, 72, 113,
- 21, 256, -1, 256, 21, 256, -1, 113, 21, 256,
- -1, 256, 239, -1, -1, 239, 240, -1, 16, -1,
- 20, -1, 24, -1, 20, 126, 116, 127, -1, 20,
- 126, 113, 127, -1, 248, 195, -1, 242, 72, 241,
- -1, 242, 72, 113, 21, 248, -1, 241, -1, 113,
- 21, 248, -1, -1, 245, -1, 244, -1, 12, 256,
- 247, 256, 9, 254, -1, 12, 13, 256, 9, 254,
- -1, 12, 256, 246, 254, -1, 11, 256, 246, 254,
- -1, 11, 256, 247, 256, 9, 254, -1, 11, 13,
- 256, 9, 254, -1, 72, -1, 9, -1, 57, -1,
- 58, -1, 59, -1, 60, -1, 61, -1, 62, -1,
- 118, -1, 263, -1, -1, 250, -1, 250, 72, 251,
- -1, 251, -1, 255, -1, 248, 124, 257, 125, -1,
- 124, 259, 125, -1, 253, -1, 113, -1, 116, -1,
- 109, -1, 117, -1, 109, -1, 117, -1, 254, -1,
- 256, -1, 248, -1, 264, -1, -1, 258, 261, -1,
- -1, 260, 261, -1, 262, -1, 261, 138, 262, -1,
- 256, -1, 105, -1, 106, -1, 107, -1, 108, -1,
- 110, -1, 114, -1, 115, -1, 113, -1, 116, -1
+ 141, 0, -1, 142, -1, 143, -1, 142, 143, -1,
+ 163, -1, 148, -1, 165, -1, 160, -1, 112, 4,
+ -1, 144, -1, 145, -1, 4, -1, 147, 4, -1,
+ 98, 114, 4, -1, 8, 115, 73, 114, 4, -1,
+ 9, 114, 4, -1, 33, 114, 73, 265, -1, 7,
+ 114, -1, -1, 32, 149, 224, 110, 124, 265, -1,
+ -1, 32, 151, 115, 256, 124, 153, -1, -1, 32,
+ 152, 114, 256, 124, 153, -1, 114, -1, 117, -1,
+ 155, -1, 154, 155, -1, 213, 156, 4, -1, 112,
+ 4, -1, 121, -1, 120, -1, 163, -1, 150, -1,
+ 144, -1, -1, 157, 118, 159, -1, -1, 79, 158,
+ 187, 103, -1, 14, 257, -1, 31, 114, 73, 111,
+ -1, -1, 250, -1, -1, 104, 161, 162, 105, -1,
+ -1, 154, -1, 26, 164, 4, -1, 125, 258, 126,
+ -1, 125, 126, -1, -1, -1, -1, 28, 166, 253,
+ 167, 187, 4, 168, 169, 182, 74, -1, -1, 4,
+ -1, 169, 170, 4, -1, -1, 5, 171, 172, -1,
+ 224, 110, 196, -1, 96, 127, 180, 128, -1, 94,
+ 127, 114, 128, -1, 94, 127, 110, 128, -1, 97,
+ -1, 97, 127, 114, 128, -1, 92, -1, 92, 127,
+ 153, 128, -1, 101, -1, 101, 127, 153, 128, -1,
+ 99, 127, 114, 128, -1, 100, -1, 100, 127, 153,
+ 128, -1, -1, 180, 73, 181, -1, 181, -1, 53,
+ -1, 54, -1, 56, -1, 55, -1, 110, -1, 114,
+ -1, 125, 258, 126, -1, -1, 210, -1, -1, 76,
+ 4, 184, 191, 186, 190, 185, 193, 77, -1, -1,
+ 215, 4, -1, -1, 86, 257, 4, -1, -1, 188,
+ -1, 189, -1, 188, 189, -1, 88, -1, 89, -1,
+ 87, -1, 90, -1, 91, -1, 93, -1, 95, -1,
+ 173, -1, 174, -1, 175, -1, 176, -1, 177, -1,
+ 178, -1, 179, -1, 78, 257, 73, 257, 4, -1,
+ 78, 257, 4, -1, 84, 257, 4, -1, 85, 249,
+ 4, -1, 85, 114, 4, -1, 85, 249, 73, 257,
+ 4, -1, 85, 114, 73, 257, 4, -1, -1, 191,
+ 192, 4, -1, 11, 239, -1, -1, 193, 194, 4,
+ -1, 64, 249, 196, -1, -1, 30, 195, 224, 218,
+ -1, -1, 196, 197, -1, 18, -1, 19, -1, 20,
+ -1, 21, -1, 21, 127, 114, 128, -1, 21, 127,
+ 117, 128, -1, 102, -1, 25, -1, -1, 80, 4,
+ 199, 202, 81, -1, 206, -1, -1, 82, 4, 201,
+ 203, 83, -1, -1, 202, 4, -1, 202, 204, 4,
+ -1, -1, 203, 4, -1, 203, 205, 4, -1, 15,
+ 257, 240, -1, 16, 257, 240, -1, -1, 208, 127,
+ 207, 209, 128, -1, 65, -1, 67, -1, -1, 239,
+ -1, 114, 22, 257, -1, 209, 73, 239, -1, 209,
+ 73, 114, 22, 257, -1, 212, -1, 210, 212, -1,
+ -1, 211, 216, -1, 112, 4, -1, 121, -1, 120,
+ -1, 145, -1, 146, -1, -1, 214, -1, 214, 215,
+ -1, 215, -1, 103, -1, 213, 220, 4, -1, 1,
+ 4, -1, 218, -1, 217, 73, 218, -1, 110, 219,
+ -1, -1, 102, -1, 226, -1, 244, -1, -1, 30,
+ 221, 224, 217, -1, 31, 114, 73, 249, -1, 31,
+ 117, 73, 249, -1, -1, 32, 222, 224, 110, 124,
+ 265, -1, 150, -1, -1, 36, 223, 224, 110, 124,
+ 265, -1, 66, 236, -1, 10, 255, -1, 118, 250,
+ -1, 14, 257, -1, 236, -1, 183, -1, 198, -1,
+ 200, -1, -1, 53, -1, 54, -1, 55, -1, 56,
+ -1, 110, -1, 249, 124, 257, -1, 249, 124, 228,
+ 257, -1, 249, 124, 257, 229, 257, -1, 249, 124,
+ 257, 125, 258, 126, -1, 249, 125, 258, 126, 124,
+ 257, -1, 249, 124, 129, 225, 125, 258, 126, -1,
+ 249, 124, 236, -1, -1, 127, 227, 243, 128, 124,
+ 235, 127, 238, 128, -1, 230, -1, 232, -1, 234,
+ -1, 249, 124, 14, -1, 130, -1, 131, -1, 132,
+ -1, 132, -1, 133, -1, 134, -1, 135, -1, 136,
+ -1, 45, -1, 69, -1, 123, -1, 58, -1, 59,
+ -1, 60, -1, 61, -1, 62, -1, 63, -1, 51,
+ -1, 52, -1, 70, -1, 71, -1, 72, -1, 57,
+ -1, 137, -1, 138, -1, 131, -1, -1, 68, 231,
+ 127, 243, 128, -1, 249, 233, 257, -1, 37, -1,
+ 38, -1, 39, -1, 40, -1, 47, -1, 46, -1,
+ 41, -1, 42, -1, 43, -1, 44, -1, 48, -1,
+ 49, -1, 50, -1, 249, 124, 118, 159, -1, 110,
+ -1, 114, -1, 117, -1, 249, -1, 249, 122, 254,
+ -1, 249, 122, 117, -1, 249, 122, 114, -1, 249,
+ 122, 249, -1, -1, 235, 237, 127, 238, 128, -1,
+ -1, 238, 73, 239, -1, 239, -1, 238, 73, 114,
+ 22, 257, -1, 257, 22, 257, -1, 114, 22, 257,
+ -1, 257, 240, -1, -1, 240, 241, -1, 17, -1,
+ 21, -1, 25, -1, 21, 127, 117, 128, -1, 21,
+ 127, 114, 128, -1, 249, 196, -1, 243, 73, 242,
+ -1, 243, 73, 114, 22, 249, -1, 242, -1, 114,
+ 22, 249, -1, -1, 246, -1, 245, -1, 13, 257,
+ 248, 257, 10, 255, -1, 13, 14, 257, 10, 255,
+ -1, 13, 257, 247, 255, -1, 12, 257, 247, 255,
+ -1, 12, 257, 248, 257, 10, 255, -1, 12, 14,
+ 257, 10, 255, -1, 73, -1, 10, -1, 58, -1,
+ 59, -1, 60, -1, 61, -1, 62, -1, 63, -1,
+ 119, -1, 264, -1, -1, 251, -1, 251, 73, 252,
+ -1, 252, -1, 256, -1, 249, 125, 258, 126, -1,
+ 125, 260, 126, -1, 254, -1, 114, -1, 117, -1,
+ 110, -1, 118, -1, 110, -1, 118, -1, 255, -1,
+ 257, -1, 249, -1, 265, -1, -1, 259, 262, -1,
+ -1, 261, 262, -1, 263, -1, 262, 139, 263, -1,
+ 257, -1, 106, -1, 107, -1, 108, -1, 109, -1,
+ 111, -1, 115, -1, 116, -1, 114, -1, 117, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -1918,8 +1920,8 @@
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "LOW_PREC", "'\\n'", "PARAM", "HLL",
- "TK_LINE", "TK_FILE", "GOTO", "ARG", "IF", "UNLESS", "PNULL",
+ "$end", "error", "$undefined", "LOW_PREC", "'\\n'", "PARAM", "SOL",
+ "HLL", "TK_LINE", "TK_FILE", "GOTO", "ARG", "IF", "UNLESS", "PNULL",
"SET_RETURN", "SET_YIELD", "ADV_FLAT", "ADV_SLURPY", "ADV_OPTIONAL",
"ADV_OPT_FLAG", "ADV_NAMED", "ADV_ARROW", "NEW", "ADV_INVOCANT",
"ADV_CALL_SIG", "NAMESPACE", "DOT_METHOD", "SUB", "SYM", "LOCAL",
@@ -1984,48 +1986,48 @@
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
- 374, 375, 376, 61, 91, 93, 40, 41, 110, 33,
- 126, 45, 43, 42, 47, 37, 38, 124, 59
+ 374, 375, 376, 377, 61, 91, 93, 40, 41, 110,
+ 33, 126, 45, 43, 42, 47, 37, 38, 124, 59
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 139, 140, 141, 141, 142, 142, 142, 142, 142,
- 142, 142, 142, 143, 143, 144, 144, 145, 146, 148,
- 147, 150, 149, 151, 149, 152, 152, 153, 153, 154,
- 154, 154, 154, 154, 154, 154, 156, 155, 157, 155,
- 155, 155, 155, 158, 160, 159, 161, 161, 162, 163,
- 163, 165, 166, 167, 164, 168, 168, 168, 170, 169,
- 171, 172, 173, 173, 174, 174, 175, 175, 176, 176,
- 177, 178, 178, 179, 179, 179, 180, 180, 180, 180,
- 180, 180, 180, 181, 181, 183, 182, 184, 184, 185,
- 185, 186, 186, 187, 187, 188, 188, 188, 188, 188,
- 188, 188, 188, 188, 188, 188, 188, 188, 188, 189,
- 189, 189, 189, 189, 189, 189, 190, 190, 191, 192,
- 192, 193, 194, 193, 195, 195, 196, 196, 196, 196,
- 196, 196, 196, 196, 198, 197, 197, 200, 199, 201,
- 201, 201, 202, 202, 202, 203, 204, 206, 205, 207,
- 207, 208, 208, 208, 208, 208, 209, 209, 210, 211,
- 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
- 215, 215, 216, 216, 217, 218, 218, 219, 219, 220,
- 219, 219, 219, 221, 219, 219, 222, 219, 219, 219,
- 219, 219, 219, 219, 219, 219, 219, 223, 223, 223,
- 223, 224, 225, 225, 225, 225, 225, 225, 225, 226,
- 225, 225, 225, 225, 225, 227, 227, 227, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 230, 229, 231, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 233, 234, 234,
- 234, 234, 234, 234, 234, 234, 236, 235, 237, 237,
- 237, 237, 237, 237, 238, 239, 239, 240, 240, 240,
- 240, 240, 241, 242, 242, 242, 242, 242, 243, 243,
- 244, 244, 244, 245, 245, 245, 246, 246, 247, 247,
- 247, 247, 247, 247, 248, 248, 249, 249, 250, 250,
- 251, 251, 251, 252, 252, 252, 253, 253, 254, 254,
- 255, 255, 256, 256, 258, 257, 260, 259, 261, 261,
- 262, 263, 263, 263, 263, 263, 264, 264, 264, 264
+ 0, 140, 141, 142, 142, 143, 143, 143, 143, 143,
+ 143, 143, 143, 144, 144, 145, 145, 146, 147, 149,
+ 148, 151, 150, 152, 150, 153, 153, 154, 154, 155,
+ 155, 155, 155, 155, 155, 155, 157, 156, 158, 156,
+ 156, 156, 156, 159, 161, 160, 162, 162, 163, 164,
+ 164, 166, 167, 168, 165, 169, 169, 169, 171, 170,
+ 172, 173, 174, 174, 175, 175, 176, 176, 177, 177,
+ 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
+ 181, 181, 181, 182, 182, 184, 183, 185, 185, 186,
+ 186, 187, 187, 188, 188, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 190,
+ 190, 190, 190, 190, 190, 190, 191, 191, 192, 193,
+ 193, 194, 195, 194, 196, 196, 197, 197, 197, 197,
+ 197, 197, 197, 197, 199, 198, 198, 201, 200, 202,
+ 202, 202, 203, 203, 203, 204, 205, 207, 206, 208,
+ 208, 209, 209, 209, 209, 209, 210, 210, 211, 212,
+ 212, 212, 212, 212, 212, 213, 213, 214, 214, 215,
+ 216, 216, 217, 217, 218, 219, 219, 220, 220, 221,
+ 220, 220, 220, 222, 220, 220, 223, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 220, 224, 224, 224,
+ 224, 225, 226, 226, 226, 226, 226, 226, 226, 227,
+ 226, 226, 226, 226, 226, 228, 228, 228, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 231, 230, 232, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 234, 235, 235,
+ 235, 235, 235, 235, 235, 235, 237, 236, 238, 238,
+ 238, 238, 238, 238, 239, 240, 240, 241, 241, 241,
+ 241, 241, 242, 243, 243, 243, 243, 243, 244, 244,
+ 245, 245, 245, 246, 246, 246, 247, 247, 248, 248,
+ 248, 248, 248, 248, 249, 249, 250, 250, 251, 251,
+ 252, 252, 252, 253, 253, 253, 254, 254, 255, 255,
+ 256, 256, 257, 257, 259, 258, 261, 260, 262, 262,
+ 263, 264, 264, 264, 264, 264, 265, 265, 265, 265
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -2152,79 +2154,79 @@
#define YYPACT_NINF -424
static const yytype_int16 yypact[] =
{
- 219, -424, -86, -55, -62, -58, -424, -424, -8, -424,
- 82, 163, 219, -424, -424, -424, 169, -424, -424, -424,
- -424, -424, 93, 171, 58, 184, 95, 166, 188, 70,
- -424, -424, -424, -424, 90, -424, -424, 81, 439, -424,
+ 212, -424, -90, -80, -21, -28, -424, -424, 9, -424,
+ 118, 151, 212, -424, -424, -424, 149, -424, -424, -424,
+ -424, -424, 93, 153, 32, 163, 154, 125, 171, 180,
+ -424, -424, -424, -424, 68, -424, -424, 66, 441, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 100, -424, 109, -424, 220, -424, -424, -424, -424, 160,
- -424, 129, -424, 67, 133, -424, 232, -424, -424, -424,
+ 94, -424, 89, -424, 204, -424, -424, -424, -424, 247,
+ -424, 104, -424, 13, 108, -424, 209, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 99, -424, -424, -424, 421, 117, 131, 135, -424, -424,
- -424, 439, 136, -424, 250, 134, -424, -424, 439, -424,
- -424, -424, -424, -424, 130, -424, 132, -424, 137, 142,
- 146, 147, 149, -424, -424, -424, -424, -424, -424, -424,
- 251, 421, -424, 115, 425, 425, -424, 204, 421, -424,
- 350, -424, 48, -19, 161, 164, 165, 48, 48, -424,
- -424, -424, -424, -424, -424, 159, -424, 177, 182, 200,
- -424, -424, 179, -424, 234, -424, -424, -424, -424, 180,
- 181, 183, -424, -424, -424, -424, -424, -424, -424, -64,
- -424, 186, 190, 191, 192, 300, 48, 48, -424, -424,
- 196, 439, -424, 350, -424, -424, -424, 198, 161, -424,
- -424, -424, -424, -424, -424, 49, -424, -424, -424, 99,
- 199, -424, -424, -424, -424, 213, 323, -424, -424, -424,
- -424, 324, 256, 60, 8, -424, -424, 166, 259, -424,
- -424, -424, -424, 328, 230, -424, -424, 224, 115, -424,
- -67, 253, 270, 439, -424, 71, 42, -424, -424, 509,
- -424, -424, 330, 337, 338, -424, -424, -424, 350, -424,
- -424, -424, -424, -424, -424, 223, 341, -424, -424, -424,
- -424, -424, -424, -424, -424, -424, 405, -424, -424, -424,
- 439, 229, 439, 229, -424, 166, 278, 290, 166, 166,
- -424, 243, 244, -424, -424, -424, -424, 523, -424, -424,
- 246, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- -424, -424, -424, -424, 379, 22, -424, 439, 5, 364,
- -424, -424, -424, -424, -424, -424, -424, -424, -67, 439,
- 365, -67, 439, 272, 247, 247, 280, 281, 523, -424,
- -424, -424, 358, -424, -39, -424, 453, 467, -424, -424,
- -424, -424, -424, 261, 265, 350, 283, -424, -424, -424,
- 439, -424, 28, 369, 268, -424, -424, -424, -424, 271,
- -424, -424, -424, -67, -424, 385, -67, -424, 389, 298,
- 329, -424, -424, -424, 282, 284, -36, 0, 27, 11,
- 247, 532, 285, 5, 382, -27, -424, -424, 388, -24,
- -424, 393, -424, -424, 293, -424, -424, -424, -424, -424,
+ 75, -424, -424, -424, 483, 91, 103, 114, -424, -424,
+ -424, 441, 115, -424, 226, 113, -424, -424, 441, -424,
+ -424, -424, -424, -424, 106, -424, 109, -424, 119, 121,
+ 122, 123, 124, -424, -424, -424, -424, -424, -424, -424,
+ 231, 483, -424, 74, 255, 255, -424, 172, 483, -424,
+ 426, -424, -40, -69, 387, 141, 142, -40, -40, -424,
+ -424, -424, -424, -424, -424, 133, -424, 134, 152, 159,
+ -424, -424, 145, -424, 193, -424, -424, -424, -424, 146,
+ 147, 148, -424, -424, -424, -424, -424, -424, -424, -58,
+ -424, 160, 161, 162, 174, 273, -40, -40, -424, -424,
+ 156, 441, -424, 426, -424, -424, -424, 165, 387, -424,
+ -424, -424, -424, -424, -424, 29, -424, -424, -424, 75,
+ 177, -424, -424, -424, -424, 166, 283, -424, -424, -424,
+ -424, 300, 232, 34, 18, -424, -424, 125, 234, -424,
+ -424, -424, -424, 304, 229, -424, -424, 203, 74, -424,
+ -85, 272, 320, 441, -424, -7, 24, -424, -424, 535,
+ -424, -424, 313, 314, 315, -424, -424, -424, 426, -424,
+ -424, -424, -424, -424, -424, 194, 318, -424, -424, -424,
+ -424, -424, -424, -424, -424, -424, 444, -424, -424, -424,
+ 441, 164, 441, 164, -424, 125, 250, 253, 125, 125,
+ -424, 205, 215, -424, -424, -424, -424, 549, -424, -424,
+ 227, -424, -424, -424, -424, -424, -424, -424, -424, -424,
+ -424, -424, -424, -424, 396, 54, -424, 441, 38, 322,
+ -424, -424, -424, -424, -424, -424, -424, -424, -85, 441,
+ 339, -85, 441, 243, 222, 222, 245, 248, 549, -424,
+ -424, -424, 335, -424, -47, -424, 479, 493, -424, -424,
+ -424, -424, -424, 233, 249, 426, 265, -424, -424, -424,
+ 441, -424, -18, 393, 251, -424, -424, -424, -424, 257,
+ -424, -424, -424, -85, -424, 375, -85, -424, 380, 290,
+ 321, -424, -424, -424, 269, 274, -37, 2, 8, 4,
+ 222, 558, 275, 38, 379, -33, -424, -424, 381, -27,
+ -424, 383, -424, -424, 281, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 439, 301, 85, -424, -67, -424, -67, -424, -424, 272,
- 115, 115, -424, 439, 439, -37, 402, -424, 439, -424,
- 417, -424, 439, -424, 419, -424, 413, -424, 509, 439,
- 481, -424, 162, 439, 495, -424, 439, -424, 310, -424,
- 439, 309, 322, -424, -424, -424, -424, -424, -424, 457,
- 439, 439, 541, 133, -424, -424, -424, -424, -424, 247,
- 336, -424, 450, -424, -424, 347, -424, -424, -424, 455,
- -424, -424, 352, -424, -424, -424, -424, -424, 10, 475,
- 12, 26, -424, 477, 162, 162, -424, 467, 439, 86,
- 439, -424, -424, 439, -424, -424, 439, -424, 439, 94,
- -424, -23, -424, 355, 356, -424, 486, 490, 494, -424,
- 247, -424, 514, -424, -424, -424, -424, -424, -424, 166,
- -424, -424, 272, 5, -424
+ 441, 284, 84, -424, -85, -424, -85, -424, -424, 243,
+ 74, 74, -424, 441, 441, -12, 403, -424, 441, -424,
+ 405, -424, 441, -424, 409, -424, 392, -424, 535, 441,
+ 507, -424, 131, 441, 521, -424, 441, -424, 271, -424,
+ 441, 289, 291, -424, -424, -424, -424, -424, -424, 416,
+ 441, 441, 567, 108, -424, -424, -424, -424, -424, 222,
+ 294, -424, 401, -424, -424, 297, -424, -424, -424, 408,
+ -424, -424, 299, -424, -424, -424, -424, -424, 5, 442,
+ 6, 17, -424, 443, 131, 131, -424, 493, 441, 85,
+ 441, -424, -424, 441, -424, -424, 441, -424, 441, 41,
+ -424, -22, -424, 329, 330, -424, 445, 455, 456, -424,
+ 222, -424, 457, -424, -424, -424, -424, -424, -424, 125,
+ -424, -424, 243, 38, -424
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -424, -424, -424, 510, -1, -161, -424, -424, -424, -424,
- 299, -424, -424, -68, -424, 465, -424, -424, -424, 203,
- -424, -424, -424, 3, -424, -424, -424, -424, -424, -424,
+ -424, -424, -424, 436, 10, -166, -424, -424, -424, -424,
+ 242, -424, -424, -62, -424, 412, -424, -424, -424, 128,
+ -424, -424, -424, 23, -424, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- -424, 339, -424, -424, -424, -424, -424, 397, -424, 415,
+ -424, 279, -424, -424, -424, -424, -424, 340, -424, 353,
-424, -424, -424, -424, -424, -424, -330, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- -424, -424, 343, 348, -424, -63, -424, -424, -423, -424,
+ -424, -424, 263, 282, -424, -63, -424, -424, -423, -424,
-424, -424, -424, -424, -214, -424, -424, -424, -424, -424,
- -424, -424, -424, -424, -424, 89, -226, -424, 43, -292,
- -329, -424, 170, 236, -424, -424, -424, 292, 297, -128,
- 331, -424, 395, -424, 286, -219, -47, -38, -164, -424,
- -424, -424, 403, 478, -424, -116
+ -424, -424, -424, -424, -424, 31, -225, -424, -30, -320,
+ -344, -424, 117, 167, -424, -424, -424, 216, 235, -128,
+ 252, -424, 316, -424, 207, -219, -8, -38, -164, -424,
+ -424, -424, 328, 419, -424, -116
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -2234,203 +2236,209 @@
#define YYTABLE_NINF -262
static const yytype_int16 yytable[] =
{
- 79, 96, 152, 227, 187, 383, 465, 141, 188, 223,
- 433, 269, -165, 280, 512, 441, 515, -165, 200, -165,
- -165, -165, 356, 357, 358, 359, 442, 21, 57, 360,
- 517, 437, 62, 381, 209, 342, 381, -165, -165, -165,
- 470, 438, 142, -165, 386, 450, 471, 472, 454, 454,
- 143, 23, 209, 126, 204, 152, 3, 4, 57, 22,
- 79, 323, 62, 189, 326, 327, 24, 3, 4, 173,
- 174, -42, -165, -165, -165, -165, 2, 145, 147, 351,
- 91, 205, 513, -165, 516, 434, 30, -165, 382, -165,
- 160, 432, 205, 443, 161, 5, 266, 92, 518, 364,
- 451, 52, 367, 455, 533, 28, 361, 439, 196, 197,
- 53, 281, 268, -165, -165, -165, -165, -165, -165, 544,
- 152, -165, -83, 529, -165, -165, -165, 68, 69, 70,
- 71, 245, 72, -84, -165, 343, 74, 75, 344, 345,
- 77, 468, 354, 79, 423, 93, 504, 425, 505, 304,
- 346, 347, 348, 349, -261, -23, -21, 530, 483, 335,
- 206, 157, 490, 31, 158, 34, 2, 8, 207, 208,
- 531, 206, 53, 33, -46, 35, 340, 352, 484, 207,
- 208, 54, 485, 36, 276, 5, 486, 277, 39, 55,
- 56, 52, 51, 271, 273, 274, 372, 373, 461, 523,
- 335, 462, 524, 66, 40, 463, 67, 464, 41, 85,
- 543, 42, 43, 162, 163, 164, 165, 152, 46, 47,
- 48, 49, -23, 1, 88, 2, 3, 4, 73, 74,
- 75, 76, 309, 90, 320, 53, 97, 98, 310, 230,
- 123, 231, 232, 233, 5, 124, 6, 458, 125, 127,
- 7, 130, 445, 335, 129, 139, 132, 8, 133, 234,
- 235, 236, 53, 134, -47, 237, 270, 353, 135, 355,
- 166, 54, 136, 137, 167, 138, 148, 171, 172, 55,
- 56, 365, 176, 272, 368, 168, 311, 312, 313, 314,
- 315, 316, 178, 492, 238, 239, 240, 241, 387, 391,
- 177, 317, 179, 182, 194, 242, 183, 184, 185, 243,
- 186, 244, 395, 190, 466, 467, 8, 191, 192, 193,
- 281, 198, 9, 202, 216, 542, 218, 219, 220, 221,
- 10, 228, 229, 267, 283, 68, 69, 70, 71, 245,
- 72, 284, 285, 246, 501, 289, 247, 248, 77, 288,
- 324, 506, 68, 69, 70, 71, 249, 72, 68, 69,
- 70, 71, 325, 72, 304, 77, 73, 74, 75, 76,
- 328, 77, 337, 363, 366, 68, 69, 70, 71, 380,
- 72, 369, 459, 73, 74, 75, 76, -259, 77, 374,
- 375, -260, 393, 421, 424, 387, 469, 422, 426, 427,
- 475, 429, 540, 449, 477, 430, 474, 431, 448, 453,
- 503, 481, 387, 396, 456, 488, 387, 457, 491, 397,
- 398, 476, 494, 478, 460, 399, 400, 401, 402, 403,
- 404, 405, 498, 499, 479, 493, 495, 406, 407, 408,
- 409, 291, 292, 293, 294, 295, 296, 297, 298, 496,
- 299, 300, 301, 302, 303, 68, 69, 70, 71, 142,
- 72, 497, 507, 73, 74, 75, 76, 143, 77, 391,
- 522, 508, 525, 509, 150, 526, 510, 511, 527, 514,
- 528, 520, 534, 535, 68, 69, 70, 71, 40, 72,
- 536, 410, 338, 411, 537, 339, 43, 77, 538, 412,
- 413, 414, 415, 416, 417, 418, 419, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 541, 110,
- 111, 112, 32, 250, 89, 149, 304, 203, 305, 306,
- 68, 69, 70, 71, 142, 72, 140, 480, 73, 74,
- 75, 76, 143, 77, 68, 69, 70, 71, 392, 72,
- 521, 447, 73, 74, 75, 76, 222, 77, 68, 69,
- 70, 71, 224, 72, 376, 321, 384, 74, 75, 76,
- 322, 77, 68, 69, 70, 71, 131, 72, 201, 286,
- 388, 74, 75, 76, 199, 77, 68, 69, 70, 71,
- 341, 72, 0, 0, 482, 74, 75, 76, 0, 77,
- 68, 69, 70, 71, 0, 72, 0, 0, 489, 74,
- 75, 76, 0, 77, 68, 69, 70, 71, 245, 72,
- 0, 0, 246, 0, 0, 247, 0, 77, 68, 69,
- 70, 71, 0, 72, 0, 0, 332, 68, 69, 70,
- 71, 77, 72, 0, 0, 446, 68, 69, 70, 71,
- 77, 72, 0, 0, 500, 0, 0, 0, 0, 77
+ 79, 96, 152, 227, 187, 383, 465, 141, 441, 512,
+ 515, 269, 437, 433, 280, 188, 386, -42, 200, 223,
+ 442, 517, -165, 438, 21, 142, 381, 91, -165, 209,
+ -165, -165, -165, 143, 204, 22, 381, 3, 4, 57,
+ 450, 160, 3, 4, 92, 161, 454, 209, -165, -165,
+ -165, 454, 62, 126, -165, 152, 356, 357, 358, 359,
+ 79, 323, 205, 360, 326, 327, 470, 205, 342, 57,
+ 189, 529, 471, 472, 157, 173, 174, 158, 513, 516,
+ 351, 382, 62, -165, -165, -165, -165, 443, 434, 439,
+ 518, 432, 93, 23, -165, 451, 266, 24, -165, 364,
+ -165, 455, 367, -83, 304, 530, 533, 276, -84, -261,
+ 277, 281, 268, 468, 196, 197, 145, 147, 531, 544,
+ 152, 53, 30, 28, -165, -165, -165, -165, -165, -165,
+ 483, 504, -165, 505, 490, -165, -165, -165, -23, -21,
+ 361, 206, 354, 79, 423, -165, 206, 425, 484, 207,
+ 208, 31, 485, 33, 207, 208, 486, 35, 36, 335,
+ 68, 69, 70, 71, 245, 72, 34, 39, 343, 74,
+ 75, 344, 345, 77, 310, 51, 340, 352, 46, 47,
+ 48, 49, 66, 346, 347, 348, 349, 2, 73, 74,
+ 75, 76, 67, 271, 273, 274, 372, 373, 461, 523,
+ 335, 462, 524, -23, 85, 463, 5, 464, 88, 90,
+ 543, 53, 52, 97, 98, 123, 1, 152, 124, 2,
+ 3, 4, 311, 312, 313, 314, 315, 316, 125, 127,
+ 129, 130, 309, 132, 320, 139, 133, 317, 5, 230,
+ 6, 231, 232, 233, 7, 148, 134, 458, 135, 136,
+ 137, 138, 445, 335, 2, 171, 172, 176, 177, 234,
+ 235, 236, 179, 178, 40, 237, 183, 353, 41, 355,
+ 182, 42, 43, 5, 184, 185, 186, 194, 8, 52,
+ 218, 365, 198, 53, 368, -46, 270, 219, 190, 191,
+ 192, 202, 54, 492, 238, 239, 240, 241, 387, 391,
+ 55, 56, 193, 216, 220, 242, 221, 228, 229, 243,
+ 8, 244, 395, 267, 466, 467, 9, 283, 284, 285,
+ 281, 288, 289, 324, 10, 542, 325, 304, 68, 69,
+ 70, 71, 363, 72, 272, 68, 69, 70, 71, 245,
+ 72, 77, 328, 246, 501, 8, 247, 248, 77, 366,
+ 53, 506, -47, 369, 337, 374, 249, 380, 375, 54,
+ -259, 68, 69, 70, 71, 142, 72, 55, 56, 73,
+ 74, 75, 76, 143, 77, 393, -260, 421, 68, 69,
+ 70, 71, 459, 72, 422, 424, 73, 74, 75, 76,
+ 426, 77, 427, 430, 429, 387, 469, 493, 431, 448,
+ 475, 449, 540, 453, 477, 456, 457, 474, 460, 476,
+ 503, 481, 387, 478, 479, 488, 387, 495, 491, 496,
+ 497, 507, 494, 508, 509, 511, 68, 69, 70, 71,
+ 510, 72, 498, 499, 73, 74, 75, 76, 396, 77,
+ 162, 163, 164, 165, 397, 398, 514, 520, 32, 536,
+ 399, 400, 401, 402, 403, 404, 405, 534, 535, 537,
+ 538, 541, 406, 407, 408, 409, 250, 203, 149, 391,
+ 522, 89, 525, 392, 140, 526, 222, 521, 527, 480,
+ 528, 291, 292, 293, 294, 295, 296, 297, 298, 321,
+ 299, 300, 301, 302, 303, 376, 224, 166, 447, 201,
+ 286, 167, 68, 69, 70, 71, 40, 72, 322, 199,
+ 338, 341, 168, 339, 43, 77, 410, 131, 411, 0,
+ 0, 0, 0, 0, 412, 413, 414, 415, 416, 417,
+ 418, 419, 68, 69, 70, 71, 142, 72, 0, 0,
+ 73, 74, 75, 76, 143, 77, 0, 68, 69, 70,
+ 71, 150, 72, 0, 0, 73, 74, 75, 76, 0,
+ 77, 0, 0, 0, 0, 0, 304, 0, 305, 306,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 0, 110, 111, 112, 68, 69, 70, 71, 0,
+ 72, 0, 0, 384, 74, 75, 76, 0, 77, 68,
+ 69, 70, 71, 0, 72, 0, 0, 388, 74, 75,
+ 76, 0, 77, 68, 69, 70, 71, 0, 72, 0,
+ 0, 482, 74, 75, 76, 0, 77, 68, 69, 70,
+ 71, 0, 72, 0, 0, 489, 74, 75, 76, 0,
+ 77, 68, 69, 70, 71, 245, 72, 0, 0, 246,
+ 0, 0, 247, 0, 77, 68, 69, 70, 71, 0,
+ 72, 0, 0, 332, 68, 69, 70, 71, 77, 72,
+ 0, 0, 446, 68, 69, 70, 71, 77, 72, 0,
+ 0, 500, 0, 0, 0, 0, 77
};
static const yytype_int16 yycheck[] =
{
- 38, 64, 130, 217, 168, 335, 429, 123, 72, 1,
- 10, 230, 4, 239, 4, 4, 4, 9, 182, 11,
- 12, 13, 17, 18, 19, 20, 15, 113, 29, 24,
- 4, 4, 29, 72, 195, 13, 72, 29, 30, 31,
- 77, 14, 109, 35, 336, 72, 83, 84, 72, 72,
- 117, 113, 213, 91, 5, 183, 7, 8, 59, 114,
- 98, 275, 59, 127, 278, 279, 124, 7, 8, 137,
- 138, 4, 64, 65, 66, 67, 6, 124, 125, 305,
- 13, 32, 72, 75, 72, 85, 4, 79, 127, 81,
- 109, 127, 32, 82, 113, 25, 224, 30, 72, 318,
- 127, 31, 321, 127, 127, 113, 101, 80, 176, 177,
- 102, 239, 228, 105, 106, 107, 108, 109, 110, 542,
- 248, 113, 73, 29, 116, 117, 118, 105, 106, 107,
- 108, 109, 110, 73, 126, 113, 114, 115, 116, 117,
- 118, 433, 306, 181, 363, 78, 475, 366, 477, 121,
- 128, 129, 130, 131, 126, 113, 114, 63, 450, 287,
- 111, 113, 454, 0, 116, 72, 6, 97, 119, 120,
- 76, 111, 102, 4, 104, 4, 304, 305, 16, 119,
- 120, 111, 20, 125, 113, 25, 24, 116, 4, 119,
- 120, 31, 4, 231, 232, 233, 324, 325, 113, 113,
- 328, 116, 116, 113, 109, 424, 125, 426, 113, 109,
- 540, 116, 117, 52, 53, 54, 55, 345, 52, 53,
- 54, 55, 113, 4, 4, 6, 7, 8, 113, 114,
- 115, 116, 270, 104, 272, 102, 4, 138, 9, 9,
- 123, 11, 12, 13, 25, 114, 27, 411, 113, 113,
- 31, 117, 380, 381, 4, 4, 126, 97, 126, 29,
- 30, 31, 102, 126, 104, 35, 13, 305, 126, 307,
- 109, 111, 126, 126, 113, 126, 72, 113, 113, 119,
- 120, 319, 123, 13, 322, 124, 57, 58, 59, 60,
- 61, 62, 110, 457, 64, 65, 66, 67, 336, 337,
- 123, 72, 102, 124, 4, 75, 72, 127, 127, 79,
- 127, 81, 350, 127, 430, 431, 97, 127, 127, 127,
- 448, 125, 103, 125, 125, 539, 113, 4, 4, 73,
- 111, 72, 4, 109, 4, 105, 106, 107, 108, 109,
- 110, 4, 4, 113, 472, 4, 116, 117, 118, 126,
- 72, 479, 105, 106, 107, 108, 126, 110, 105, 106,
- 107, 108, 72, 110, 121, 118, 113, 114, 115, 116,
- 126, 118, 126, 9, 9, 105, 106, 107, 108, 21,
- 110, 109, 420, 113, 114, 115, 116, 126, 118, 109,
- 109, 126, 109, 125, 9, 433, 434, 126, 9, 101,
- 438, 72, 530, 21, 442, 123, 4, 123, 123, 21,
- 473, 449, 450, 44, 21, 453, 454, 124, 456, 50,
- 51, 4, 460, 4, 123, 56, 57, 58, 59, 60,
- 61, 62, 470, 471, 21, 125, 127, 68, 69, 70,
- 71, 36, 37, 38, 39, 40, 41, 42, 43, 127,
- 45, 46, 47, 48, 49, 105, 106, 107, 108, 109,
- 110, 4, 126, 113, 114, 115, 116, 117, 118, 507,
- 508, 21, 510, 126, 124, 513, 21, 125, 516, 4,
- 518, 4, 127, 127, 105, 106, 107, 108, 109, 110,
- 4, 122, 113, 124, 4, 116, 117, 118, 4, 130,
- 131, 132, 133, 134, 135, 136, 137, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 4, 98,
- 99, 100, 12, 224, 59, 128, 121, 188, 123, 124,
- 105, 106, 107, 108, 109, 110, 121, 448, 113, 114,
- 115, 116, 117, 118, 105, 106, 107, 108, 345, 110,
- 507, 381, 113, 114, 115, 116, 213, 118, 105, 106,
- 107, 108, 214, 110, 328, 273, 113, 114, 115, 116,
- 273, 118, 105, 106, 107, 108, 98, 110, 183, 248,
- 113, 114, 115, 116, 181, 118, 105, 106, 107, 108,
- 304, 110, -1, -1, 113, 114, 115, 116, -1, 118,
- 105, 106, 107, 108, -1, 110, -1, -1, 113, 114,
- 115, 116, -1, 118, 105, 106, 107, 108, 109, 110,
- -1, -1, 113, -1, -1, 116, -1, 118, 105, 106,
- 107, 108, -1, 110, -1, -1, 113, 105, 106, 107,
- 108, 118, 110, -1, -1, 113, 105, 106, 107, 108,
- 118, 110, -1, -1, 113, -1, -1, -1, -1, 118
+ 38, 64, 130, 217, 168, 335, 429, 123, 4, 4,
+ 4, 230, 4, 11, 239, 73, 336, 4, 182, 1,
+ 16, 4, 4, 15, 114, 110, 73, 14, 10, 195,
+ 12, 13, 14, 118, 5, 115, 73, 8, 9, 29,
+ 73, 110, 8, 9, 31, 114, 73, 213, 30, 31,
+ 32, 73, 29, 91, 36, 183, 18, 19, 20, 21,
+ 98, 275, 33, 25, 278, 279, 78, 33, 14, 59,
+ 128, 30, 84, 85, 114, 137, 138, 117, 73, 73,
+ 305, 128, 59, 65, 66, 67, 68, 83, 86, 81,
+ 73, 128, 79, 114, 76, 128, 224, 125, 80, 318,
+ 82, 128, 321, 74, 122, 64, 128, 114, 74, 127,
+ 117, 239, 228, 433, 176, 177, 124, 125, 77, 542,
+ 248, 103, 4, 114, 106, 107, 108, 109, 110, 111,
+ 450, 475, 114, 477, 454, 117, 118, 119, 114, 115,
+ 102, 112, 306, 181, 363, 127, 112, 366, 17, 120,
+ 121, 0, 21, 4, 120, 121, 25, 4, 126, 287,
+ 106, 107, 108, 109, 110, 111, 73, 4, 114, 115,
+ 116, 117, 118, 119, 10, 4, 304, 305, 53, 54,
+ 55, 56, 114, 129, 130, 131, 132, 7, 114, 115,
+ 116, 117, 126, 231, 232, 233, 324, 325, 114, 114,
+ 328, 117, 117, 114, 110, 424, 26, 426, 4, 105,
+ 540, 103, 32, 4, 139, 124, 4, 345, 115, 7,
+ 8, 9, 58, 59, 60, 61, 62, 63, 114, 114,
+ 4, 118, 270, 127, 272, 4, 127, 73, 26, 10,
+ 28, 12, 13, 14, 32, 73, 127, 411, 127, 127,
+ 127, 127, 380, 381, 7, 114, 114, 124, 124, 30,
+ 31, 32, 103, 111, 110, 36, 73, 305, 114, 307,
+ 125, 117, 118, 26, 128, 128, 128, 4, 98, 32,
+ 114, 319, 126, 103, 322, 105, 14, 4, 128, 128,
+ 128, 126, 112, 457, 65, 66, 67, 68, 336, 337,
+ 120, 121, 128, 126, 4, 76, 74, 73, 4, 80,
+ 98, 82, 350, 110, 430, 431, 104, 4, 4, 4,
+ 448, 127, 4, 73, 112, 539, 73, 122, 106, 107,
+ 108, 109, 10, 111, 14, 106, 107, 108, 109, 110,
+ 111, 119, 127, 114, 472, 98, 117, 118, 119, 10,
+ 103, 479, 105, 110, 127, 110, 127, 22, 110, 112,
+ 127, 106, 107, 108, 109, 110, 111, 120, 121, 114,
+ 115, 116, 117, 118, 119, 110, 127, 126, 106, 107,
+ 108, 109, 420, 111, 127, 10, 114, 115, 116, 117,
+ 10, 119, 102, 124, 73, 433, 434, 126, 124, 124,
+ 438, 22, 530, 22, 442, 22, 125, 4, 124, 4,
+ 473, 449, 450, 4, 22, 453, 454, 128, 456, 128,
+ 4, 127, 460, 22, 127, 126, 106, 107, 108, 109,
+ 22, 111, 470, 471, 114, 115, 116, 117, 45, 119,
+ 53, 54, 55, 56, 51, 52, 4, 4, 12, 4,
+ 57, 58, 59, 60, 61, 62, 63, 128, 128, 4,
+ 4, 4, 69, 70, 71, 72, 224, 188, 128, 507,
+ 508, 59, 510, 345, 121, 513, 213, 507, 516, 448,
+ 518, 37, 38, 39, 40, 41, 42, 43, 44, 273,
+ 46, 47, 48, 49, 50, 328, 214, 110, 381, 183,
+ 248, 114, 106, 107, 108, 109, 110, 111, 273, 181,
+ 114, 304, 125, 117, 118, 119, 123, 98, 125, -1,
+ -1, -1, -1, -1, 131, 132, 133, 134, 135, 136,
+ 137, 138, 106, 107, 108, 109, 110, 111, -1, -1,
+ 114, 115, 116, 117, 118, 119, -1, 106, 107, 108,
+ 109, 125, 111, -1, -1, 114, 115, 116, 117, -1,
+ 119, -1, -1, -1, -1, -1, 122, -1, 124, 125,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 106, 107, 108, 109, -1,
+ 111, -1, -1, 114, 115, 116, 117, -1, 119, 106,
+ 107, 108, 109, -1, 111, -1, -1, 114, 115, 116,
+ 117, -1, 119, 106, 107, 108, 109, -1, 111, -1,
+ -1, 114, 115, 116, 117, -1, 119, 106, 107, 108,
+ 109, -1, 111, -1, -1, 114, 115, 116, 117, -1,
+ 119, 106, 107, 108, 109, 110, 111, -1, -1, 114,
+ -1, -1, 117, -1, 119, 106, 107, 108, 109, -1,
+ 111, -1, -1, 114, 106, 107, 108, 109, 119, 111,
+ -1, -1, 114, 106, 107, 108, 109, 119, 111, -1,
+ -1, 114, -1, -1, -1, -1, 119
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 4, 6, 7, 8, 25, 27, 31, 97, 103,
- 111, 140, 141, 142, 143, 144, 146, 147, 159, 162,
- 164, 113, 114, 113, 124, 163, 165, 148, 113, 160,
- 4, 0, 142, 4, 72, 4, 125, 257, 258, 4,
- 109, 113, 116, 117, 252, 253, 52, 53, 54, 55,
- 223, 4, 31, 102, 111, 119, 120, 143, 149, 153,
- 154, 161, 162, 212, 213, 214, 113, 125, 105, 106,
- 107, 108, 110, 113, 114, 115, 116, 118, 248, 256,
- 261, 262, 263, 264, 166, 109, 150, 151, 4, 154,
- 104, 13, 30, 78, 155, 156, 214, 4, 138, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 98, 99, 100, 172, 173, 174, 175, 176, 177, 178,
- 186, 187, 188, 123, 114, 113, 256, 113, 157, 4,
- 117, 262, 126, 126, 126, 126, 126, 126, 126, 4,
- 188, 264, 109, 117, 254, 255, 256, 255, 72, 186,
- 124, 158, 248, 249, 250, 251, 255, 113, 116, 152,
- 109, 113, 52, 53, 54, 55, 109, 113, 124, 179,
- 180, 113, 113, 152, 152, 167, 123, 123, 110, 102,
- 259, 260, 124, 72, 127, 127, 127, 257, 72, 127,
- 127, 127, 127, 127, 4, 168, 152, 152, 125, 261,
- 257, 251, 125, 180, 5, 32, 111, 119, 120, 144,
- 145, 169, 181, 209, 210, 211, 125, 170, 113, 4,
- 4, 73, 211, 1, 212, 215, 171, 223, 72, 4,
- 9, 11, 12, 13, 29, 30, 31, 35, 64, 65,
- 66, 67, 75, 79, 81, 109, 113, 116, 117, 126,
- 149, 182, 197, 199, 205, 207, 219, 225, 229, 231,
- 233, 234, 235, 243, 244, 245, 248, 109, 264, 254,
- 13, 256, 13, 256, 256, 220, 113, 116, 221, 222,
- 235, 248, 230, 4, 4, 4, 249, 226, 126, 4,
- 236, 36, 37, 38, 39, 40, 41, 42, 43, 45,
- 46, 47, 48, 49, 121, 123, 124, 232, 195, 256,
- 9, 57, 58, 59, 60, 61, 62, 72, 246, 247,
- 256, 246, 247, 223, 72, 72, 223, 223, 126, 183,
- 198, 200, 113, 241, 242, 248, 206, 126, 113, 116,
- 248, 253, 13, 113, 116, 117, 128, 129, 130, 131,
- 227, 235, 248, 256, 257, 256, 17, 18, 19, 20,
- 24, 101, 196, 9, 254, 256, 9, 254, 256, 109,
- 216, 217, 248, 248, 109, 109, 242, 190, 201, 202,
- 21, 72, 127, 195, 113, 208, 238, 256, 113, 237,
- 238, 256, 158, 109, 224, 256, 44, 50, 51, 56,
- 57, 58, 59, 60, 61, 62, 68, 69, 70, 71,
- 122, 124, 130, 131, 132, 133, 134, 135, 136, 137,
- 228, 125, 126, 254, 9, 254, 9, 101, 218, 72,
- 123, 123, 127, 10, 85, 185, 191, 4, 14, 80,
- 203, 4, 15, 82, 204, 248, 113, 241, 123, 21,
- 72, 127, 239, 21, 72, 127, 21, 124, 257, 256,
- 123, 113, 116, 254, 254, 217, 264, 264, 238, 256,
- 77, 83, 84, 189, 4, 256, 4, 256, 4, 21,
- 234, 256, 113, 238, 16, 20, 24, 240, 256, 113,
- 238, 256, 257, 125, 256, 127, 127, 4, 256, 256,
- 113, 248, 184, 214, 239, 239, 248, 126, 21, 126,
- 21, 125, 4, 72, 4, 4, 72, 4, 72, 192,
- 4, 237, 256, 113, 116, 256, 256, 256, 256, 29,
- 63, 76, 193, 127, 127, 127, 4, 4, 4, 194,
- 248, 4, 223, 195, 217
+ 0, 4, 7, 8, 9, 26, 28, 32, 98, 104,
+ 112, 141, 142, 143, 144, 145, 147, 148, 160, 163,
+ 165, 114, 115, 114, 125, 164, 166, 149, 114, 161,
+ 4, 0, 143, 4, 73, 4, 126, 258, 259, 4,
+ 110, 114, 117, 118, 253, 254, 53, 54, 55, 56,
+ 224, 4, 32, 103, 112, 120, 121, 144, 150, 154,
+ 155, 162, 163, 213, 214, 215, 114, 126, 106, 107,
+ 108, 109, 111, 114, 115, 116, 117, 119, 249, 257,
+ 262, 263, 264, 265, 167, 110, 151, 152, 4, 155,
+ 105, 14, 31, 79, 156, 157, 215, 4, 139, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 99, 100, 101, 173, 174, 175, 176, 177, 178, 179,
+ 187, 188, 189, 124, 115, 114, 257, 114, 158, 4,
+ 118, 263, 127, 127, 127, 127, 127, 127, 127, 4,
+ 189, 265, 110, 118, 255, 256, 257, 256, 73, 187,
+ 125, 159, 249, 250, 251, 252, 256, 114, 117, 153,
+ 110, 114, 53, 54, 55, 56, 110, 114, 125, 180,
+ 181, 114, 114, 153, 153, 168, 124, 124, 111, 103,
+ 260, 261, 125, 73, 128, 128, 128, 258, 73, 128,
+ 128, 128, 128, 128, 4, 169, 153, 153, 126, 262,
+ 258, 252, 126, 181, 5, 33, 112, 120, 121, 145,
+ 146, 170, 182, 210, 211, 212, 126, 171, 114, 4,
+ 4, 74, 212, 1, 213, 216, 172, 224, 73, 4,
+ 10, 12, 13, 14, 30, 31, 32, 36, 65, 66,
+ 67, 68, 76, 80, 82, 110, 114, 117, 118, 127,
+ 150, 183, 198, 200, 206, 208, 220, 226, 230, 232,
+ 234, 235, 236, 244, 245, 246, 249, 110, 265, 255,
+ 14, 257, 14, 257, 257, 221, 114, 117, 222, 223,
+ 236, 249, 231, 4, 4, 4, 250, 227, 127, 4,
+ 237, 37, 38, 39, 40, 41, 42, 43, 44, 46,
+ 47, 48, 49, 50, 122, 124, 125, 233, 196, 257,
+ 10, 58, 59, 60, 61, 62, 63, 73, 247, 248,
+ 257, 247, 248, 224, 73, 73, 224, 224, 127, 184,
+ 199, 201, 114, 242, 243, 249, 207, 127, 114, 117,
+ 249, 254, 14, 114, 117, 118, 129, 130, 131, 132,
+ 228, 236, 249, 257, 258, 257, 18, 19, 20, 21,
+ 25, 102, 197, 10, 255, 257, 10, 255, 257, 110,
+ 217, 218, 249, 249, 110, 110, 243, 191, 202, 203,
+ 22, 73, 128, 196, 114, 209, 239, 257, 114, 238,
+ 239, 257, 159, 110, 225, 257, 45, 51, 52, 57,
+ 58, 59, 60, 61, 62, 63, 69, 70, 71, 72,
+ 123, 125, 131, 132, 133, 134, 135, 136, 137, 138,
+ 229, 126, 127, 255, 10, 255, 10, 102, 219, 73,
+ 124, 124, 128, 11, 86, 186, 192, 4, 15, 81,
+ 204, 4, 16, 83, 205, 249, 114, 242, 124, 22,
+ 73, 128, 240, 22, 73, 128, 22, 125, 258, 257,
+ 124, 114, 117, 255, 255, 218, 265, 265, 239, 257,
+ 78, 84, 85, 190, 4, 257, 4, 257, 4, 22,
+ 235, 257, 114, 239, 17, 21, 25, 241, 257, 114,
+ 239, 257, 258, 126, 257, 128, 128, 4, 257, 257,
+ 114, 249, 185, 215, 240, 240, 249, 127, 22, 127,
+ 22, 126, 4, 73, 4, 4, 73, 4, 73, 193,
+ 4, 238, 257, 114, 117, 257, 257, 257, 257, 30,
+ 64, 77, 194, 128, 128, 128, 4, 4, 4, 195,
+ 249, 4, 224, 196, 218
};
#define yyerrok (yyerrstatus = 0)
@@ -3795,7 +3803,7 @@
/* Line 1455 of yacc.c */
#line 1496 "compilers/imcc/imcc.y"
{
- (yyval.t) = 0;
+ (yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
}
@@ -3806,7 +3814,7 @@
/* Line 1455 of yacc.c */
#line 1502 "compilers/imcc/imcc.y"
{
- (yyval.t) = 0;
+ (yyval.t) = P_NSENTRY;
IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s);
IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
}
@@ -5853,7 +5861,7 @@
/* Line 1455 of yacc.c */
-#line 5846 "compilers/imcc/imcparser.c"
+#line 5854 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6093,26 +6101,19 @@
* before the newline, and thus, line is the line *after* the
* error. Instead of duplicating code for both cases (the 'newline' and
* non-newline case, do the test twice; efficiency is not important when
- * we have an error anyway.
- */
+ * we have an error anyway. */
if (!at_eof(yyscanner)) {
- if (*chr == '\n') {
- IMCC_INFO(interp)->line--;
- }
-
IMCC_warning(interp, "error:imcc:%s", s);
+
/* don't print the current token if it is a newline */
- if (*chr != '\n') {
+ if (*chr != '\n')
IMCC_warning(interp, " ('%s')", chr);
- }
- IMCC_print_inc(interp);
-
- if (*chr == '\n') {
- IMCC_INFO(interp)->line++;
- }
+ IMCC_print_inc(interp);
}
- else { /* scanner is at end of file; just to be sure, do not print "current" token. */
+
+ /* scanner is at EOF; just to be sure, don't print "current" token */
+ else {
IMCC_warning(interp, "error:imcc:%s", s);
IMCC_print_inc(interp);
}
Modified: branches/ops_pct/compilers/imcc/imcparser.h
==============================================================================
--- branches/ops_pct/compilers/imcc/imcparser.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/imcparser.h Wed May 5 08:45:29 2010 (r46302)
@@ -52,245 +52,247 @@
enum yytokentype {
LOW_PREC = 258,
PARAM = 259,
- HLL = 260,
- TK_LINE = 261,
- TK_FILE = 262,
- GOTO = 263,
- ARG = 264,
- IF = 265,
- UNLESS = 266,
- PNULL = 267,
- SET_RETURN = 268,
- SET_YIELD = 269,
- ADV_FLAT = 270,
- ADV_SLURPY = 271,
- ADV_OPTIONAL = 272,
- ADV_OPT_FLAG = 273,
- ADV_NAMED = 274,
- ADV_ARROW = 275,
- NEW = 276,
- ADV_INVOCANT = 277,
- ADV_CALL_SIG = 278,
- NAMESPACE = 279,
- DOT_METHOD = 280,
- SUB = 281,
- SYM = 282,
- LOCAL = 283,
- LEXICAL = 284,
- CONST = 285,
- ANNOTATE = 286,
- INC = 287,
- DEC = 288,
- GLOBAL_CONST = 289,
- PLUS_ASSIGN = 290,
- MINUS_ASSIGN = 291,
- MUL_ASSIGN = 292,
- DIV_ASSIGN = 293,
- CONCAT_ASSIGN = 294,
- BAND_ASSIGN = 295,
- BOR_ASSIGN = 296,
- BXOR_ASSIGN = 297,
- FDIV = 298,
- FDIV_ASSIGN = 299,
- MOD_ASSIGN = 300,
- SHR_ASSIGN = 301,
- SHL_ASSIGN = 302,
- SHR_U_ASSIGN = 303,
- SHIFT_LEFT = 304,
- SHIFT_RIGHT = 305,
- INTV = 306,
- FLOATV = 307,
- STRINGV = 308,
- PMCV = 309,
- LOG_XOR = 310,
- RELOP_EQ = 311,
- RELOP_NE = 312,
- RELOP_GT = 313,
- RELOP_GTE = 314,
- RELOP_LT = 315,
- RELOP_LTE = 316,
- RESULT = 317,
- RETURN = 318,
- TAILCALL = 319,
- YIELDT = 320,
- GET_RESULTS = 321,
- POW = 322,
- SHIFT_RIGHT_U = 323,
- LOG_AND = 324,
- LOG_OR = 325,
- COMMA = 326,
- ESUB = 327,
- DOTDOT = 328,
- PCC_BEGIN = 329,
- PCC_END = 330,
- PCC_CALL = 331,
- PCC_SUB = 332,
- PCC_BEGIN_RETURN = 333,
- PCC_END_RETURN = 334,
- PCC_BEGIN_YIELD = 335,
- PCC_END_YIELD = 336,
- NCI_CALL = 337,
- METH_CALL = 338,
- INVOCANT = 339,
- MAIN = 340,
- LOAD = 341,
- INIT = 342,
- IMMEDIATE = 343,
- POSTCOMP = 344,
- METHOD = 345,
- ANON = 346,
- OUTER = 347,
- NEED_LEX = 348,
- MULTI = 349,
- VTABLE_METHOD = 350,
- LOADLIB = 351,
- SUB_INSTANCE_OF = 352,
- SUBID = 353,
- NS_ENTRY = 354,
- UNIQUE_REG = 355,
- LABEL = 356,
- EMIT = 357,
- EOM = 358,
- IREG = 359,
- NREG = 360,
- SREG = 361,
- PREG = 362,
- IDENTIFIER = 363,
- REG = 364,
- MACRO = 365,
- ENDM = 366,
- STRINGC = 367,
- INTC = 368,
- FLOATC = 369,
- USTRINGC = 370,
- PARROT_OP = 371,
- VAR = 372,
- LINECOMMENT = 373,
- FILECOMMENT = 374,
- DOT = 375,
- CONCAT = 376
+ SOL = 260,
+ HLL = 261,
+ TK_LINE = 262,
+ TK_FILE = 263,
+ GOTO = 264,
+ ARG = 265,
+ IF = 266,
+ UNLESS = 267,
+ PNULL = 268,
+ SET_RETURN = 269,
+ SET_YIELD = 270,
+ ADV_FLAT = 271,
+ ADV_SLURPY = 272,
+ ADV_OPTIONAL = 273,
+ ADV_OPT_FLAG = 274,
+ ADV_NAMED = 275,
+ ADV_ARROW = 276,
+ NEW = 277,
+ ADV_INVOCANT = 278,
+ ADV_CALL_SIG = 279,
+ NAMESPACE = 280,
+ DOT_METHOD = 281,
+ SUB = 282,
+ SYM = 283,
+ LOCAL = 284,
+ LEXICAL = 285,
+ CONST = 286,
+ ANNOTATE = 287,
+ INC = 288,
+ DEC = 289,
+ GLOBAL_CONST = 290,
+ PLUS_ASSIGN = 291,
+ MINUS_ASSIGN = 292,
+ MUL_ASSIGN = 293,
+ DIV_ASSIGN = 294,
+ CONCAT_ASSIGN = 295,
+ BAND_ASSIGN = 296,
+ BOR_ASSIGN = 297,
+ BXOR_ASSIGN = 298,
+ FDIV = 299,
+ FDIV_ASSIGN = 300,
+ MOD_ASSIGN = 301,
+ SHR_ASSIGN = 302,
+ SHL_ASSIGN = 303,
+ SHR_U_ASSIGN = 304,
+ SHIFT_LEFT = 305,
+ SHIFT_RIGHT = 306,
+ INTV = 307,
+ FLOATV = 308,
+ STRINGV = 309,
+ PMCV = 310,
+ LOG_XOR = 311,
+ RELOP_EQ = 312,
+ RELOP_NE = 313,
+ RELOP_GT = 314,
+ RELOP_GTE = 315,
+ RELOP_LT = 316,
+ RELOP_LTE = 317,
+ RESULT = 318,
+ RETURN = 319,
+ TAILCALL = 320,
+ YIELDT = 321,
+ GET_RESULTS = 322,
+ POW = 323,
+ SHIFT_RIGHT_U = 324,
+ LOG_AND = 325,
+ LOG_OR = 326,
+ COMMA = 327,
+ ESUB = 328,
+ DOTDOT = 329,
+ PCC_BEGIN = 330,
+ PCC_END = 331,
+ PCC_CALL = 332,
+ PCC_SUB = 333,
+ PCC_BEGIN_RETURN = 334,
+ PCC_END_RETURN = 335,
+ PCC_BEGIN_YIELD = 336,
+ PCC_END_YIELD = 337,
+ NCI_CALL = 338,
+ METH_CALL = 339,
+ INVOCANT = 340,
+ MAIN = 341,
+ LOAD = 342,
+ INIT = 343,
+ IMMEDIATE = 344,
+ POSTCOMP = 345,
+ METHOD = 346,
+ ANON = 347,
+ OUTER = 348,
+ NEED_LEX = 349,
+ MULTI = 350,
+ VTABLE_METHOD = 351,
+ LOADLIB = 352,
+ SUB_INSTANCE_OF = 353,
+ SUBID = 354,
+ NS_ENTRY = 355,
+ UNIQUE_REG = 356,
+ LABEL = 357,
+ EMIT = 358,
+ EOM = 359,
+ IREG = 360,
+ NREG = 361,
+ SREG = 362,
+ PREG = 363,
+ IDENTIFIER = 364,
+ REG = 365,
+ MACRO = 366,
+ ENDM = 367,
+ STRINGC = 368,
+ INTC = 369,
+ FLOATC = 370,
+ USTRINGC = 371,
+ PARROT_OP = 372,
+ VAR = 373,
+ LINECOMMENT = 374,
+ FILECOMMENT = 375,
+ DOT = 376,
+ CONCAT = 377
};
#endif
/* Tokens. */
#define LOW_PREC 258
#define PARAM 259
-#define HLL 260
-#define TK_LINE 261
-#define TK_FILE 262
-#define GOTO 263
-#define ARG 264
-#define IF 265
-#define UNLESS 266
-#define PNULL 267
-#define SET_RETURN 268
-#define SET_YIELD 269
-#define ADV_FLAT 270
-#define ADV_SLURPY 271
-#define ADV_OPTIONAL 272
-#define ADV_OPT_FLAG 273
-#define ADV_NAMED 274
-#define ADV_ARROW 275
-#define NEW 276
-#define ADV_INVOCANT 277
-#define ADV_CALL_SIG 278
-#define NAMESPACE 279
-#define DOT_METHOD 280
-#define SUB 281
-#define SYM 282
-#define LOCAL 283
-#define LEXICAL 284
-#define CONST 285
-#define ANNOTATE 286
-#define INC 287
-#define DEC 288
-#define GLOBAL_CONST 289
-#define PLUS_ASSIGN 290
-#define MINUS_ASSIGN 291
-#define MUL_ASSIGN 292
-#define DIV_ASSIGN 293
-#define CONCAT_ASSIGN 294
-#define BAND_ASSIGN 295
-#define BOR_ASSIGN 296
-#define BXOR_ASSIGN 297
-#define FDIV 298
-#define FDIV_ASSIGN 299
-#define MOD_ASSIGN 300
-#define SHR_ASSIGN 301
-#define SHL_ASSIGN 302
-#define SHR_U_ASSIGN 303
-#define SHIFT_LEFT 304
-#define SHIFT_RIGHT 305
-#define INTV 306
-#define FLOATV 307
-#define STRINGV 308
-#define PMCV 309
-#define LOG_XOR 310
-#define RELOP_EQ 311
-#define RELOP_NE 312
-#define RELOP_GT 313
-#define RELOP_GTE 314
-#define RELOP_LT 315
-#define RELOP_LTE 316
-#define RESULT 317
-#define RETURN 318
-#define TAILCALL 319
-#define YIELDT 320
-#define GET_RESULTS 321
-#define POW 322
-#define SHIFT_RIGHT_U 323
-#define LOG_AND 324
-#define LOG_OR 325
-#define COMMA 326
-#define ESUB 327
-#define DOTDOT 328
-#define PCC_BEGIN 329
-#define PCC_END 330
-#define PCC_CALL 331
-#define PCC_SUB 332
-#define PCC_BEGIN_RETURN 333
-#define PCC_END_RETURN 334
-#define PCC_BEGIN_YIELD 335
-#define PCC_END_YIELD 336
-#define NCI_CALL 337
-#define METH_CALL 338
-#define INVOCANT 339
-#define MAIN 340
-#define LOAD 341
-#define INIT 342
-#define IMMEDIATE 343
-#define POSTCOMP 344
-#define METHOD 345
-#define ANON 346
-#define OUTER 347
-#define NEED_LEX 348
-#define MULTI 349
-#define VTABLE_METHOD 350
-#define LOADLIB 351
-#define SUB_INSTANCE_OF 352
-#define SUBID 353
-#define NS_ENTRY 354
-#define UNIQUE_REG 355
-#define LABEL 356
-#define EMIT 357
-#define EOM 358
-#define IREG 359
-#define NREG 360
-#define SREG 361
-#define PREG 362
-#define IDENTIFIER 363
-#define REG 364
-#define MACRO 365
-#define ENDM 366
-#define STRINGC 367
-#define INTC 368
-#define FLOATC 369
-#define USTRINGC 370
-#define PARROT_OP 371
-#define VAR 372
-#define LINECOMMENT 373
-#define FILECOMMENT 374
-#define DOT 375
-#define CONCAT 376
+#define SOL 260
+#define HLL 261
+#define TK_LINE 262
+#define TK_FILE 263
+#define GOTO 264
+#define ARG 265
+#define IF 266
+#define UNLESS 267
+#define PNULL 268
+#define SET_RETURN 269
+#define SET_YIELD 270
+#define ADV_FLAT 271
+#define ADV_SLURPY 272
+#define ADV_OPTIONAL 273
+#define ADV_OPT_FLAG 274
+#define ADV_NAMED 275
+#define ADV_ARROW 276
+#define NEW 277
+#define ADV_INVOCANT 278
+#define ADV_CALL_SIG 279
+#define NAMESPACE 280
+#define DOT_METHOD 281
+#define SUB 282
+#define SYM 283
+#define LOCAL 284
+#define LEXICAL 285
+#define CONST 286
+#define ANNOTATE 287
+#define INC 288
+#define DEC 289
+#define GLOBAL_CONST 290
+#define PLUS_ASSIGN 291
+#define MINUS_ASSIGN 292
+#define MUL_ASSIGN 293
+#define DIV_ASSIGN 294
+#define CONCAT_ASSIGN 295
+#define BAND_ASSIGN 296
+#define BOR_ASSIGN 297
+#define BXOR_ASSIGN 298
+#define FDIV 299
+#define FDIV_ASSIGN 300
+#define MOD_ASSIGN 301
+#define SHR_ASSIGN 302
+#define SHL_ASSIGN 303
+#define SHR_U_ASSIGN 304
+#define SHIFT_LEFT 305
+#define SHIFT_RIGHT 306
+#define INTV 307
+#define FLOATV 308
+#define STRINGV 309
+#define PMCV 310
+#define LOG_XOR 311
+#define RELOP_EQ 312
+#define RELOP_NE 313
+#define RELOP_GT 314
+#define RELOP_GTE 315
+#define RELOP_LT 316
+#define RELOP_LTE 317
+#define RESULT 318
+#define RETURN 319
+#define TAILCALL 320
+#define YIELDT 321
+#define GET_RESULTS 322
+#define POW 323
+#define SHIFT_RIGHT_U 324
+#define LOG_AND 325
+#define LOG_OR 326
+#define COMMA 327
+#define ESUB 328
+#define DOTDOT 329
+#define PCC_BEGIN 330
+#define PCC_END 331
+#define PCC_CALL 332
+#define PCC_SUB 333
+#define PCC_BEGIN_RETURN 334
+#define PCC_END_RETURN 335
+#define PCC_BEGIN_YIELD 336
+#define PCC_END_YIELD 337
+#define NCI_CALL 338
+#define METH_CALL 339
+#define INVOCANT 340
+#define MAIN 341
+#define LOAD 342
+#define INIT 343
+#define IMMEDIATE 344
+#define POSTCOMP 345
+#define METHOD 346
+#define ANON 347
+#define OUTER 348
+#define NEED_LEX 349
+#define MULTI 350
+#define VTABLE_METHOD 351
+#define LOADLIB 352
+#define SUB_INSTANCE_OF 353
+#define SUBID 354
+#define NS_ENTRY 355
+#define UNIQUE_REG 356
+#define LABEL 357
+#define EMIT 358
+#define EOM 359
+#define IREG 360
+#define NREG 361
+#define SREG 362
+#define PREG 363
+#define IDENTIFIER 364
+#define REG 365
+#define MACRO 366
+#define ENDM 367
+#define STRINGC 368
+#define INTC 369
+#define FLOATC 370
+#define USTRINGC 371
+#define PARROT_OP 372
+#define VAR 373
+#define LINECOMMENT 374
+#define FILECOMMENT 375
+#define DOT 376
+#define CONCAT 377
@@ -311,7 +313,7 @@
/* Line 1676 of yacc.c */
-#line 304 "compilers/imcc/imcparser.h"
+#line 306 "compilers/imcc/imcparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
Modified: branches/ops_pct/compilers/imcc/instructions.c
==============================================================================
--- branches/ops_pct/compilers/imcc/instructions.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/instructions.c Wed May 5 08:45:29 2010 (r46302)
@@ -275,13 +275,9 @@
{
ASSERT_ARGS(instruction_writes)
const int f = ins->flags;
- int i;
+ int j;
- /*
- * a get_results opcode is before the actual sub call
- * but for the register allocator, the effect matters, thus
- * postpone the effect after the invoke
- */
+ /* a get_results opcode occurs after the actual sub call */
if (ins->opnum == PARROT_OP_get_results_pc) {
int i;
@@ -289,7 +285,7 @@
* an ExceptionHandler, which doesn't have
* a call next
*/
- if (ins->next && (ins->next->type & ITPCCSUB))
+ if (ins->prev && (ins->prev->type & ITPCCSUB))
return 0;
for (i = ins->symreg_count - 1; i >= 0; --i) {
@@ -308,7 +304,7 @@
* structure
*/
while (ins && ins->opnum != PARROT_OP_get_results_pc)
- ins = ins->prev;
+ ins = ins->next;
if (!ins)
return 0;
@@ -336,14 +332,15 @@
return 0;
}
- for (i = 0; i < ins->symreg_count; i++)
- if (f & (1 << (16 + i)))
- if (ins->symregs[i] == r)
+ for (j = 0; j < ins->symreg_count; j++)
+ if (f & (1 << (16 + j)))
+ if (ins->symregs[j] == r)
return 1;
return 0;
}
+
/*
=item C<int get_branch_regno(const Instruction *ins)>
@@ -816,6 +813,8 @@
=item C<static int e_file_close(PARROT_INTERP, void *param)>
+Close STDOUT
+
=cut
*/
@@ -835,6 +834,8 @@
=item C<static int e_file_emit(PARROT_INTERP, void *param, const IMC_Unit *unit,
const Instruction *ins)>
+emit the Instruction C<ins> to the given IMC_Unit C<unit>, passing C<param>
+
=cut
*/
Modified: branches/ops_pct/compilers/imcc/main.c
==============================================================================
--- branches/ops_pct/compilers/imcc/main.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/main.c Wed May 5 08:45:29 2010 (r46302)
@@ -78,7 +78,7 @@
int obj_file,
ARGIN_NULLOK(const char *output_file),
int argc,
- ARGIN(char **argv))
+ ARGIN(const char **argv))
__attribute__nonnull__(1)
__attribute__nonnull__(5);
@@ -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;
}
@@ -462,7 +449,7 @@
/*
=item C<static void imcc_run_pbc(PARROT_INTERP, int obj_file, const char
-*output_file, int argc, char **argv)>
+*output_file, int argc, const char **argv)>
Write out or run Parrot bytecode.
@@ -472,7 +459,7 @@
static void
imcc_run_pbc(PARROT_INTERP, int obj_file, ARGIN_NULLOK(const char *output_file),
- int argc, ARGIN(char **argv))
+ int argc, ARGIN(const char **argv))
{
ASSERT_ARGS(imcc_run_pbc)
if (IMCC_INFO(interp)->imcc_warn)
@@ -692,7 +679,7 @@
/*
-=item C<int imcc_run(PARROT_INTERP, const char *sourcefile, int argc, char
+=item C<int imcc_run(PARROT_INTERP, const char *sourcefile, int argc, const char
**argv)>
Entry point of IMCC, as invoked by Parrot's main function.
@@ -705,7 +692,7 @@
int
imcc_run(PARROT_INTERP, ARGIN(const char *sourcefile), int argc,
- ARGIN(char **argv))
+ ARGIN(const char **argv))
{
int obj_file;
yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
Modified: branches/ops_pct/compilers/imcc/optimizer.c
==============================================================================
--- branches/ops_pct/compilers/imcc/optimizer.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/optimizer.c Wed May 5 08:45:29 2010 (r46302)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2002-2009, Parrot Foundation.
+ * Copyright (C) 2002-2010, Parrot Foundation.
*/
/*
@@ -256,6 +256,10 @@
=item C<int optimize(PARROT_INTERP, IMC_Unit *unit)>
+Runs after the CFG is built and handles constant propogation.
+
+used_once ... deletes assignments, when LHS is unused
+
=cut
*/
@@ -1225,6 +1229,11 @@
=item C<static int branch_cond_loop_swap(PARROT_INTERP, IMC_Unit *unit,
Instruction *branch, Instruction *start, Instruction *cond)>
+Converts conditional loops to post-test
+
+Returns TRUE if any optimizations were performed. Otherwise, returns
+FALSE.
+
=cut
*/
@@ -1461,6 +1470,10 @@
=item C<static int dead_code_remove(PARROT_INTERP, IMC_Unit *unit)>
+dead code elimination
+... unreachable blocks
+... unreachable instructions
+
=cut
*/
@@ -1541,6 +1554,8 @@
=item C<static int used_once(PARROT_INTERP, IMC_Unit *unit)>
+used_once ... deletes assignments, when LHS is unused
+
=cut
*/
Modified: branches/ops_pct/compilers/imcc/parser_util.c
==============================================================================
--- branches/ops_pct/compilers/imcc/parser_util.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/parser_util.c Wed May 5 08:45:29 2010 (r46302)
@@ -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);
+
+ 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);
- len = strlen(format);
- if (len >= 2)
- len -= 2;
+ /* 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, ");
+ }
- format[len] = '\0';
+ len = strlen(format);
+ if (len >= 2)
+ len -= 2;
- if (fmt && *fmt) {
- strncpy(format, fmt, sizeof (format) - 1);
- format[sizeof (format) - 1] = '\0';
- }
+ format[len] = '\0';
- IMCC_debug(interp, DEBUG_PARSER, "%s %s\t%s\n", name, format, fullname);
+ if (fmt && *fmt) {
+ strncpy(format, fmt, sizeof (format) - 1);
+ format[sizeof (format) - 1] = '\0';
+ }
- /* make the instruction */
- ins = _mk_instruction(name, format, n, r, dirs);
- ins->keys |= keyvec;
+ IMCC_debug(interp, DEBUG_PARSER, "%s %s\t%s\n", name, format, fullname);
- /* fill in oplib's info */
- ins->opnum = op;
- ins->opsize = n + 1;
+ /* make the instruction */
+ ins = _mk_instruction(name, format, n, r, dirs);
+ ins->keys |= keyvec;
- /* 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");
+ /* fill in oplib's info */
+ ins->opnum = op;
+ ins->opsize = n + 1;
- 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)
+ /* 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 *);
@@ -654,7 +656,7 @@
eval_number = ++eval_nr;
UNLOCK(eval_nr_lock);
- name = Parrot_sprintf_c(interp, "EVAL_" INTVAL_FMT, eval_number);
+ name = Parrot_sprintf_c(interp, "EVAL_" INTVAL_FMT, eval_number);
new_cs = PF_create_default_segs(interp, name, 0);
old_cs = Parrot_switch_to_cs(interp, new_cs, 0);
@@ -708,11 +710,12 @@
sub_data->seg = new_cs;
sub_data->start_offs = 0;
sub_data->end_offs = new_cs->base.size;
- sub_data->name = Parrot_str_copy(interp, name);
+ sub_data->name = name;
*error_message = NULL;
}
else {
+ PackFile_Segment_destroy(interp, (PackFile_Segment *)new_cs);
*error_message = IMCC_INFO(interp)->error_message;
}
@@ -934,11 +937,13 @@
IMCC_push_parser_state(interp);
{
/* Store a copy, in order to know how to free it later */
- char *copyname = mem_sys_strdup(fullname);
+ char *copyname = mem_sys_strdup(fullname);
IMCC_INFO(interp)->state->file = copyname;
ext = strrchr(copyname, '.');
}
- IMCC_INFO(interp)->line = 1;
+
+ /* start over; let the start of line rule increment this to 1 */
+ IMCC_INFO(interp)->line = 0;
/*
* the Parrot_str_compare() called from pmc_type() triggers GC
Modified: branches/ops_pct/compilers/imcc/pbc.c
==============================================================================
--- branches/ops_pct/compilers/imcc/pbc.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/pbc.c Wed May 5 08:45:29 2010 (r46302)
@@ -6,6 +6,7 @@
#include "imc.h"
#include "pbc.h"
#include "parrot/packfile.h"
+#include "parrot/pmc_freeze.h"
#include "pmc/pmc_sub.h"
#include "pmc/pmc_callcontext.h"
@@ -78,7 +79,7 @@
FUNC_MODIFIES(*r);
PARROT_WARN_UNUSED_RESULT
-static int add_const_str(PARROT_INTERP, ARGIN(const SymReg *r))
+static int add_const_str(PARROT_INTERP, ARGIN(STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -222,7 +223,7 @@
, PARROT_ASSERT_ARG(r))
#define ASSERT_ARGS_add_const_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(r))
+ , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_add_const_table __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_add_const_table_key __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -832,7 +833,7 @@
interp->code->base.data[addr] = op;
if (nam->color < 0)
- nam->color = add_const_str(interp, nam);
+ nam->color = add_const_str(interp, IMCC_string_from_reg(interp, nam));
interp->code->base.data[addr+2] = nam->color;
@@ -968,7 +969,7 @@
/*
-=item C<static int add_const_str(PARROT_INTERP, const SymReg *r)>
+=item C<static int add_const_str(PARROT_INTERP, STRING *s)>
Adds a constant string to constant_table.
@@ -978,36 +979,37 @@
PARROT_WARN_UNUSED_RESULT
static int
-add_const_str(PARROT_INTERP, ARGIN(const SymReg *r))
+add_const_str(PARROT_INTERP, ARGIN(STRING *s))
{
ASSERT_ARGS(add_const_str)
PackFile_ConstTable *table = interp->code->const_table;
- STRING * const s = IMCC_string_from_reg(interp, r);
- int k = -1;
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_str_equal(interp, s, sc)
+ && 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))
+ {
+ 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;
}
@@ -1064,8 +1066,7 @@
if (!pcc_sub->multi[0])
return Parrot_pmc_new(interp, enum_class_FixedIntegerArray);
- multi_sig = Parrot_pmc_new(interp, enum_class_FixedPMCArray);
- VTABLE_set_integer_native(interp, multi_sig, n);
+ multi_sig = Parrot_pmc_new_init_int(interp, enum_class_FixedPMCArray, n);
ct = interp->code->const_table;
for (i = 0; i < n; ++i) {
@@ -1082,10 +1083,9 @@
sig_pmc = Parrot_pmc_new(interp, enum_class_String);
VTABLE_set_string_native(interp, sig_pmc, type_name);
}
- else {
- sig_pmc = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, sig_pmc, type_num);
- }
+ else
+ sig_pmc = Parrot_pmc_new_init_int(interp,
+ enum_class_Integer, type_num);
}
else {
PARROT_ASSERT(r->set == 'K');
@@ -1193,7 +1193,6 @@
ASSERT_ARGS(find_outer)
subs_t *s;
PMC *current;
- STRING *cur_name;
char *cur_name_str;
Parrot_Sub_attributes *sub;
size_t len;
@@ -1227,7 +1226,6 @@
unit->outer->name);
PMC_get_sub(interp, current, sub);
- cur_name = sub->name;
cur_name_str = Parrot_str_to_cstring(interp, sub->name);
if (strlen(cur_name_str) == len
@@ -1267,9 +1265,7 @@
PMC *sub_pmc;
Parrot_Sub_attributes *sub, *outer_sub;
- const int k = add_const_table(interp);
PackFile_ConstTable * const ct = interp->code->const_table;
- PackFile_Constant * const pfc = ct->constants[k];
IMC_Unit * const unit =
IMCC_INFO(interp)->globals->cs->subs->unit;
@@ -1280,8 +1276,6 @@
int i;
int ns_const = -1;
- IMCC_INFO(interp)->globals->cs->subs->pmc_const = k;
-
if (unit->_namespace) {
/* strip namespace off from front */
const char *real_name = strrchr(r->name, '@');
@@ -1331,7 +1325,7 @@
PMC_get_sub(interp, sub_pmc, sub);
Sub_comp_get_FLAGS(sub) |= (r->pcc_sub->pragma & SUB_COMP_FLAG_MASK);
- r->color = add_const_str(interp, r);
+ r->color = add_const_str(interp, IMCC_string_from_reg(interp, r));
sub->name = ct->constants[r->color]->u.string;
/* If the unit has no subid, set the subid to match the name. */
@@ -1339,25 +1333,16 @@
unit->subid = r;
else {
/* trim the quotes */
+ char *oldname = unit->subid->name;
unit->subid->name = mem_sys_strdup(unit->subid->name + 1);
unit->subid->name[strlen(unit->subid->name) - 1] = 0;
+ mem_sys_free(oldname);
/* create string constant for it. */
- unit->subid->color = add_const_str(interp, unit->subid);
+ unit->subid->color = add_const_str(interp, IMCC_string_from_reg(interp, unit->subid));
}
sub->subid = ct->constants[unit->subid->color]->u.string;
-
-#if 0
- if (unit->subid) {
- sub->subid = IMCC_string_from__STRINGC(interp, unit->subid);
- UNIT_FREE_CHAR(unit->subid);
- }
- /* If the unit has no subid, set the subid to match the name. */
- else
- sub->subid = sub->name;
-#endif
-
ns_pmc = NULL;
if (ns_const >= 0 && ns_const < ct->const_count) {
@@ -1397,7 +1382,7 @@
STRING *vtable_name;
INTVAL vtable_index;
- /* Work out the name of the vtable method. */
+ /* Work out the name of the vtable function. */
if (unit->vtable_name) {
vtable_name = Parrot_str_new(interp, unit->vtable_name + 1,
strlen(unit->vtable_name) - 2);
@@ -1406,14 +1391,13 @@
else
vtable_name = sub->name;
- /* Check this is a valid vtable method to override. */
+ /* Check this is a valid vtable function to override. */
vtable_index = Parrot_get_vtable_index(interp, vtable_name);
- if (vtable_index == -1) {
+ if (vtable_index == -1)
IMCC_fatal(interp, 1,
- "'%S' is not a v-table method, but was used with :vtable.\n",
+ "'%S' is not a vtable, but was used with :vtable.\n",
vtable_name);
- }
/* TODO check for duplicates */
sub->vtable_index = vtable_index;
@@ -1446,29 +1430,49 @@
Parrot_store_sub_in_namespace(interp, sub_pmc);
- pfc->type = PFC_PMC;
- pfc->u.key = sub_pmc;
- unit->sub_pmc = sub_pmc;
-
if (sub->outer_sub)
PMC_get_sub(interp, sub->outer_sub, outer_sub);
- IMCC_debug(interp, DEBUG_PBC_CONST,
- "add_const_pmc_sub '%s' flags %x color %d (%Ss) "
- "lex_info %s :outer(%Ss)\n",
- r->name, r->pcc_sub->pragma, k,
- sub_pmc->vtable->whoami,
- sub->lex_info ? "yes" : "no",
- sub->outer_sub? outer_sub->name :
- Parrot_str_new(interp, "*none*", 0));
-
/*
- * create entry in our fixup (=symbol) table
- * the offset is the index in the constant table of this Sub
+ * store the sub's strings
+ * XXX these need to occur before the sub to support thawing properly
*/
- PackFile_FixupTable_new_entry(interp, r->name, enum_fixup_sub, k);
+ {
+ PMC *strings = Parrot_freeze_strings(interp, sub_pmc);
+ int n = VTABLE_elements(interp, strings);
+ for (i = 0; i < n; i++) {
+ int unused = add_const_str(interp, VTABLE_get_string_keyed_int(interp, strings, i));
+ }
+ }
- return k;
+ /* store the sub */
+ {
+ const int k = add_const_table(interp);
+ PackFile_Constant * const pfc = ct->constants[k];
+
+ pfc->type = PFC_PMC;
+ pfc->u.key = sub_pmc;
+ unit->sub_pmc = sub_pmc;
+
+ IMCC_INFO(interp)->globals->cs->subs->pmc_const = k;
+
+ IMCC_debug(interp, DEBUG_PBC_CONST,
+ "add_const_pmc_sub '%s' flags %x color %d (%Ss) "
+ "lex_info %s :outer(%Ss)\n",
+ r->name, r->pcc_sub->pragma, k,
+ sub_pmc->vtable->whoami,
+ sub->lex_info ? "yes" : "no",
+ sub->outer_sub? outer_sub->name :
+ Parrot_str_new(interp, "*none*", 0));
+
+ /*
+ * create entry in our fixup (=symbol) table
+ * the offset is the index in the constant table of this Sub
+ */
+ PackFile_FixupTable_new_entry(interp, r->name, enum_fixup_sub, k);
+
+ return k;
+ }
}
@@ -1540,13 +1544,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];
+ 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 */
@@ -1556,15 +1561,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;
@@ -1876,7 +1880,7 @@
case 'S':
if (r->type & VT_CONSTP)
r = r->reg;
- r->color = add_const_str(interp, r);
+ r->color = add_const_str(interp, IMCC_string_from_reg(interp, r));
break;
case 'N':
r->color = add_const_num(interp, r->name);
Modified: branches/ops_pct/compilers/imcc/pcc.c
==============================================================================
--- branches/ops_pct/compilers/imcc/pcc.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/pcc.c Wed May 5 08:45:29 2010 (r46302)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2009, Parrot Foundation.
+ * Copyright (C) 2003-2010, Parrot Foundation.
* $Id$
*/
@@ -416,7 +416,8 @@
SymReg *regs[2];
/* if this sub is a method, unshift 'self' as first param */
- if ((unit->type & IMC_HAS_SELF) || (sub->pcc_sub->pragma & (P_METHOD | P_VTABLE))) {
+ if ((unit->type & IMC_HAS_SELF)
+ || (sub->pcc_sub->pragma & (P_METHOD | P_VTABLE))) {
SymReg *self = get_sym(interp, "self");
if (!self) {
self = mk_symreg(interp, "self", 'P');
@@ -866,11 +867,6 @@
return;
}
- /* handle return results */
- n = sub->pcc_sub->nret;
- ins = pcc_get_args(interp, unit, ins, "get_results", n,
- sub->pcc_sub->ret, sub->pcc_sub->ret_flags);
-
/* insert the call */
if (meth_call) {
regs[0] = sub->pcc_sub->object;
@@ -899,6 +895,11 @@
}
ins->type |= ITPCCSUB;
+
+ /* handle return results */
+ n = sub->pcc_sub->nret;
+ ins = pcc_get_args(interp, unit, ins, "get_results", n,
+ sub->pcc_sub->ret, sub->pcc_sub->ret_flags);
}
/*
Modified: branches/ops_pct/compilers/imcc/symreg.c
==============================================================================
--- branches/ops_pct/compilers/imcc/symreg.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/symreg.c Wed May 5 08:45:29 2010 (r46302)
@@ -860,7 +860,6 @@
int_overflows(ARGIN(const SymReg *r))
{
ASSERT_ARGS(int_overflows)
- INTVAL i;
int base;
const char *digits;
@@ -883,10 +882,10 @@
errno = 0;
if (base == 10) {
- i = strtol(digits, NULL, base);
+ (void)strtol(digits, NULL, base);
}
else {
- i = strtoul(digits + 2, NULL, base);
+ (void)strtoul(digits + 2, NULL, base);
}
return errno ? 1 : 0;
Modified: branches/ops_pct/compilers/imcc/symreg.h
==============================================================================
--- branches/ops_pct/compilers/imcc/symreg.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/symreg.h Wed May 5 08:45:29 2010 (r46302)
@@ -456,14 +456,15 @@
typedef enum {
P_NONE = 0x00, /* 0<<0 */
P_NEED_LEX = 0x01, /* 1<<0 */
- P_VTABLE = 0x02, /* 1<<1 */
- P_METHOD = 0x04, /* 1<<2 */
+ P_VTABLE = SUB_COMP_FLAG_VTABLE, /* 1<<1 0x2 */
+ P_METHOD = SUB_COMP_FLAG_METHOD, /* 1<<2 0x4 */
P_ANON = SUB_FLAG_PF_ANON, /* 1<<3 0x8 - private3 */
P_MAIN = SUB_FLAG_PF_MAIN, /* 1<<4 0x10 - private4 */
P_LOAD = SUB_FLAG_PF_LOAD, /* 1<<5 0x20 - private5 */
P_IMMEDIATE = SUB_FLAG_PF_IMMEDIATE, /* 1<<6 0x40 - private6 */
P_POSTCOMP = SUB_FLAG_PF_POSTCOMP, /* 1<<7 0x80 - private7 */
- P_INIT = SUB_COMP_FLAG_PF_INIT /* 1<<10 0x400 - 10 */
+ P_INIT = SUB_COMP_FLAG_PF_INIT, /* 1<<10 0x400 - 10 */
+ P_NSENTRY = SUB_COMP_FLAG_NSENTRY /* 1<<11 0x800 - 11 */
} pragma_enum_t;
typedef enum {
Modified: branches/ops_pct/compilers/imcc/unit.h
==============================================================================
--- branches/ops_pct/compilers/imcc/unit.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/imcc/unit.h Wed May 5 08:45:29 2010 (r46302)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2003-2009, Parrot Foundation.
+ * Copyright (C) 2003-2010, Parrot Foundation.
*/
#ifndef PARROT_IMCC_UNIT_H_GUARD
@@ -64,10 +64,10 @@
int first_avail[4]; /* INSP */
SymReg *outer;
PMC *sub_pmc; /* this sub */
- int is_vtable_method; /* 1 if a v-table method */
+ int is_vtable_method; /* 1 if a vtable */
int is_method; /* 1 if a method */
int has_ns_entry_name;/* 1 if in ns */
- char *vtable_name; /* v-table method name, if any */
+ char *vtable_name; /* vtable name, if any */
char *method_name; /* method name, if any */
char *ns_entry_name; /* ns entry name, if any */
char *instance_of; /* PMC or class this is an instance of
Modified: branches/ops_pct/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/PAST/Compiler.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pct/src/PAST/Compiler.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/pct/src/PCT/HLLCompiler.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/PCT/HLLCompiler.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pct/src/PCT/HLLCompiler.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2009, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -55,11 +55,18 @@
$S0 = '???'
push_eh _handler
- $P0 = _config() # currently works in the build tree, but not in the install tree
- $S0 = $P0['revision']
+ $P0 = _config()
+ $S0 = $P0['revision'] # also $I0 = P0['installed'] could be used
_handler:
pop_eh
- $P2 = box 'This compiler is built with the Parrot Compiler Toolkit, parrot revision '
+ $P2 = box 'This compiler is built with the Parrot Compiler Toolkit, parrot '
+ if $S0 goto _revision_lab
+ $P2 .= 'version '
+ $S0 = $P0['VERSION']
+ goto _is_version
+ _revision_lab:
+ $P2 .= 'revision '
+ _is_version:
$P2 .= $S0
$P2 .= '.'
setattribute self, '$version', $P2
@@ -921,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/ops_pct/compilers/pct/src/POST/Node.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/POST/Node.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pct/src/POST/Node.pir Wed May 5 08:45:29 2010 (r46302)
@@ -82,7 +82,7 @@
.end
-=item get_string() # vtable method
+=item get_string()
Returns the result of the current node as a string.
Modified: branches/ops_pct/compilers/pge/PGE/Exp.pir
==============================================================================
--- branches/ops_pct/compilers/pge/PGE/Exp.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pge/PGE/Exp.pir Wed May 5 08:45:29 2010 (r46302)
@@ -163,7 +163,7 @@
.local string returnop
returnop = '.yield'
code.'emit'(<<" CODE", name, pirflags, namecorou, .INTERPINFO_CURRENT_SUB)
- .sub %0 :method %1
+ .sub %0 :method :nsentry %1
.param pmc adverbs :slurpy :named
.local pmc mob
.const 'Sub' corou = %2
@@ -192,7 +192,7 @@
## Initial code for a rule that cannot be backtracked into.
returnop = '.return'
code.'emit'(<<" CODE", name, pirflags)
- .sub %0 :method %1
+ .sub %0 :method :nsentry %1
.param pmc adverbs :unique_reg :slurpy :named
.local pmc mob
.local string target :unique_reg
@@ -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:
@@ -718,7 +718,7 @@
.namespace [ 'PGE';'Exp';'CGroup' ]
-.sub 'pir' :method
+.sub 'pir' :method :nsentry
.param pmc code
.param string label
.param string next
Modified: branches/ops_pct/compilers/pge/PGE/OPTable.pir
==============================================================================
--- branches/ops_pct/compilers/pge/PGE/OPTable.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pge/PGE/OPTable.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/pge/PGE/Perl6Regex.pir
==============================================================================
--- branches/ops_pct/compilers/pge/PGE/Perl6Regex.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pge/PGE/Perl6Regex.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/compilers/pge/PGE/Regex.pir
==============================================================================
--- branches/ops_pct/compilers/pge/PGE/Regex.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pge/PGE/Regex.pir Wed May 5 08:45:29 2010 (r46302)
@@ -37,7 +37,7 @@
=cut
-.sub 'ident' :method
+.sub 'ident' :method :nsentry('ident')
.param pmc adverbs :slurpy :named
.local string target
.local pmc mob, mfrom, mpos
Modified: branches/ops_pct/compilers/pirc/Rules.mak
==============================================================================
--- branches/ops_pct/compilers/pirc/Rules.mak Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/Rules.mak Wed May 5 08:45:29 2010 (r46302)
@@ -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 \
Modified: branches/ops_pct/compilers/pirc/src/pircompiler.c
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pircompiler.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pircompiler.c Wed May 5 08:45:29 2010 (r46302)
@@ -33,9 +33,10 @@
PARROT_WARN_UNUSED_RESULT
static allocated_mem_ptrs * new_mem_ptrs_block(void);
-static void register_ptr(ARGIN(lexer_state *lexer), ARGIN(void *ptr))
+static void register_ptr(ARGMOD(lexer_state *lexer), ARGIN(void *ptr))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*lexer);
static void store_string(
ARGIN(lexer_state * const lexer),
@@ -98,7 +99,7 @@
*/
static void
-register_ptr(ARGIN(lexer_state *lexer), ARGIN(void *ptr))
+register_ptr(ARGMOD(lexer_state *lexer), ARGIN(void *ptr))
{
ASSERT_ARGS(register_ptr)
allocated_mem_ptrs *ptrs = lexer->mem_allocations;
@@ -106,7 +107,7 @@
PARROT_ASSERT(ptrs);
if (ptrs->allocs_in_this_block == NUM_MEM_ALLOCS_PER_BLOCK) {
- allocated_mem_ptrs *newblock = new_mem_ptrs_block();
+ allocated_mem_ptrs * const newblock = new_mem_ptrs_block();
newblock->next = ptrs;
lexer->mem_allocations = newblock;
ptrs = newblock;
@@ -118,8 +119,7 @@
/*
-=item C<void * pir_mem_allocate_zeroed(lexer_state * const lexer, size_t
-numbytes)>
+=item C<void * pir_mem_allocate_zeroed(lexer_state *lexer, size_t numbytes)>
Memory allocation function for all PIR internal functions. Memory is allocated
through Parrot's allocation functions, but the pointer to the allocated memory
@@ -135,9 +135,9 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
void *
-pir_mem_allocate_zeroed(ARGIN(lexer_state * const lexer), size_t numbytes)
+pir_mem_allocate_zeroed(ARGMOD(lexer_state *lexer), size_t numbytes)
{
- void *ptr = mem_sys_allocate_zeroed(numbytes);
+ void * const ptr = mem_sys_allocate_zeroed(numbytes);
totalmem += numbytes;
Modified: branches/ops_pct/compilers/pirc/src/pircompiler.h
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pircompiler.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pircompiler.h Wed May 5 08:45:29 2010 (r46302)
@@ -215,10 +215,9 @@
PARROT_MALLOC
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-void * pir_mem_allocate_zeroed(
- ARGIN(lexer_state * const lexer),
- size_t numbytes)
- __attribute__nonnull__(1);
+void * pir_mem_allocate_zeroed(ARGMOD(lexer_state *lexer), size_t numbytes)
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*lexer);
void pirwarning(
ARGIN(lexer_state * const lexer),
Modified: branches/ops_pct/compilers/pirc/src/pircompunit.c
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pircompunit.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pircompunit.c Wed May 5 08:45:29 2010 (r46302)
@@ -274,9 +274,9 @@
=item C<void set_sub_vtable(lexer_state * const lexer, char const * vtablename)>
Set the :vtable() flag argument to the current subroutine. If C<vtablename>
-is NULL, the name of the current sub is taken to be the vtable method name.
-If the vtable method name (either specified or the current sub's name) is
-in fact not a vtable method, an error message is emitted.
+is NULL, the name of the current sub is taken to be the vtable name.
+If the vtable name (either specified or the current sub's name) is
+not a valid vtable, an error message is emitted.
=cut
@@ -290,15 +290,15 @@
if (vtablename == NULL) /* the sub's name I<is> the vtablename */
vtablename = CURRENT_SUB(lexer)->info.subname;
- /* get the index number of this vtable method */
+ /* get the index number of this vtable */
vtable_index = Parrot_get_vtable_index(lexer->interp,
Parrot_str_new(lexer->interp, vtablename,
strlen(vtablename)));
- /* now check whether the method name actually a vtable method */
+ /* now check whether the method name actually a vtable */
if (vtable_index == -1)
yypirerror(lexer->yyscanner, lexer,
- "'%s' is not a vtable method but was used with :vtable flag", vtablename);
+ "'%s' is not a vtable but was used with :vtable flag", vtablename);
else {
/* test for duplicate :vtable on a sub */
@@ -660,7 +660,7 @@
/*
-=item C<target * new_target(lexer_state * const lexer)>
+=item C<target * new_target(lexer_state *lexer)>
Create a new target node. The node's next pointer is initialized to itself.
@@ -670,16 +670,16 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
target *
-new_target(ARGIN(lexer_state * const lexer))
+new_target(ARGMOD(lexer_state *lexer))
{
- target *t = pir_mem_allocate_zeroed_typed(lexer, target);
+ target * const t = pir_mem_allocate_zeroed_typed(lexer, target);
t->key = NULL;
t->next = t; /* circly linked list */
return t;
}
/*
-=item C<void set_target_key(target * const t, key * const k)>
+=item C<void set_target_key(target *t, key *k)>
Set the key C<k> on target C<t>. For instance:
@@ -691,15 +691,14 @@
*/
void
-set_target_key(ARGIN(target * const t), ARGIN(key * const k))
+set_target_key(ARGMOD(target *t), ARGIN(key *k))
{
t->key = k;
}
/*
-=item C<target * target_from_symbol(lexer_state * const lexer, symbol * const
-sym)>
+=item C<target * target_from_symbol(lexer_state * lexer, symbol *sym)>
Convert symbol C<sym> into a target node. The resulting target has
a pointer to C<sym>.
@@ -710,10 +709,9 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
target *
-target_from_symbol(ARGIN(lexer_state * const lexer),
- ARGIN(symbol * const sym))
+target_from_symbol(ARGMOD(lexer_state * lexer), ARGIN(symbol *sym))
{
- target *t = new_target(lexer);
+ target * const t = new_target(lexer);
t->flags = sym->flags; /* copy the flags */
t->info = &sym->info;
@@ -738,7 +736,7 @@
PARROT_IGNORABLE_RESULT
PARROT_CANNOT_RETURN_NULL
target *
-add_target(ARGIN(lexer_state * const lexer),
+add_target(SHIM(lexer_state * const lexer),
ARGMOD(target *last), ARGIN(target * const t))
{
PARROT_ASSERT(last);
@@ -1429,7 +1427,7 @@
/*
-=item C<unsigned get_operand_count(lexer_state * const lexer)>
+=item C<unsigned get_operand_count(lexer_state *lexer)>
Returns the number of operands of the I<current> instruction.
This function assumes there is an instruction in place
@@ -1440,7 +1438,7 @@
*/
PARROT_WARN_UNUSED_RESULT
unsigned
-get_operand_count(ARGIN(lexer_state * const lexer))
+get_operand_count(ARGIN(lexer_state *lexer))
{
unsigned count = 0;
expression *first, *operand;
Modified: branches/ops_pct/compilers/pirc/src/pircompunit.h
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pircompunit.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pircompunit.h Wed May 5 08:45:29 2010 (r46302)
@@ -439,10 +439,9 @@
PARROT_IGNORABLE_RESULT
PARROT_CANNOT_RETURN_NULL
target * add_target(
- ARGIN(lexer_state * const lexer),
+ SHIM(lexer_state * const lexer),
ARGMOD(target *last),
ARGIN(target * const t))
- __attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
FUNC_MODIFIES(*last);
@@ -522,7 +521,7 @@
__attribute__nonnull__(1);
PARROT_WARN_UNUSED_RESULT
-unsigned get_operand_count(ARGIN(lexer_state * const lexer))
+unsigned get_operand_count(ARGIN(lexer_state *lexer))
__attribute__nonnull__(1);
void get_operands(ARGIN(lexer_state * const lexer), int bitmask, ...)
@@ -619,8 +618,9 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-target * new_target(ARGIN(lexer_state * const lexer))
- __attribute__nonnull__(1);
+target * new_target(ARGMOD(lexer_state *lexer))
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*lexer);
void push_operand(
ARGIN(lexer_state * const lexer),
@@ -800,17 +800,17 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-void set_target_key(ARGIN(target * const t), ARGIN(key * const k))
+void set_target_key(ARGMOD(target *t), ARGIN(key *k))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*t);
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-target * target_from_symbol(
- ARGIN(lexer_state * const lexer),
- ARGIN(symbol * const sym))
+target * target_from_symbol(ARGMOD(lexer_state * lexer), ARGIN(symbol *sym))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(* lexer);
PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
@@ -869,8 +869,7 @@
PARROT_ASSERT_ARG(lexer) \
, PARROT_ASSERT_ARG(name))
#define ASSERT_ARGS_add_target __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(lexer) \
- , PARROT_ASSERT_ARG(last) \
+ PARROT_ASSERT_ARG(last) \
, PARROT_ASSERT_ARG(t))
#define ASSERT_ARGS_annotate __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer) \
Modified: branches/ops_pct/compilers/pirc/src/pirlexer.h
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pirlexer.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pirlexer.h Wed May 5 08:45:29 2010 (r46302)
@@ -1,509 +1,17 @@
-#ifndef yypirHEADER_H
-#define yypirHEADER_H 1
-#define yypirIN_HEADER 1
-
-#line 6 "pirlexer.h"
-#line 2 "pir.l"
-
-/* ex: set ro ft=c:
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- *
- * This file is generated automatically by the Parrot build process
- * from the file compilers/pirc/new/pir.l.
- *
- * Any changes made here will be lost!
- *
-*/
-
-/* HEADERIZER HFILE: none */
-/* HEADERIZER STOP */
-
-#ifndef __STDC_VERSION__
-# define __STDC_VERSION__ 0
-#endif
-
-#ifndef YY_NO_UNISTD_H
-# define YY_NO_UNISTD_H
-#endif
-
-/* prevent warnings on undefined #defines: */
-#ifndef YY_MAIN
-# define YY_MAIN 0
-#endif
-
-#ifndef YY_ALWAYS_INTERACTIVE
-# define YY_ALWAYS_INTERACTIVE 0
-#endif
-
-#include <stdlib.h> /* for size_t */
-typedef size_t yy_size_t;
-#define YY_TYPEDEF_YY_SIZE_T
-
-
-
-
-#line 46 "pirlexer.h"
-
-#define YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-/* %not-for-header */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 35
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* %if-c++-only */
-/* %endif */
-
-/* %if-c-only */
-
-/* %endif */
-
-/* %if-c-only */
-
-/* %endif */
-
-/* First, we deal with platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-/* %if-c-only */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-/* %endif */
-
-/* %if-tables-serialization */
-/* %endif */
-/* end standard C headers. */
-
-/* %if-c-or-c++ */
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types.
+/*
+ * Copyright (C) 2010, Parrot Foundation.
+ * $Id$
*/
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX (4294967295U)
-#endif
-
-#endif /* ! FLEXINT_H */
-
-/* %endif */
-
-/* %if-c++-only */
-/* %endif */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* %not-for-header */
-
-/* %not-for-header */
-
-/* %if-reentrant */
-
-/* An opaque pointer. */
-#ifndef YY_TYPEDEF_YY_SCANNER_T
-#define YY_TYPEDEF_YY_SCANNER_T
-typedef void* yyscan_t;
-#endif
-
-/* For convenience, these vars (plus the bison vars far below)
- are macros in the reentrant scanner. */
-#define yyin yyg->yyin_r
-#define yyout yyg->yyout_r
-#define yyextra yyg->yyextra_r
-#define yyleng yyg->yyleng_r
-#define yytext yyg->yytext_r
-#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
-#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
-#define yy_flex_debug yyg->yy_flex_debug_r
-
-/* %endif */
-
-/* %if-not-reentrant */
-/* %endif */
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-/* %if-not-reentrant */
-/* %endif */
-
-/* %if-c-only */
-/* %if-not-reentrant */
-/* %endif */
-/* %endif */
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
- {
-/* %if-c-only */
- FILE *yy_input_file;
-/* %endif */
-
-/* %if-c++-only */
-/* %endif */
-
- char *yy_ch_buf; /* input buffer */
- char *yy_buf_pos; /* current position in input buffer */
-
- /* Size of input buffer in bytes, not including room for EOB
- * characters.
- */
- yy_size_t yy_buf_size;
-
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
- yy_size_t yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
- * delete it.
- */
- int yy_is_our_buffer;
-
- /* Whether this is an "interactive" input source; if so, and
- * if we're using stdio for input, then we want to use getc()
- * instead of fread(), to make sure we stop fetching input after
- * each newline.
- */
- int yy_is_interactive;
-
- /* Whether we're considered to be at the beginning of a line.
- * If so, '^' rules will be active on the next match, otherwise
- * not.
- */
- int yy_at_bol;
-
- int yy_bs_lineno; /**< The line count. */
- int yy_bs_column; /**< The column count. */
-
- /* Whether to try to fill the input buffer when we reach the
- * end of it.
- */
- int yy_fill_buffer;
-
- int yy_buffer_status;
-
- };
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* %if-c-only Standard (non-C++) definition */
-/* %not-for-header */
-
-/* %endif */
-
-/* %if-c-only Standard (non-C++) definition */
-
-/* %if-not-reentrant */
-/* %not-for-header */
-/* %endif */
+#ifndef PARROT_PIR_PIRLEXER_H_GUARD
+#define PARROT_PIR_PIRLEXER_H_GUARD
-void yypirrestart (FILE *input_file ,yyscan_t yyscanner );
-void yypir_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-YY_BUFFER_STATE yypir_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
-void yypir_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void yypir_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void yypirpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-void yypirpop_buffer_state (yyscan_t yyscanner );
-YY_BUFFER_STATE yypir_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
-YY_BUFFER_STATE yypir_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE yypir_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
+#endif /* PARROT_PIR_PIRLEXER_H_GUARD */
-/* %endif */
-
-void *yypiralloc (yy_size_t ,yyscan_t yyscanner );
-void *yypirrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-void yypirfree (void * ,yyscan_t yyscanner );
-
-/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
-/* Begin user sect3 */
-
-#define yypirwrap(n) 1
-#define YY_SKIP_YYWRAP
-
-#define FLEX_DEBUG
-
-#define yytext_ptr yytext_r
-
-/* %if-c-only Standard (non-C++) definition */
-
-/* %endif */
-
-#ifdef YY_HEADER_EXPORT_START_CONDITIONS
-#define INITIAL 0
-#define MACROHEAD 1
-#define MACROBODY 2
-#define MACROLOCAL 3
-#define MACROLABEL 4
-#define MACROEXPAND 5
-#define MACROCONST 6
-#define SCANSTR 7
-#define SCANMACRO 8
-#define STRINGEXPAND 9
-#define SPECIALSTART 10
-#define PASM 11
-
-#endif
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-/* %if-c-only */
-#include <unistd.h>
-/* %endif */
-/* %if-c++-only */
-/* %endif */
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-/* %if-c-only Reentrant structure and macros (non-C++). */
-/* %if-reentrant */
-
-/* %if-c-only */
-
-/* %endif */
-
-/* %if-reentrant */
-
-int yypirlex_init (yyscan_t* scanner);
-
-int yypirlex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
-
-/* %endif */
-
-/* %endif End reentrant structures and macros. */
-
-/* Accessor methods to globals.
- These are made visible to non-reentrant scanners for convenience. */
-
-int yypirlex_destroy (yyscan_t yyscanner );
-
-int yypirget_debug (yyscan_t yyscanner );
-
-void yypirset_debug (int debug_flag ,yyscan_t yyscanner );
-
-YY_EXTRA_TYPE yypirget_extra (yyscan_t yyscanner );
-
-void yypirset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
-
-FILE *yypirget_in (yyscan_t yyscanner );
-
-void yypirset_in (FILE * in_str ,yyscan_t yyscanner );
-
-FILE *yypirget_out (yyscan_t yyscanner );
-
-void yypirset_out (FILE * out_str ,yyscan_t yyscanner );
-
-yy_size_t yypirget_leng (yyscan_t yyscanner );
-
-char *yypirget_text (yyscan_t yyscanner );
-
-int yypirget_lineno (yyscan_t yyscanner );
-
-void yypirset_lineno (int line_number ,yyscan_t yyscanner );
-
-/* %if-bison-bridge */
-
-YYSTYPE * yypirget_lval (yyscan_t yyscanner );
-
-void yypirset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
-
-/* %endif */
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
*/
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yypirwrap (yyscan_t yyscanner );
-#else
-extern int yypirwrap (yyscan_t yyscanner );
-#endif
-#endif
-
-/* %not-for-header */
-
-/* %endif */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
-#endif
-
-#ifndef YY_NO_INPUT
-/* %if-c-only Standard (non-C++) definition */
-/* %not-for-header */
-
-/* %endif */
-#endif
-
-/* %if-c-only */
-
-/* %endif */
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* %if-tables-serialization structures and prototypes */
-/* %not-for-header */
-
-/* %not-for-header */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-/* %if-c-only Standard (non-C++) definition */
-
-extern int yypirlex \
- (YYSTYPE * yylval_param ,yyscan_t yyscanner);
-
-#define YY_DECL int yypirlex \
- (YYSTYPE * yylval_param , yyscan_t yyscanner)
-/* %endif */
-/* %if-c++-only C++ definition */
-/* %endif */
-#endif /* !YY_DECL */
-
-/* %not-for-header */
-
-/* %if-c++-only */
-/* %not-for-header */
-
-/* %endif */
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-/* %if-c-only */
-/* %not-for-header */
-
-#undef YY_NEW_FILE
-#undef YY_FLUSH_BUFFER
-#undef yy_set_bol
-#undef yy_new_buffer
-#undef yy_set_interactive
-#undef YY_DO_BEFORE_ACTION
-
-#ifdef YY_DECL_IS_OURS
-#undef YY_DECL_IS_OURS
-#undef YY_DECL
-#endif
-
-#line 1199 "pir.l"
-
-
-#line 508 "pirlexer.h"
-#undef yypirIN_HEADER
-#endif /* yypirHEADER_H */
Modified: branches/ops_pct/compilers/pirc/src/pirparser.c
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pirparser.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pirparser.c Wed May 5 08:45:29 2010 (r46302)
@@ -411,31 +411,39 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
static void check_first_arg_direction(
- lexer_state * const lexer,
- NOTNULL(char const * const opname))
- __attribute__nonnull__(2);
+ ARGMOD(lexer_state *lexer),
+ ARGIN(char const *opname))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*lexer);
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
static char * concat_strings(
- NOTNULL(lexer_state * const lexer),
- NOTNULL(char const * a),
- NOTNULL(char const * b))
+ ARGMOD(lexer_state *lexer),
+ ARGIN(const char * a),
+ ARGIN(const char * b))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- __attribute__nonnull__(3);
+ __attribute__nonnull__(3)
+ FUNC_MODIFIES(*lexer);
static void create_if_instr(
- NOTNULL(lexer_state * const lexer),
+ ARGMOD(lexer_state *lexer),
int invert,
int hasnull,
- NOTNULL(char const * const name),
- NOTNULL(char const * const label))
+ ARGIN(const char *name),
+ ARGIN(const char *label))
__attribute__nonnull__(1)
__attribute__nonnull__(4)
- __attribute__nonnull__(5);
+ __attribute__nonnull__(5)
+ FUNC_MODIFIES(*lexer);
+
+static void do_strength_reduction(ARGMOD(lexer_state *lexer))
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*lexer);
-static void do_strength_reduction(lexer_state * const lexer);
PARROT_WARN_UNUSED_RESULT
static int evaluate_i_i(int a, pir_rel_operator op, int b);
@@ -446,8 +454,11 @@
static int evaluate_n_i(double a, pir_rel_operator op, int b);
static void undeclared_symbol(
- lexer_state * const lexer,
- char const * const symbol);
+ ARGMOD(lexer_state *lexer),
+ ARGIN(char const *symbol))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*lexer);
static void yy_reduce_print (
YYSTYPE *yyvsp,
@@ -483,7 +494,8 @@
static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar);
static YYSIZE_T yytnamerr (char *yyres, const char *yystr);
#define ASSERT_ARGS_check_first_arg_direction __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(opname))
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(opname))
#define ASSERT_ARGS_concat_strings __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lexer) \
, PARROT_ASSERT_ARG(a) \
@@ -492,11 +504,14 @@
PARROT_ASSERT_ARG(lexer) \
, PARROT_ASSERT_ARG(name) \
, PARROT_ASSERT_ARG(label))
-#define ASSERT_ARGS_do_strength_reduction __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_do_strength_reduction __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer))
#define ASSERT_ARGS_evaluate_i_i __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_evaluate_i_n __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_evaluate_n_i __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
-#define ASSERT_ARGS_undeclared_symbol __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_undeclared_symbol __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(lexer) \
+ , PARROT_ASSERT_ARG(symbol))
#define ASSERT_ARGS_yy_reduce_print __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_yy_stack_print __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_yy_symbol_print __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
@@ -5510,8 +5525,8 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static constant *
-fold_s_s(yyscan_t yyscanner, NOTNULL(char const *a), pir_math_operator op, NOTNULL(char const *b)) {
- lexer_state *lexer = (lexer_state *)yypirget_extra(yyscanner);
+fold_s_s(yyscan_t yyscanner, ARGIN(const char *a), pir_math_operator op, ARGIN(char const *b)) {
+ lexer_state * const lexer = (lexer_state *)yypirget_extra(yyscanner);
switch (op) {
case OP_CONCAT:
return new_const(lexer, STRING_VAL, concat_strings(lexer, a, b));
@@ -5650,8 +5665,8 @@
*/
PARROT_WARN_UNUSED_RESULT
static int
-evaluate_s_s(NOTNULL(char const * const a), pir_rel_operator op, NOTNULL(char const * const b)) {
- int result = strcmp(a, b); /* do /not/ use STREQ; we're interested in the result. */
+evaluate_s_s(ARGIN(const char *a), pir_rel_operator op, ARGIN(const char *b)) {
+ const int result = strcmp(a, b); /* do /not/ use STREQ; we're interested in the result. */
switch (op) {
case OP_NE:
@@ -5685,8 +5700,8 @@
*/
PARROT_WARN_UNUSED_RESULT
static int
-evaluate_s(NOTNULL(char const * const s)) {
- int strlen_s = strlen(s);
+evaluate_s(ARGIN(char const *s)) {
+ const size_t strlen_s = strlen(s);
if (strlen_s > 0) {
if (strlen_s <= 3) { /* if strlen > 3, (max. nr of characters to represent "0")
@@ -5717,7 +5732,7 @@
*/
PARROT_WARN_UNUSED_RESULT
static int
-evaluate_c(NOTNULL(lexer_state * const lexer), NOTNULL(constant * const c)) {
+evaluate_c(ARGIN(lexer_state * const lexer), ARGIN(const constant *c)) {
switch (c->type) {
case INT_VAL:
return (c->val.ival != 0);
@@ -5735,8 +5750,8 @@
/*
-=item C<static char * concat_strings(lexer_state * const lexer, char const * a,
-char const * b)>
+=item C<static char * concat_strings(lexer_state *lexer, const char * a, const
+char * b)>
Concatenates two strings into a new buffer. The new string is returned.
@@ -5745,12 +5760,13 @@
*/
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
static char *
-concat_strings(NOTNULL(lexer_state * const lexer), NOTNULL(char const * a),
- NOTNULL(char const * b))
+concat_strings(ARGMOD(lexer_state *lexer), ARGIN(const char * a),
+ ARGIN(const char * b))
{
- int strlen_a = strlen(a);
- char *newstr = (char *)pir_mem_allocate_zeroed(lexer, (strlen_a + strlen(b) + 1)
+ const size_t strlen_a = strlen(a);
+ const char * const newstr = (char *)pir_mem_allocate_zeroed(lexer, (strlen_a + strlen(b) + 1)
* sizeof (char));
strcpy(newstr, a);
strcpy(newstr + strlen_a, b);
@@ -5761,8 +5777,8 @@
/*
-=item C<static void create_if_instr(lexer_state * const lexer, int invert, int
-hasnull, char const * const name, char const * const label)>
+=item C<static void create_if_instr(lexer_state *lexer, int invert, int hasnull,
+const char *name, const char *label)>
Create an C<if> or C<unless> instruction; if C<invert> is non-zero (true), the
C<if> instruction is inverted, effectively becoming C<unless>.
@@ -5776,9 +5792,8 @@
*/
static void
-create_if_instr(NOTNULL(lexer_state * const lexer), int invert, int hasnull,
- NOTNULL(char const * const name),
- NOTNULL(char const * const label))
+create_if_instr(ARGMOD(lexer_state *lexer), int invert, int hasnull,
+ ARGIN(const char *name), ARGIN(const char *label))
{
/* try to find the symbol; if it was declared it will be found; otherwise emit an error. */
symbol *sym = find_symbol(lexer, name);
@@ -6009,7 +6024,7 @@
/*
-=item C<static void do_strength_reduction(lexer_state * const lexer)>
+=item C<static void do_strength_reduction(lexer_state *lexer)>
Implement strength reduction for the math operators C<add>, C<sub>, C<mul>, C<div> and C<fdiv>.
If the current instruction is any of these, then the first two operands are checked; if both
@@ -6034,7 +6049,7 @@
*/
static void
-do_strength_reduction(lexer_state * const lexer) {
+do_strength_reduction(ARGMOD(lexer_state *lexer)) {
instruction *instr;
expression *arg1;
expression *arg2;
@@ -6138,13 +6153,13 @@
break;
}
-
+ return;
}
/*
-=item C<static void check_first_arg_direction(lexer_state * const lexer, char
-const * const opname)>
+=item C<static void check_first_arg_direction(lexer_state *lexer, char const
+*opname)>
This function checks the first argument's direction of the op C<opname>.
If the direction is not C<OUT>, a syntax error is emitted. This function assumes
@@ -6164,7 +6179,7 @@
*/
static void
-check_first_arg_direction(lexer_state * const lexer, NOTNULL(char const * const opname)) {
+check_first_arg_direction(ARGMOD(lexer_state *lexer), ARGIN(char const *opname)) {
int dir_first_arg;
/* op_count also counts the instruction itself, so must be at least 2 */
@@ -6174,7 +6189,7 @@
if (!CURRENT_INSTRUCTION(lexer)->opinfo->dirs)
fprintf(stderr, "no opinfo->dirs!\n");
else {
- op_info_t *opinfo = CURRENT_INSTRUCTION(lexer)->opinfo;
+ const op_info_t * const opinfo = CURRENT_INSTRUCTION(lexer)->opinfo;
if (opinfo)
dir_first_arg = CURRENT_INSTRUCTION(lexer)->opinfo->dirs[0];
@@ -6188,7 +6203,6 @@
if (dir_first_arg != PARROT_ARGDIR_OUT)
yypirerror(lexer->yyscanner, lexer, "cannot write first arg of op '%s' as a target "
"(direction of argument is IN/INOUT).", opname);
-
}
@@ -6214,12 +6228,10 @@
*/
PARROT_WARN_UNUSED_RESULT
static int
-check_op_args_for_symbols(lexer_state * const lexer) {
+check_op_args_for_symbols(ARGMOD(lexer_state *lexer)) {
struct op_info_t * opinfo;
unsigned short i;
short opcount;
- unsigned num_operands;
- char *fullopname;
int opcode;
int result;
int label_bitmask = 0; /* an int is at least 32 bits;
@@ -6229,9 +6241,10 @@
*/
/* iterate over all operands to set the type and PASM register on all target nodes, if any */
- num_operands = get_operand_count(lexer);
+ const unsigned int num_operands = get_operand_count(lexer);
+
for (i = 0; i < num_operands; i++) {
- expression *operand = get_operand(lexer, i + 1); /* get_operand counts from 1 */
+ expression * const operand = get_operand(lexer, i + 1); /* get_operand counts from 1 */
if (operand->type == EXPR_IDENT) { /* op_arg ::= identifier */
/* the operand is an identifier, check now whether it was a symbol. If so,
@@ -6317,8 +6330,7 @@
/*
-=item C<static void undeclared_symbol(lexer_state * const lexer, char const *
-const symbol)>
+=item C<static void undeclared_symbol(lexer_state *lexer, char const *symbol)>
Report an error message saying that C<symbol> was not declared. Then test
whether the symbol is perhaps a PASM register identifier. The user may have
@@ -6328,7 +6340,7 @@
*/
static void
-undeclared_symbol(lexer_state * const lexer, char const * const symbol) {
+undeclared_symbol(ARGMOD(lexer_state *lexer), ARGIN(char const *symbol)) {
if (TEST_FLAG(lexer->flags, LEXER_FLAG_PASMFILE)) {
yypirerror(lexer->yyscanner, lexer,
"cannot use symbols in PASM mode ('%s')", symbol);
Modified: branches/ops_pct/compilers/pirc/src/pirsymbol.c
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pirsymbol.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pirsymbol.c Wed May 5 08:45:29 2010 (r46302)
@@ -73,10 +73,11 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static pir_reg * new_pir_reg(
- ARGIN(lexer_state * const lexer),
+ ARGMOD(lexer_state *lexer),
pir_type type,
int regno)
- __attribute__nonnull__(1);
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*lexer);
static int next_register(ARGIN(lexer_state * const lexer), pir_type type)
__attribute__nonnull__(1);
@@ -386,8 +387,7 @@
/*
-=item C<symbol * find_symbol(lexer_state * const lexer, char const * const
-name)>
+=item C<symbol * find_symbol(lexer_state *lexer, const char *name)>
Return the node for the symbol or NULL if the symbol
is not defined. If an attempt is made to find a symbol,
@@ -400,8 +400,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
symbol *
-find_symbol(ARGIN(lexer_state * const lexer),
- ARGIN(char const * const name))
+find_symbol(ARGMOD(lexer_state *lexer), ARGIN(const char *name))
{
ASSERT_ARGS(find_symbol)
hashtable *table = &CURRENT_SUB(lexer)->symbols;
@@ -411,7 +410,7 @@
while (buck) {
- symbol *sym = bucket_symbol(buck);
+ symbol * const sym = bucket_symbol(buck);
if (STREQ(sym->info.id.name, name)) {
@@ -441,8 +440,8 @@
/*
-=item C<static pir_reg * new_pir_reg(lexer_state * const lexer, pir_type type,
-int regno)>
+=item C<static pir_reg * new_pir_reg(lexer_state *lexer, pir_type type, int
+regno)>
Create a new PIR register node representing PIR/symbolic register
identified by C<regno> and of type C<type>.
@@ -453,7 +452,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static pir_reg *
-new_pir_reg(ARGIN(lexer_state * const lexer), pir_type type, int regno)
+new_pir_reg(ARGMOD(lexer_state *lexer), pir_type type, int regno)
{
ASSERT_ARGS(new_pir_reg)
pir_reg *r = pir_mem_allocate_zeroed_typed(lexer, pir_reg);
Modified: branches/ops_pct/compilers/pirc/src/pirsymbol.h
==============================================================================
--- branches/ops_pct/compilers/pirc/src/pirsymbol.h Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/compilers/pirc/src/pirsymbol.h Wed May 5 08:45:29 2010 (r46302)
@@ -130,11 +130,10 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
-symbol * find_symbol(
- ARGIN(lexer_state * const lexer),
- ARGIN(char const * const name))
+symbol * find_symbol(ARGMOD(lexer_state *lexer), ARGIN(const char *name))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*lexer);
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
Modified: branches/ops_pct/config/auto/arch.pm
==============================================================================
--- branches/ops_pct/config/auto/arch.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/auto/arch.pm Wed May 5 08:45:29 2010 (r46302)
@@ -29,6 +29,13 @@
my %data;
$data{description} = q{Determine CPU architecture and OS};
$data{result} = q{};
+ my $unamep;
+ eval {
+ chomp( $unamep = `uname -p` ) unless ($^O eq 'MSWin32');
+ };
+ $data{unamep} = (! $@ and $unamep)
+ ? $unamep
+ : undef;
return \%data;
}
@@ -60,12 +67,9 @@
# the above split fails because archname is "darwin-thread-multi-2level".
if ( $cpuarch =~ /darwin/ ) {
$osname = 'darwin';
- if ( $conf->data->get('byteorder') =~ /^1234/ ) {
- $cpuarch = 'i386';
- }
- else {
- $cpuarch = 'ppc';
- }
+ $cpuarch = ( $self->{unamep} eq 'powerpc' )
+ ? 'ppc'
+ : 'i386';
}
# cpuarch and osname are reversed in archname on windows
Modified: branches/ops_pct/config/auto/attributes.pm
==============================================================================
--- branches/ops_pct/config/auto/attributes.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/auto/attributes.pm Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -40,8 +40,11 @@
HASATTRIBUTE_PURE
HASATTRIBUTE_UNUSED
HASATTRIBUTE_WARN_UNUSED_RESULT
+ HASATTRIBUTE_HOT
+ HASATTRIBUTE_COLD
HASATTRIBUTE_NEVER_WORKS
);
+# HASATTRIBUTE_NEVER_WORKS is at the end just to prove that it's possible to fail.
sub runstep {
my ( $self, $conf ) = @_;
Modified: branches/ops_pct/config/auto/attributes/test_c.in
==============================================================================
--- branches/ops_pct/config/auto/attributes/test_c.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/auto/attributes/test_c.in Wed May 5 08:45:29 2010 (r46302)
@@ -32,6 +32,16 @@
purefunc(int x);
+__attribute__hot__
+int
+hotfunc(int x);
+
+
+__attribute__cold__
+int
+coldfunc(int x);
+
+
static int
useless(void) { int x __attribute__unused__; return 0; }
Deleted: branches/ops_pct/config/auto/cgoto.pm
==============================================================================
--- branches/ops_pct/config/auto/cgoto.pm Wed May 5 08:45:29 2010 (r46301)
+++ /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:
Deleted: branches/ops_pct/config/auto/crypto.pm
==============================================================================
--- branches/ops_pct/config/auto/crypto.pm Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,93 +0,0 @@
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/auto/crypto.pm - Test for crypto library (libssl)
-
-=head1 DESCRIPTION
-
-This library is linked to a dynamic PMC.
-
-See L<http://www.openssl.org>
-
-=cut
-
-package auto::crypto;
-
-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 crypto};
- $data{result} = q{};
- return \%data;
-}
-
-sub runstep {
- my ( $self, $conf ) = @_;
-
- my ( $verbose, $without ) = $conf->options->get(
- qw|
- verbose
- without-crypto
- |
- );
-
- if ($without) {
- $conf->data->set( has_crypto => 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 => 'libcrypto.lib',
- default => '-lcrypto',
- } );
-
- $conf->cc_gen('config/auto/crypto/crypto_c.in');
- eval { $conf->cc_build( q{}, $extra_libs); };
- my $has_crypto = 0;
- if ( !$@ ) {
- my $test = $conf->cc_run();
- $has_crypto = $self->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
- }
- $conf->data->set( has_crypto => $has_crypto ); # for dynpmc.in & digest.t
- $self->set_result($has_crypto ? 'yes' : 'no');
-
- return 1;
-}
-
-sub _evaluate_cc_run {
- my $self = shift;
- my ($conf, $test, $has_crypto, $verbose) = @_;
- if ( $test =~ m/^OpenSSL (\d\.\d\.\d\w?)/ ) {
- my $version = $1;
- $has_crypto = 1;
- $conf->data->set( openssl_version => $version );
- print " (yes) " if $verbose;
- $self->set_result("yes, $version");
- }
- return $has_crypto;
-}
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ops_pct/config/auto/gdbm.pm
==============================================================================
--- branches/ops_pct/config/auto/gdbm.pm Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,96 +0,0 @@
-# Copyright (C) 2001-2005, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/auto/gdbm.pm - Test for GNU dbm (gdbm) library
-
-=head1 DESCRIPTION
-
-Determines whether the platform supports gdbm. This is needed for the dynamic
-GDBMHash PMC.
-
-From L<http://www.gnu.org/software/gdbm/>: "GNU dbm is a set of database
-routines that use extensible hashing. It works similar to the standard Unix
-dbm routines."
-
-=cut
-
-package auto::gdbm;
-
-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 gdbm};
- $data{result} = q{};
- return \%data;
-}
-
-sub runstep {
- my ( $self, $conf ) = @_;
-
- my ( $verbose, $without ) = $conf->options->get(
- qw|
- verbose
- without-gdbm
- |
- );
-
- if ($without) {
- $conf->data->set( has_gdbm => 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_gcc => '-llibgdbm',
- win32_nongcc => 'gdbm.lib',
- default => '-lgdbm',
- } );
-
- $conf->cc_gen('config/auto/gdbm/gdbm_c.in');
- eval { $conf->cc_build( q{}, $extra_libs ); };
- my $has_gdbm = 0;
- if ( !$@ ) {
- my $test = $conf->cc_run();
- unlink "gdbm_test_db";
- $has_gdbm = $self->_evaluate_cc_run($test, $has_gdbm, $verbose);
- }
- $conf->data->set( has_gdbm => $has_gdbm ); # for gdbmhash.t and dynpmc.in
- $self->set_result($has_gdbm ? 'yes' : 'no');
-
- return 1;
-}
-
-sub _evaluate_cc_run {
- my $self = shift;
- my ($test, $has_gdbm, $verbose) = @_;
- if ( $test eq "gdbm is working.\n" ) {
- $has_gdbm = 1;
- print " (yes) " if $verbose;
- $self->set_result('yes');
- }
- return $has_gdbm;
-}
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/ops_pct/config/auto/warnings.pm
==============================================================================
--- branches/ops_pct/config/auto/warnings.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/auto/warnings.pm Wed May 5 08:45:29 2010 (r46302)
@@ -113,6 +113,7 @@
-Wcomment
-Wdisabled-optimization
-Wdiv-by-zero
+ -Wenum-compare
-Wendif-labels
-Wextra
-Wformat
@@ -125,6 +126,7 @@
-Winit-self
-Winline
-Winvalid-pch
+ -Wjump-misses-init
-Wlogical-op
-Wmissing-braces
-Wmissing-field-initializers
@@ -137,7 +139,6 @@
-Wpointer-sign
-Wreturn-type
-Wsequence-point
- -Wno-shadow
-Wsign-compare
-Wstrict-aliasing
-Wstrict-aliasing=2
@@ -154,7 +155,7 @@
$gcc->{'basic'} = [ @gcc_or_gpp ];
$gpp->{'basic'} = [ @gcc_or_gpp ];
- # Add some gcc only warnings that would break g++
+ # Add some gcc-only warnings that would break g++
push @{$gcc->{'basic'}}, qw(
-Wbad-function-cast
-Wc++-compat
@@ -173,7 +174,7 @@
my $gcc_or_gpp_cage = [ qw(
-std=c89
- -Werror-implicit-function-declaration
+ -Werror=implicit-function-declaration
-Wformat=2
-Wlarger-than-4096
-Wlong-long
@@ -193,63 +194,75 @@
$gpp->{'cage'} = $gcc_or_gpp_cage;
$gcc->{'todo'} = $gpp->{'todo'} = {
- '-Wformat-nonliteral' => [
- 'src/spf_render.c',
- 'compilers/imcc/optimizer.c',
- ],
- '-Wstrict-prototypes' => [
- 'src/nci/extra_thunks.c',
- 'src/extra_nci_thunks.c',
- ],
+ '-Wformat-nonliteral' => [ qw(
+ src/spf_render.c
+ compilers/imcc/optimizer.c
+ ) ],
+ '-Wstrict-prototypes' => [ qw(
+ src/nci/extra_thunks.c
+ src/extra_nci_thunks.c
+ ) ],
};
$gcc->{'never'} = $gpp->{'never'} = {
- '-Wformat-nonliteral' => [
- 'compilers/imcc/imclexer.c',
- ],
- '-Wswitch-default' => [
- 'compilers/imcc/imclexer.c',
- ],
- '-Wcast-qual' => [
- 'compilers/imcc/imcparser.c',
- ],
- '-Wlogical-op' => [
- 'compilers/imcc/imcparser.c',
- ],
+ '-Wformat-nonliteral' => [ qw(
+ compilers/imcc/imclexer.c
+ ) ],
+ '-Wswitch-default' => [ qw(
+ compilers/imcc/imclexer.c
+ ) ],
+ '-Wcast-qual' => [ qw(
+ compilers/imcc/imcparser.c
+ ) ],
+ '-Wlogical-op' => [ qw(
+ compilers/imcc/imcparser.c
+ ) ],
};
+ # Warning flags docs
+ # http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/index.htm
+
$icc->{'basic'} = [ qw(
- -wd269
- -wd1572
- -wd1599
- -wd181
- -wd869
- -wd981
- -wd1419
- -wd117
- -wd810
- -wd177
- -wd1296
- -Wall
- -Wcheck
-w2
-Wabi
+ -Wall
+ -Wcheck
-Wcomment
-Wdeprecated
+ -Weffc++
+ -Wextra-tokens
+ -Wformat
+ -Wformat-security
-Wmain
+ -Wmissing-declarations
-Wmissing-prototypes
-Wpointer-arith
+ -Wport
-Wreturn-type
+ -Wshadow
-Wstrict-prototypes
-Wuninitialized
-Wunknown-pragmas
-Wunused-function
-Wunused-variable
- )];
+ -Wwrite-strings
+ ),
+ # Disable some warnings and notifications that are overly noisy
+ '-diag-disable 271', # trailing comma is nonstandard
+ '-diag-disable 981', # operands are evaluated in unspecified order
+ '-diag-disable 1572', # floating-point equality and inequality comparisons are unreliable
+ '-diag-disable 2259', # non-pointer conversion from "typeA" to "typeB" may lose significant bits
+ ];
+ $icc->{'cage'} = [
+ # http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/bldaps_cls/common/bldaps_svover.htm
+ '-diag-enable sc3',
+ '-diag-enable sc-include',
+ ];
$data->{'warnings'}{'gcc'} = $gcc;
$data->{'warnings'}{'g++'} = $gpp;
$data->{'warnings'}{'icc'} = $icc;
+ $data->{'warnings'}{'clang'} = $gcc;
## end gcc/g++
@@ -269,6 +282,9 @@
elsif ( $conf->option_or_data('cc') =~ /icc/ ) {
$compiler = 'icc';
}
+ elsif ( $conf->option_or_data('cc') =~ /clang/ ) {
+ $compiler = 'clang';
+ }
if ($compiler eq '') {
print "We do not (yet) probe for warnings for your compiler\n"
@@ -374,7 +390,7 @@
$verbose and print " output: $output\n";
- if ( $output !~ /error|warning|not supported/i ) {
+ if ( $output !~ /\berror|warning|not supported|ignoring (unknown )?option\b/i ) {
push @{$self->{'validated'}}, $warning;
$verbose and print " valid warning: '$warning'\n";
return 1;
Copied: branches/ops_pct/config/auto/zlib.pm (from r46301, trunk/config/auto/zlib.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/config/auto/zlib.pm Wed May 5 08:45:29 2010 (r46302, copy of r46301, 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/ops_pct/config/auto/zlib/zlib_c.in (from r46301, trunk/config/auto/zlib/zlib_c.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/config/auto/zlib/zlib_c.in Wed May 5 08:45:29 2010 (r46302, copy of r46301, trunk/config/auto/zlib/zlib_c.in)
@@ -0,0 +1,27 @@
+/*
+ Copyright (C) 2010, Parrot Foundation.
+ $Id$
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.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/ops_pct/config/gen/config_h/config_h.in
==============================================================================
--- branches/ops_pct/config/gen/config_h/config_h.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/config_h/config_h.in Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/config/gen/config_pm.pm
==============================================================================
--- branches/ops_pct/config/gen/config_pm.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/config_pm.pm Wed May 5 08:45:29 2010 (r46302)
@@ -33,7 +33,7 @@
myconfig => 'config/gen/config_pm/myconfig.in',
config_pir => 'config/gen/config_pm/config_pir.in',
Config_pm => 'config/gen/config_pm/Config_pm.in',
- config_lib => 'config/gen/config_pm/config_lib_pasm.in',
+ config_lib => 'config/gen/config_pm/config_lib_pir.in',
};
return \%data;
}
@@ -84,9 +84,9 @@
$template = $self->{templates}->{config_lib};
open( $IN, "<", $template ) or die "Can't open '$template': $!";
- my $c_l_pasm = q{config_lib.pasm};
- $conf->append_configure_log($c_l_pasm);
- open( $OUT, ">", $c_l_pasm ) or die "Can't open $c_l_pasm: $!";
+ my $c_l_pir = q{config_lib.pir};
+ $conf->append_configure_log($c_l_pir);
+ open( $OUT, ">", $c_l_pir ) or die "Can't open $c_l_pir: $!";
print {$OUT} <<"END";
# ex: set ro:
@@ -115,14 +115,14 @@
if ( $type ) {
die "type of '$k' is not supported : $type\n";
}
- # Scalar
+ # String
$v =~ s/(["\\])/\\$1/g;
$v =~ s/\n/\\n/g;
- print {$OUT} qq( set P0["$k"], "$v"\n);
+ print {$OUT} qq( set \$P0["$k"], "$v"\n);
}
else {
- # Undef
- print {$OUT} qq( set P0["$k"], P1\n);
+ # Null
+ print {$OUT} qq( set \$P0["$k"], \$S2\n);
}
}
}
@@ -135,7 +135,7 @@
}
close $IN or die "Can't close $template: $!";
- close $OUT or die "Can't close $c_l_pasm: $!";
+ close $OUT or die "Can't close $c_l_pir: $!";
return 1;
}
Deleted: branches/ops_pct/config/gen/config_pm/config_lib_pasm.in
==============================================================================
--- branches/ops_pct/config/gen/config_pm/config_lib_pasm.in Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,35 +0,0 @@
-# Copyright (C) 2004-2009, Parrot Foundation.
-# $Id$
-
-.pcc_sub main:
- get_params "(0)", P5
- set I10, P5 # argv
- set I11, 0 # flag
- le I10, 1, no_arg
- set S10, P5[1]
- ne S10, "--install", no_arg
- set I11, 1 # install flag
-no_arg:
- new P0, 'Hash'
- new P1, 'Undef'
-
- @PCONFIG@
-
- if I11, is_install
- set S1, "@PWD@"
- set P0["prefix"], S1
- set P0["installed"], "0"
- branch freeze_config
-is_install:
- set P0["installed"], "1"
-freeze_config:
-
- freeze S0, P0
- print S0
- end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ops_pct/config/gen/config_pm/config_lib_pir.in (from r46301, trunk/config/gen/config_pm/config_lib_pir.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/config/gen/config_pm/config_lib_pir.in Wed May 5 08:45:29 2010 (r46302, copy of r46301, trunk/config/gen/config_pm/config_lib_pir.in)
@@ -0,0 +1,38 @@
+# Copyright (C) 2004-2009, Parrot Foundation.
+# $Id$
+
+.include 'datatypes.pasm'
+
+.sub 'main'
+ get_params "(0)", $P5
+ set $I10, $P5 # argv
+ set $I11, 0 # flag
+ le $I10, 1, no_arg
+ set $S10, $P5[1]
+ ne $S10, "--install", no_arg
+ set $I11, 1 # install flag
+no_arg:
+ new $P0, 'Hash'
+ $P0.'set_value_type'(.DATATYPE_STRING)
+ $S2 = null
+
+ @PCONFIG@
+
+ if $I11, is_install
+ set $S1, "@PWD@"
+ set $P0["prefix"], $S1
+ set $P0["installed"], "0"
+ branch freeze_config
+is_install:
+ set $P0["installed"], "1"
+freeze_config:
+
+ freeze $S0, $P0
+ print $S0
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ops_pct/config/gen/config_pm/config_pir.in
==============================================================================
--- branches/ops_pct/config/gen/config_pm/config_pir.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/config_pm/config_pir.in Wed May 5 08:45:29 2010 (r46302)
@@ -12,9 +12,9 @@
# store the config data into $P0
$P0 = _config()
# Retrieve and print a key
- $P1 = $P0["cc"]
+ $S1 = $P0["cc"]
print "Your C compiler is "
- print $P1
+ print $S1
print "\n"
...
@@ -25,14 +25,14 @@
config.pir is a mechanism for accessing most of the data collected by
Configure. It's roughly equivalent to Perl5's C<Config.pm> module.
-At the end of a successful C<make> of Parrot, a PASM file generated by
+At the end of a successful C<make> of Parrot, a PIR file generated by
Configure is run to put a file, F<config.fpmc>, into the library with a
frozen Hash of the configuration data. This library provides a
function, C<_config>, to unpack and return that file's data.
C<_config> does not take any parameters. It returns a single Hash
containing the data. Keys that were C<undef> in Configure contain a
-C<None> PMC; otherwise they contain a C<String>.
+null string; otherwise they contain a non-null, possibly empty, string.
Note that the behavior of that hash when writing to any value (especially
undefined values) is undefined, and may be rather funky.
Modified: branches/ops_pct/config/gen/core_pmcs.pm
==============================================================================
--- branches/ops_pct/config/gen/core_pmcs.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/core_pmcs.pm Wed May 5 08:45:29 2010 (r46302)
@@ -103,6 +103,8 @@
/* HEADERIZER STOP */
#include "parrot/parrot.h"
+#include "parrot/global_setup.h"
+
END_C
@@ -110,15 +112,6 @@
print {$OUT} <<'END_C';
-/* This isn't strictly true, but the headerizer should not bother */
-
-void Parrot_register_core_pmcs(PARROT_INTERP, NOTNULL(PMC *registry))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-extern void Parrot_initialize_core_pmcs(PARROT_INTERP, int pass)
- __attribute__nonnull__(1);
-
void Parrot_initialize_core_pmcs(PARROT_INTERP, int pass)
{
/* first the PMC with the highest enum
@@ -132,14 +125,14 @@
print {$OUT} <<'END_C';
}
-static void register_pmc(PARROT_INTERP, NOTNULL(PMC *registry), int pmc_id)
+static void register_pmc(PARROT_INTERP, ARGIN(PMC *registry), int pmc_id)
{
STRING * const key = interp->vtables[pmc_id]->whoami;
VTABLE_set_integer_keyed_str(interp, registry, key, pmc_id);
}
void
-Parrot_register_core_pmcs(PARROT_INTERP, NOTNULL(PMC *registry))
+Parrot_register_core_pmcs(PARROT_INTERP, ARGIN(PMC *registry))
{
END_C
Deleted: branches/ops_pct/config/gen/crypto.pm
==============================================================================
--- branches/ops_pct/config/gen/crypto.pm Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,110 +0,0 @@
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/gen/crypto.pm - Digest PMC Files
-
-=head1 DESCRIPTION
-
-Generates Digest PMC files.
-
-=cut
-
-package gen::crypto;
-
-use strict;
-use warnings;
-
-
-use base qw(Parrot::Configure::Step);
-
-use Parrot::Configure::Utils ':gen';
-
-sub _init {
- my $self = shift;
- my %data;
- $data{description} = q{Generate Digest PMC files};
- $data{result} = q{};
- $data{digest} = {
- MD2 => {
- md_result => 'ab4f496bfb2a530b219ff33031fe06b0',
- },
- MD4 => {
- md_result => 'd9130a8164549fe818874806e1c7014b',
- },
- MD5 => {
- md_result => 'f96b697d7cb7938d525a2f31aaf161d0',
- },
- RIPEMD160 => {
- md_result => '5d0689ef49d2fae572b881b123a85ffa21595f36',
- md_inc => 'ripemd',
- },
- SHA => {
- md_result => 'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14',,
- },
- SHA1 => {
- md_result => 'c12252ceda8be8994d5fa0290a47231c1d16aae3',
- md_inc => 'sha',
- md_ctx => 'SHA_CTX',
- md_digest => 'SHA_DIGEST',
- },
- SHA256 => {
- md_result => 'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650',
- md_inc => 'sha',
- version_needed => '0.9.8a',
- },
- SHA512 => {
- md_result => '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c',
- md_inc => 'sha',
- version_needed => '0.9.8a',
- },
- };
- $data{digest_pmc_template} = 'config/gen/crypto/digest_pmc.in';
- $data{digest_t_template} = 'config/gen/crypto/digest_t.in';
- return \%data;
-}
-
-sub runstep {
- my ( $self, $conf ) = @_;
-
- if ( ! $conf->data->get('has_crypto') ) {
- $self->set_result('skipped');
- return 1;
- }
-
- my $openssl_version = $conf->data->get('openssl_version');
-
- while (my ($md, $val) = each %{ $self->{digest} } ) {
- my $file = lc $md;
- $conf->data->set( TEMP_md_name => $md );
- $conf->data->set( TEMP_md_file => $file );
- $conf->data->set( TEMP_md_inc => $val->{md_inc} || $file );
- $conf->data->set( TEMP_md_ctx => $val->{md_ctx} || $md . '_CTX' );
- $conf->data->set( TEMP_md_digest => $val->{md_digest} || $md . '_DIGEST' );
- $conf->data->set( TEMP_md_guard => (
- ( exists $val->{version_needed} )
- and
- ( $openssl_version lt $val->{version_needed} )
- )
- ? '#if 0'
- : '#ifndef OPENSSL_NO_' . $md
- );
- $conf->data->set( TEMP_md_skip => $val->{version_needed} || '0.9' );
- $conf->data->set( TEMP_md_result => $val->{md_result} );
- $conf->genfile( $self->{digest_pmc_template} => "src/dynpmc/${file}.pmc" );
- $conf->genfile( $self->{digest_t_template} => "t/dynpmc/${file}.t" );
- }
- $conf->cc_clean();
-
- return 1;
-}
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/ops_pct/config/gen/makefiles.pm
==============================================================================
--- branches/ops_pct/config/gen/makefiles.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/makefiles.pm Wed May 5 08:45:29 2010 (r46302)
@@ -48,10 +48,12 @@
conditioned_lines => 1,
},
- 'compilers/ncigen/Makefile' =>
- { SOURCE => 'compilers/ncigen/config/makefiles/ncigen.in' },
- 'src/dynpmc/Makefile' =>
- { SOURCE => 'config/gen/makefiles/dynpmc.in' },
+ 'src/dynpmc/Rules.mak' => {
+ SOURCE => 'src/dynpmc/Rules.in',
+ },
+ 'src/dynpmc/Defines.mak' => {
+ SOURCE => 'src/dynpmc/Defines.in',
+ },
'editor/Makefile' =>
{ SOURCE => 'config/gen/makefiles/editor.in' },
Modified: branches/ops_pct/config/gen/makefiles/docs.in
==============================================================================
--- branches/ops_pct/config/gen/makefiles/docs.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/makefiles/docs.in Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2006, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
# Setup of some commands
@@ -50,6 +50,22 @@
html: all
$(PERL) -I../lib ../tools/docs/write_docs.pl --silent --version=$(VERSION)
+# The pdf target is to generate a parrot PDF document.
+# If you are missing the command 'pdflatex' then you have first to install a
+# LaTeX distribution with it. For Windows and UNIX downloads are for example
+# available from: http://miktex.org, http://tug.org/texlive or
+# http://www.ctan.org
+pdf: ../tools/docs/filename_and_chapter.pl
+ $(MKPATH) build/modified_pod
+ $(PERL) ../tools/docs/filename_and_chapter.pl
+ cd build && pdflatex parrot-book.tex && pdflatex parrot-book.tex
+
+#pdf-release: build/parrot-book.pdf
+# cp build/parrot-book.pdf build/parrot-book-$$(date +"%Y.%m").pdf
+
+pdf-clean:
+ $(RM_RF) build
+
html-clean:
$(RM_RF) html
Deleted: branches/ops_pct/config/gen/makefiles/dynpmc.in
==============================================================================
--- branches/ops_pct/config/gen/makefiles/dynpmc.in Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,307 +0,0 @@
-# Copyright (C) 2003-2009, Parrot Foundation.
-# $Id$
-
-PERL = @perl@
-RM_F = @rm_f@
-CP = @cp@
-CHMOD = @chmod@
-LOAD_EXT = @load_ext@
-BUILD_DIR = @build_dir@
-RECONFIGURE = $(PERL) $(BUILD_DIR)/tools/dev/reconfigure.pl
-INSTALL_DIR = $(BUILD_DIR)/runtime/parrot/dynext
-O = @o@
-CC = @cc@
-LD = @ld@
-LDFLAGS = @ldflags@ @ld_debug@ @rpath_blib@
-LD_LOAD_FLAGS = @ld_load_flags@
-CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @gc_flag@ @optimize@
-LIBPARROT = @libparrot_ldflags@
-
-BUILD_TOOLS_DIR = $(BUILD_DIR)/tools/build
-BUILD_LIB_DIR = $(BUILD_DIR)/blib/lib
-PMC2C = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl
-INCLUDES = -I$(BUILD_DIR)/include -I at build_dir@/include/pmc
-LINKARGS = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @icu_shared@ @libs@
-
-PMC2CD = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --dump
-PMC2CC = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --c
-
-# add your dynamic pmcs here
-PMC_TARGETS = \
- dynlexpad$(LOAD_EXT) \
- foo_group$(LOAD_EXT) \
- pccmethod_test$(LOAD_EXT) \
- rotest$(LOAD_EXT) \
-#IF(has_gdbm): gdbmhash$(LOAD_EXT) \
- rational$(LOAD_EXT) \
-#IF(has_crypto): digest_group$(LOAD_EXT) \
- subproxy$(LOAD_EXT)
-
-PMCS_DIGEST = \
- md2.pmc \
- md4.pmc \
- md5.pmc \
- ripemd160.pmc \
- sha.pmc \
- sha1.pmc \
- sha256.pmc \
- sha512.pmc
-
-OBJS_DIGEST = \
- md2$(O) \
- md4$(O) \
- md5$(O) \
- ripemd160$(O) \
- sha$(O) \
- sha1$(O) \
- sha256$(O) \
- sha512$(O)
-
-PMCS_FOO = \
- foo.pmc \
- foo2.pmc
-
-OBJS_FOO = \
- foo$(O) \
- foo2$(O)
-
-#IF(win32 and cc==gcc):LIB_GDBM = -llibgdbm
-#ELSIF(win32):LIB_GDBM = libgdbm.lib
-#ELSE:LIB_GDBM = -lgdbm
-
-#IF(win32 and cc==gcc):LIB_CRYPTO = -lcrypto
-#ELSIF(win32):LIB_CRYPTO = libcrypto.lib
-#ELSE:LIB_CRYPTO = -lcrypto
-
-CLEANUPS = \
- "*.c" \
- "pmc_*.h" \
- "*_group.h" \
- "*.dump" \
-#IF(o): "*@o@" \
-#IF(win32): "*.lib" \
-#IF(win32): "*.pdb" \
-#IF(win32): "*.ilk" \
-#IF(win32): "*.exp" \
-#IF(win32): "*.def" \
-#IF(win32): "*.manifest" \
-#IF(load_ext): "*@load_ext@"
-
-
-all : install
-
-install : $(PMC_TARGETS)
-#IF(cygwin or hpux): $(CHMOD) 0775 *$(LOAD_EXT)
- $(CP) *$(LOAD_EXT) $(INSTALL_DIR)
-#IF(cygwin or hpux): $(CHMOD) 0775 $(INSTALL_DIR)/*$(LOAD_EXT)
-
-Makefile: ../../config/gen/makefiles/dynpmc.in
- cd $(BUILD_DIR) && $(RECONFIGURE) --step=gen::makefiles --target=src/dynpmc/Makefile
-
-dynlexpad$(LOAD_EXT): dynlexpad$(O)
- $(LD) @ld_out at dynlexpad$(LOAD_EXT) dynlexpad$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-dynlexpad$(O): dynlexpad.c
- $(CC) -c @cc_o_out at dynlexpad$(O) $(INCLUDES) $(CFLAGS) dynlexpad.c
-
-dynlexpad.c: dynlexpad.dump
- $(PMC2CC) dynlexpad.pmc
-
-dynlexpad.dump: dynlexpad.pmc
- $(PMC2CD) dynlexpad.pmc
-
-foo_group$(LOAD_EXT): $(OBJS_FOO) lib-foo_group$(O)
- $(LD) @ld_out at foo_group$(LOAD_EXT) lib-foo_group$(O) $(OBJS_FOO) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-lib-foo_group$(O): foo_group.c
- $(CC) -c @cc_o_out at lib-foo_group$(O) $(INCLUDES) $(CFLAGS) foo_group.c
-
-foo_group.c: $(OBJS_FOO)
- $(PMC2C) --library foo_group --c $(PMCS_FOO)
-
-foo$(O): foo.c
- $(CC) -c @cc_o_out at foo$(O) $(INCLUDES) $(CFLAGS) foo.c
-
-foo.c: foo.dump
- $(PMC2CC) foo.pmc
-
-foo.dump: foo.pmc
- $(PMC2CD) foo.pmc
-
-foo2$(O): foo.c foo2.c
- $(CC) -c @cc_o_out at foo2$(O) $(INCLUDES) $(CFLAGS) foo2.c
-
-foo2.c: foo2.dump foo.pmc
- $(PMC2CC) foo2.pmc
-
-foo2.dump: foo2.pmc foo.dump
- $(PMC2CD) foo2.pmc
-
-pccmethod_test$(LOAD_EXT): pccmethod_test$(O)
- $(LD) @ld_out at pccmethod_test$(LOAD_EXT) pccmethod_test$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-pccmethod_test$(O): pccmethod_test.c
- $(CC) -c @cc_o_out at pccmethod_test$(O) $(INCLUDES) $(CFLAGS) pccmethod_test.c
-
-pccmethod_test.c: pccmethod_test.dump
- $(PMC2CC) pccmethod_test.pmc
-
-pccmethod_test.dump: pccmethod_test.pmc
- $(PMC2CD) pccmethod_test.pmc
-
-rotest$(LOAD_EXT): rotest$(O)
- $(LD) @ld_out at rotest$(LOAD_EXT) rotest$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-rotest$(O): rotest.c
- $(CC) -c @cc_o_out at rotest$(O) $(INCLUDES) $(CFLAGS) rotest.c
-
-rotest.c: rotest.dump
- $(PMC2CC) rotest.pmc
-
-rotest.dump: rotest.pmc
- $(PMC2CD) rotest.pmc
-
-gdbmhash$(LOAD_EXT): gdbmhash$(O)
- $(LD) @ld_out at gdbmhash$(LOAD_EXT) gdbmhash$(O) $(LINKARGS) $(LIB_GDBM)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-gdbmhash$(O): gdbmhash.c
- $(CC) -c @cc_o_out at gdbmhash$(O) $(INCLUDES) $(CFLAGS) gdbmhash.c
-
-gdbmhash.c: gdbmhash.dump
- $(PMC2CC) gdbmhash.pmc
-
-gdbmhash.dump: gdbmhash.pmc
- $(PMC2CD) gdbmhash.pmc
-
-rational$(LOAD_EXT): rational$(O)
- $(LD) @ld_out at rational$(LOAD_EXT) rational$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-rational$(O): rational.c
- $(CC) -c @cc_o_out at rational$(O) $(INCLUDES) $(CFLAGS) rational.c
-
-rational.c: rational.dump
- $(PMC2CC) rational.pmc
-
-rational.dump: rational.pmc
- $(PMC2CD) rational.pmc
-
-digest_group$(LOAD_EXT): $(OBJS_DIGEST) lib-digest_group$(O)
- $(LD) @ld_out at digest_group$(LOAD_EXT) lib-digest_group$(O) $(OBJS_DIGEST) $(LINKARGS) $(LIB_CRYPTO)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-lib-digest_group$(O): digest_group.c
- $(CC) -c @cc_o_out at lib-digest_group$(O) $(INCLUDES) $(CFLAGS) digest_group.c
-
-digest_group.c: $(OBJS_DIGEST)
- $(PMC2C) --library digest_group --c $(PMCS_DIGEST)
-
-md2$(O): md2.c
- $(CC) -c @cc_o_out at md2$(O) $(INCLUDES) $(CFLAGS) md2.c
-
-md2.c: md2.dump
- $(PMC2CC) md2.pmc
-
-md2.dump: md2.pmc
- $(PMC2CD) md2.pmc
-
-md4$(O): md4.c
- $(CC) -c @cc_o_out at md4$(O) $(INCLUDES) $(CFLAGS) md4.c
-
-md4.c: md4.dump
- $(PMC2CC) md4.pmc
-
-md4.dump: md4.pmc
- $(PMC2CD) md4.pmc
-
-md5$(O): md5.c
- $(CC) -c @cc_o_out at md5$(O) $(INCLUDES) $(CFLAGS) md5.c
-
-md5.c: md5.dump
- $(PMC2CC) md5.pmc
-
-md5.dump: md5.pmc
- $(PMC2CD) md5.pmc
-
-ripemd160$(O): ripemd160.c
- $(CC) -c @cc_o_out at ripemd160$(O) $(INCLUDES) $(CFLAGS) ripemd160.c
-
-ripemd160.c: ripemd160.dump
- $(PMC2CC) ripemd160.pmc
-
-ripemd160.dump: ripemd160.pmc
- $(PMC2CD) ripemd160.pmc
-
-sha$(O): sha.c
- $(CC) -c @cc_o_out at sha$(O) $(INCLUDES) $(CFLAGS) sha.c
-
-sha.c: sha.dump
- $(PMC2CC) sha.pmc
-
-sha.dump: sha.pmc
- $(PMC2CD) sha.pmc
-
-sha1$(O): sha1.c
- $(CC) -c @cc_o_out at sha1$(O) $(INCLUDES) $(CFLAGS) sha1.c
-
-sha1.c: sha1.dump
- $(PMC2CC) sha1.pmc
-
-sha1.dump: sha1.pmc
- $(PMC2CD) sha1.pmc
-
-sha256$(O): sha256.c
- $(CC) -c @cc_o_out at sha256$(O) $(INCLUDES) $(CFLAGS) sha256.c
-
-sha256.c: sha256.dump
- $(PMC2CC) sha256.pmc
-
-sha256.dump: sha256.pmc
- $(PMC2CD) sha256.pmc
-
-sha512$(O): sha512.c
- $(CC) -c @cc_o_out at sha512$(O) $(INCLUDES) $(CFLAGS) sha512.c
-
-sha512.c: sha512.dump
- $(PMC2CC) sha512.pmc
-
-sha512.dump: sha512.pmc
- $(PMC2CD) sha512.pmc
-
-subproxy$(LOAD_EXT): subproxy$(O)
- $(LD) @ld_out at subproxy$(LOAD_EXT) subproxy$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-subproxy$(O): subproxy.c
- $(CC) -c @cc_o_out at subproxy$(O) $(INCLUDES) $(CFLAGS) subproxy.c
-
-subproxy.c: subproxy.dump
- $(PMC2CC) subproxy.pmc
-
-subproxy.dump: subproxy.pmc
- $(PMC2CD) subproxy.pmc
-
-
-test : all
- cd ../.. && $(PERL) -Ilib t/harness t/dynpmc/*.t
-
-testclean :
- $(RM_F) "../../t/dynpmc/*.pir"
-
-clean :
- $(RM_F) $(CLEANUPS)
-
-realclean:
- $(RM_F) $(CLEANUPS) Makefile
-
-distclean: realclean
-
-# Local variables:
-# mode: makefile
-# End:
-# vim: ft=make:
Modified: branches/ops_pct/config/gen/makefiles/root.in
==============================================================================
--- branches/ops_pct/config/gen/makefiles/root.in Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/makefiles/root.in Wed May 5 08:45:29 2010 (r46302)
@@ -68,6 +68,7 @@
PERL = @perl@
CP = @cp@
+MV = @mv@
CHMOD = @chmod@
MKPATH = @mkpath@
RM_F = @rm_f@
@@ -84,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@
@@ -114,17 +115,19 @@
# generated by config/init/headers.pm
NONGEN_HEADERS = @TEMP_nongen_headers@
+# The headerizer
+HEADERIZER = $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl
+
+include src/dynpmc/Defines.mak
include src/dynoplibs/Defines.mak
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 compilers/opsc/Defines.mak
include ext/nqp-rx/Defines.mak
include compilers/data_json/Defines.mak
-include compilers/json/Defines.mak
###############################################################################
#
@@ -141,18 +144,17 @@
GEN_MAKEFILES = \
Makefile \
docs/Makefile \
- compilers/ncigen/Makefile \
editor/Makefile \
ext/Makefile \
src/dynoplibs/Rules.mak \
src/dynoplibs/Defines.mak \
- src/dynpmc/Makefile \
+ src/dynpmc/Rules.mak \
+ src/dynpmc/Defines.mak \
compilers/imcc/Rules.mak
GEN_CONFIGS = \
$(INC_DIR)/config.h \
$(INC_DIR)/platform.h \
- $(INC_DIR)/platform_interface.h \
$(INC_DIR)/platform_limits.h \
$(INC_DIR)/has_header.h \
$(INC_DIR)/feature.h \
@@ -168,28 +170,11 @@
#IF(has_opengl): src/glut_nci_thunks.nci \
#IF(has_glut): src/glut_callbacks.c \
src/core_pmcs.c \
-#IF(has_crypto): src/dynpmc/md2.pmc \
-#IF(has_crypto): src/dynpmc/md4.pmc \
-#IF(has_crypto): src/dynpmc/md5.pmc \
-#IF(has_crypto): src/dynpmc/ripemd160.pmc \
-#IF(has_crypto): src/dynpmc/sha.pmc \
-#IF(has_crypto): src/dynpmc/sha1.pmc \
-#IF(has_crypto): src/dynpmc/sha256.pmc \
-#IF(has_crypto): src/dynpmc/sha512.pmc \
-#IF(has_crypto): t/dynpmc/md2.t \
-#IF(has_crypto): t/dynpmc/md4.t \
-#IF(has_crypto): t/dynpmc/md5.t \
-#IF(has_crypto): t/dynpmc/ripemd160.t \
-#IF(has_crypto): t/dynpmc/sha.t \
-#IF(has_crypto): t/dynpmc/sha1.t \
-#IF(has_crypto): t/dynpmc/sha256.t \
-#IF(has_crypto): t/dynpmc/sha512.t \
- config_lib.pasm \
+ config_lib.pir \
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 \
@@ -210,6 +195,7 @@
runtime/parrot/include/stdio.pasm \
runtime/parrot/include/socket.pasm \
runtime/parrot/include/libpaths.pasm \
+ runtime/parrot/include/dlopenflags.pasm \
runtime/parrot/include/longopt.pasm \
runtime/parrot/include/packfile_segments.pasm \
runtime/parrot/include/packfile_constants.pasm \
@@ -253,23 +239,23 @@
GEN_HEADERS = \
$(INC_DIR)/vtable.h \
$(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/oplib/core_ops_switch.h \
$(INC_DIR)/extend_vtable.h \
$(INC_DIR)/pbcversion.h
GEN_SOURCES = \
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 \
- src/extend_vtable.c
+ src/extend_vtable.c \
+ src/extra_nci_thunks.c
GEN_MODULES = \
lib/Parrot/OpLib/core.pm
GEN_LIBRARY = \
+ $(LIBRARY_DIR)/Archive/Tar.pbc \
$(LIBRARY_DIR)/CGI/QueryHash.pbc \
$(LIBRARY_DIR)/Crow.pbc \
$(LIBRARY_DIR)/config.pbc \
@@ -293,7 +279,13 @@
#IF(has_opengl): $(LIBRARY_DIR)/OpenGL.pbc \
#IF(has_opengl): $(LIBRARY_DIR)/OpenGL_funcs.pbc \
#IF(has_opengl): $(LIBRARY_DIR)/OpenGL/Math.pbc \
+ $(LIBRARY_DIR)/osutils.pbc \
$(LIBRARY_DIR)/P6object.pbc \
+ $(LIBRARY_DIR)/ProfTest.pbc \
+ $(LIBRARY_DIR)/ProfTest/PIRProfile.pir \
+ $(LIBRARY_DIR)/ProfTest/NQPProfile.pir \
+ $(LIBRARY_DIR)/ProfTest/Matcher.pir \
+ $(LIBRARY_DIR)/ProfTest/Want.pir \
$(LIBRARY_DIR)/parrotlib.pbc \
$(LIBRARY_DIR)/pcore.pbc \
$(LIBRARY_DIR)/pcre.pbc \
@@ -316,6 +308,9 @@
$(LIBRARY_DIR)/Stream/Sub.pbc \
$(LIBRARY_DIR)/Stream/Writer.pbc \
$(LIBRARY_DIR)/String/Utils.pbc \
+ $(LIBRARY_DIR)/TAP/Formatter.pbc \
+ $(LIBRARY_DIR)/TAP/Harness.pbc \
+ $(LIBRARY_DIR)/TAP/Parser.pbc \
$(LIBRARY_DIR)/Test/Builder/Output.pbc \
$(LIBRARY_DIR)/Test/Builder/Test.pbc \
$(LIBRARY_DIR)/Test/Builder/Tester.pbc \
@@ -341,6 +336,10 @@
FLUID_FILES_2 = \
$(GEN_LIBRARY) \
+ $(LIBRARY_DIR)/ProfTest/PIRProfile.pbc \
+ $(LIBRARY_DIR)/ProfTest/NQPProfile.pbc \
+ $(LIBRARY_DIR)/ProfTest/Matcher.pbc \
+ $(LIBRARY_DIR)/ProfTest/Want.pbc \
runtime/parrot/include/parrotlib.pbc
@@ -406,12 +405,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@
@@ -435,10 +432,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) \
@@ -502,7 +496,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)
@@ -525,6 +518,7 @@
PIRC = . at slash@pirc$(EXE)
NQP_RX = . at slash@parrot-nqp$(EXE)
NCI_THUNK_GEN = . at slash@parrot_nci_thunk_gen$(EXE)
+TAPIR = . at slash@tapir$(EXE)
# Installable executables
INSTALLABLEPARROT = . at slash@installable_parrot$(EXE)
@@ -536,6 +530,7 @@
INSTALLABLECONFIG = . at slash@installable_parrot_config$(EXE)
INSTALLABLENQP = . at slash@installable_parrot-nqp$(EXE)
INSTALLABLENCITHUNKGEN = . at slash@installable_parrot_nci_thunk_gen$(EXE)
+INSTALLABLETAPIR = . at slash@installable_tapir$(EXE)
# Libraries
LIBPARROT_STATIC = @blib_dir@/@libparrot_static@
@@ -545,7 +540,7 @@
# This line controls whether a static or shared library is built
# by Parrot's make. It is not useful otherwise (e.g., in
-# lib/Parrot/Config/Generated.pm or config_lib.pasm).
+# lib/Parrot/Config/Generated.pm or config_lib.pir).
LIBPARROT = @libparrot_for_makefile_only@
#IF(has_icu):ICU_SHARED = @icu_shared@
@@ -576,10 +571,8 @@
.c$(O) : # suffix rule (limited support)
$(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) @cc_o_out@$@ -c $<
-.s$(O) : # suffix rule (limited support)
- $(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) @cc_o_out@$@ -c $<
-#UNLESS(win32).S$(O) : # suffix rule (limited support)
-#UNLESS(win32) $(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) @cc_o_out@$@ -c $<
+#UNLESS(win32):.s$(O) : # suffix rule (limited support)
+#UNLESS(win32): $(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) @cc_o_out@$@ -c $<
.pir.pbc : # suffix rule (limited support)
$(PARROT) -o $@ $<
@@ -617,7 +610,6 @@
$(TGE_LIB_PBCS) \
$(PGE_LIB_PBCS) \
$(PCT_LIB_PBCS) \
- $(JSON_LIB_PBCS) \
$(DATA_JSON_LIB_PBCS) \
$(NQP_LIB_PBCS) \
$(GEN_LIBRARY) \
@@ -630,7 +622,7 @@
runtime/parrot/include/parrotlib.pbc \
runtime/parrot/include/config.fpmc \
$(LIBRARY_DIR)/Test/More.pbc \
- dynpmc \
+ $(DYNPMC_TARGETS) \
$(DYNOPLIBS_TARGETS)
$(GEN_LIBRARY) : $(PARROT) $(GEN_PASM_INCLUDES)
@@ -680,6 +672,7 @@
H2INC = $(BUILD_TOOLS_DIR)/h2inc.pl
# classes PMC build utils and rules
+PMC2C = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl @no_lines_flag@
PMC2CD = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --dump @no_lines_flag@
PMC2CC = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --c @no_lines_flag@
PMC2CV = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --vtable @no_lines_flag@
@@ -768,15 +761,10 @@
@echo " svnclobber: *Dangerous*: remove everything not in svn."
@echo " reconfig: 'clean' and redo configuration."
@echo ""
- @echo "Dynamic PMCs:"
- @echo " dynpmc: Proxy for default target of src/dynpmc/Makefile"
- @echo " dynpmc-test: Proxy for target 'test' of src/dynpmc/Makefile"
- @echo " dynpmc-clean: Proxy for target 'clean' of src/dynpmc/Makefile"
- @echo ""
@echo "Fetch from source repository:"
@echo " update: svn update."
@echo " status: svn status."
- @echo " patch: Create a patch to attach to https:////trac.parrot.org/"
+ @echo " patch: Create a patch to attach to https://trac.parrot.org/"
@echo ""
@echo "Development:"
@echo " lint: An alias for sunlint."
@@ -785,11 +773,12 @@
@echo " splint: Code checking with splint."
@echo " splint-all: Splint all of Parrot, for the masochist only."
@echo " headerizer: Recreate header files for C-source files"
- @echo " apilist: Show list of PARROT_EXPORT functions"
+ @echo " apilist: Show list of PARROT_API functions"
+ @echo " exportlist: Show list of PARROT_EXPORT functions"
@echo " malloclist: Show list of PARROT_MALLOC functions"
@echo " cover: Run test suite coverage analysis."
@echo " tags-vi: Create tags for the vi editor."
- @echo " tags-emacs: Create tags for the EMACS editor."
+ @echo " tags-emacs: Create tags for the Emacs editor."
@echo " perlcritic: Check Perl code with Perl::Critic."
@echo ""
@echo "Release:"
@@ -802,9 +791,9 @@
world : all parrot_utils
-parrot_utils : $(PDUMP) $(DIS) $(PDB) $(PBC_MERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) src/install_config$(O)
+parrot_utils : $(PDUMP) $(DIS) $(PDB) $(PBC_MERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) src/install_config$(O) $(TAPIR)
-installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN)
+installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN) $(INSTALLABLETAPIR)
bootstrap-ops : opsc
$(NQP_RX) compilers/opsc/ops2c.nqp
@@ -817,8 +806,9 @@
runtime/parrot/include/parrotlib.pbc: runtime/parrot/library/parrotlib.pir $(PARROT) $(GEN_PASM_INCLUDES)
$(PARROT) -o $@ runtime/parrot/library/parrotlib.pir
-runtime/parrot/include/config.fpmc : myconfig config_lib.pasm $(MINIPARROT)
- $(MINIPARROT) config_lib.pasm > $@
+runtime/parrot/include/config.fpmc : myconfig config_lib.pir \
+ runtime/parrot/include/datatypes.pasm $(MINIPARROT)
+ $(MINIPARROT) -Iruntime/parrot/include config_lib.pir > $@
$(PARROT) : src/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
lib/Parrot/OpLib/core.pm src/parrot_config$(O) \
@@ -828,7 +818,7 @@
@rpath_blib@ $(ALL_PARROT_LIBS) $(LINKFLAGS) $(LINK_DYNAMIC)
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
-$(PBC_TO_EXE) : tools/dev/pbc_to_exe.pir runtime/parrot/library/config.pir $(PARROT)
+$(PBC_TO_EXE) : tools/dev/pbc_to_exe.pir runtime/parrot/library/config.pir $(PARROT) $(DYNEXT_DIR)/os$(LOAD_EXT)
$(PARROT) -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir
$(PARROT) pbc_to_exe.pbc pbc_to_exe.pbc
@@ -838,6 +828,12 @@
$(NCI_THUNK_GEN) : parrot_nci_thunk_gen.pbc $(PBC_TO_EXE)
$(PBC_TO_EXE) parrot_nci_thunk_gen.pbc
+tapir.pbc : tools/dev/tapir.pir $(PARROT)
+ $(PARROT) -o tapir.pbc tools/dev/tapir.pir
+
+$(TAPIR) : tapir.pbc $(PARROT) $(PBC_TO_EXE)
+ $(PBC_TO_EXE) tapir.pbc
+
$(PARROT_CONFIG) : tools/util/parrot-config.pir $(PARROT) $(PBC_TO_EXE)
$(PARROT) -o parrot_config.pbc tools/util/parrot-config.pir
$(PARROT) pbc_to_exe.pbc parrot_config.pbc
@@ -858,7 +854,7 @@
$(INC_DIR)/context.h : include/pmc/pmc_callcontext.h
-$(INC_DIR)/pbcversion.h :
+$(INC_DIR)/pbcversion.h : PBC_COMPAT
$(PERL) $(BUILD_TOOLS_DIR)/pbcversion_h.pl > $(INC_DIR)/pbcversion.h
src/parrot_config.c : runtime/parrot/include/config.fpmc \
@@ -875,32 +871,37 @@
$(PERL) $(BUILD_TOOLS_DIR)/parrot_config_c.pl --mini > \
src/null_config.c
-install_config.fpmc : myconfig config_lib.pasm $(PARROT)
+install_config.fpmc : myconfig config_lib.pir $(PARROT)
@echo "Invoking Parrot to generate install_config.fpmc"
- $(PARROT) config_lib.pasm --install > $@
+ $(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) \
@@ -953,11 +954,15 @@
$(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) src/install_config$(O)
+ $(PBC_TO_EXE) tapir.pbc --install
+
#
# Parrot Debugger
#
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 +992,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 +1011,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 +1021,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)
@@ -1044,6 +1051,46 @@
@rpath_lib@ $(ALL_PARROT_LIBS) $(LINKFLAGS)
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
+#
+# Profiling runcore test supporting code
+#
+
+$(LIBRARY_DIR)/ProfTest.pbc: $(LIBRARY_DIR)/ProfTest/PIRProfile.pbc \
+ $(LIBRARY_DIR)/ProfTest/NQPProfile.pbc $(LIBRARY_DIR)/ProfTest/Matcher.pbc \
+ $(LIBRARY_DIR)/ProfTest/Want.pbc
+ $(PBC_MERGE) -o $@ $(LIBRARY_DIR)/ProfTest/PIRProfile.pbc \
+ $(LIBRARY_DIR)/ProfTest/NQPProfile.pbc $(LIBRARY_DIR)/ProfTest/Matcher.pbc \
+ $(LIBRARY_DIR)/ProfTest/Want.pbc
+
+
+$(LIBRARY_DIR)/ProfTest/PIRProfile.pbc: $(LIBRARY_DIR)/ProfTest/PIRProfile.pir
+ $(PARROT) -o $@ $(LIBRARY_DIR)/ProfTest/PIRProfile.pir
+
+$(LIBRARY_DIR)/ProfTest/PIRProfile.pir: $(LIBRARY_DIR)/ProfTest/PIRProfile.nqp $(NQP_RX)
+ $(NQP_RX) --target=pir $(LIBRARY_DIR)/ProfTest/PIRProfile.nqp > $@
+
+
+$(LIBRARY_DIR)/ProfTest/NQPProfile.pbc: $(LIBRARY_DIR)/ProfTest/NQPProfile.pir
+ $(PARROT) -o $@ $(LIBRARY_DIR)/ProfTest/NQPProfile.pir
+
+$(LIBRARY_DIR)/ProfTest/NQPProfile.pir: $(LIBRARY_DIR)/ProfTest/NQPProfile.nqp $(NQP_RX)
+ $(NQP_RX) --target=pir $(LIBRARY_DIR)/ProfTest/NQPProfile.nqp > $@
+
+
+$(LIBRARY_DIR)/ProfTest/Want.pbc: $(LIBRARY_DIR)/ProfTest/Want.pir
+ $(PARROT) -o $@ $(LIBRARY_DIR)/ProfTest/Want.pir
+
+$(LIBRARY_DIR)/ProfTest/Want.pir: $(LIBRARY_DIR)/ProfTest/Want.nqp $(NQP_RX)
+ $(NQP_RX) --target=pir $(LIBRARY_DIR)/ProfTest/Want.nqp > $@
+
+
+$(LIBRARY_DIR)/ProfTest/Matcher.pbc: $(LIBRARY_DIR)/ProfTest/Matcher.pir
+ $(PARROT) -o $@ $(LIBRARY_DIR)/ProfTest/Matcher.pir
+
+$(LIBRARY_DIR)/ProfTest/Matcher.pir: $(LIBRARY_DIR)/ProfTest/Matcher.nqp $(NQP_RX)
+ $(NQP_RX) --target=pir $(LIBRARY_DIR)/ProfTest/Matcher.nqp > $@
+
+
###############################################################################
#
@@ -1094,6 +1141,9 @@
runtime/parrot/include/libpaths.pasm : $(INC_DIR)/library.h $(H2INC)
$(PERL) $(H2INC) $(INC_DIR)/library.h $@
+runtime/parrot/include/dlopenflags.pasm : $(INC_DIR)/platform_interface.h $(H2INC)
+ $(PERL) $(H2INC) $(INC_DIR)/platform_interface.h $@
+
runtime/parrot/include/datatypes.pasm : $(INC_DIR)/datatypes.h $(H2INC)
$(PERL) $(H2INC) $(INC_DIR)/datatypes.h $@
@@ -1179,59 +1229,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 \
@@ -1239,26 +1289,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 \
@@ -1266,14 +1317,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 \
@@ -1282,25 +1334,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 \
@@ -1314,6 +1371,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 \
@@ -1326,33 +1385,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 \
@@ -1365,20 +1434,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 \
@@ -1391,55 +1462,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 \
@@ -1449,22 +1520,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/dynpmc/subproxy$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/extend.h \
- $(INC_DIR)/dynext.h include/pmc/pmc_subproxy.h \
- include/pmc/pmc_sub.h include/pmc_default.h \
- include/pmc/pmc_continuation.h include/pmc/pmc_callcontext.h \
- include/pmc/pmc_default.h
+src/gc/malloc_trace$(O) : src/gc/malloc.c src/gc/malloc_trace.c
-src/gc/malloc_trace$(O) : src/gc/malloc.c
+src/packfile/pf_items$(O) : $(PARROT_H_HEADERS) src/packfile/pf_items.c
-src/packfile/pf_items$(O) : $(PARROT_H_HEADERS)
-
-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
@@ -1484,41 +1551,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@
@@ -1575,23 +1607,11 @@
htmlhelp-clean :
$(MAKE) docs htmlhelp-clean
-###############################################################################
-#
-# dynamic PMC targets:
-#
-###############################################################################
-
-dynpmc : dynpmc.dummy
+pdf:
+ $(MAKE) docs pdf
-# XXX this dependancy is too broad, and should be narrowed down
-dynpmc.dummy : $(PARROT) $(INC_DIR)/parrot.h $(INC_DIR)/extend.h $(INC_DIR)/dynext.h $(PMC2C_FILES)
- $(MAKE) src/dynpmc
-
-dynpmc-test : $(PARROT) $(INC_DIR)/parrot.h $(INC_DIR)/extend.h $(INC_DIR)/dynext.h
- $(MAKE) src/dynpmc test
-
-dynpmc-clean :
- $(MAKE) src/dynpmc clean
+pdf-clean:
+ $(MAKE) docs pdf-clean
###############################################################################
#
@@ -1669,16 +1689,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
@@ -1696,20 +1712,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 \
@@ -1720,10 +1733,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)
@@ -1744,18 +1753,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)
@@ -1824,20 +1821,20 @@
dynext-clean \
#IF(has_perldoc): docs-clean \
#IF(has_perldoc): html-clean \
- dynpmc-clean \
examples-clean \
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_RF) runtime/parrot/languages/data_json
+ $(RM_F) $(NQP_CLEANUPS) $(PGE_CLEANUPS) $(TGE_CLEANUPS)
$(RM_F) $(PIRC_CLEANUPS) $(PCT_CLEANUPS) $(DATA_JSON_CLEANUPS)
- $(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES) $(DYNOPLIBS_CLEANUPS)
+ $(RM_F) $(DYNOPLIBS_CLEANUPS) $(DYNPMC_CLEANUPS)
+ $(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES)
prog-clean :
$(RM_F) \
@@ -1854,8 +1851,10 @@
$(INSTALLABLECONFIG) \
$(INSTALLABLENQP) \
$(INSTALLABLENCITHUNKGEN) \
+ $(INSTALLABLETAPIR) \
pbc_to_exe.pbc pbc_to_exe.c pbc_to_exe$(O) pbc_to_exe$(EXE) \
$(NCI_THUNK_GEN) parrot_nci_thunk_gen.c parrot_nci_thunk_gen$(O) parrot_nci_thunk_gen.pbc \
+ tapir.pbc tapir.c tapir$(O) tapir$(EXE) \
parrot_config$(EXE) parrot_config.c parrot_config$(O) parrot_config.pbc \
compilers/imcc/main$(O) \
$(PDUMP) src/pbc_dump$(O) src/packdump$(O) \
@@ -1881,7 +1880,7 @@
src/string/private_cstring.h "src/pmc/*.c" "include/pmc/pmc_*.h" \
"src/pmc/*.dump" vtable.dump "*.def" "*.lib" "*.exp"
-archclean: dynpmc-clean dynext-clean
+archclean: dynext-clean
$(RM_F) \
$(O_FILES) \
$(GEN_CONFIGS) \
@@ -2092,7 +2091,8 @@
rm -f *.ln
$(LINT) $(CC_INC) "-Iinclude/pmc" $(BSD_LINT_FLAGS) $(BSD_LINT_EXCLUSIONS) $(LINTABLE_CFILES)
-# For checking with splint see also http:////www.perlfoundation.org//parrot//index.cgi?splint
+# For checking with splint see also
+# http:////trac.parrot.org/parrot/wiki/splint
# Splint: http:////splint.org
SPLINT = splint
@@ -2104,7 +2104,7 @@
# The dashes in the names don't make any difference to Splint, but I've
# made them match how they are in the manual. Otherwise, you might be
# looking for "declundef", except that it's "decl-undef" in the docs.
-SPLINTFLAGS = \
+SPLINTFLAGS_BASE = \
+standard \
-hints \
\
@@ -2126,14 +2126,16 @@
+show-scan \
+time-dist \
\
+ +cpp-names \
+ansi-reserved \
+ansi-reserved-internal \
-iso-reserved \
-iso-reserved-internal \
- -include-nest 10
+ -include-nest 10 \
# Memory safety checks
-SPLINTFLAGS = $(SPLINTFLAGS) \
+# Transfer errors (-mem-trans) are too tough for us right now
+SPLINTFLAGS_MEMORY_SAFETY = \
+bufferoverflow \
+bufferoverflowhigh \
+read-only-strings \
@@ -2141,9 +2143,19 @@
+strict-destroy \
+strict-use-released \
+use-released \
+ -must-free \
+ -mustfreefresh \
+ -mustfreeonly \
+ +null \
+ +nullptrarith \
+ +nullret \
+ -ptr-arith \
+ +ptr-negate \
+ -zero-ptr \
+ -mem-trans
# Macro safety checks
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_MACRO_SAFETY = \
+macro-assign \
+macro-empty \
+macro-parens \
@@ -2152,63 +2164,44 @@
+macro-unrecog \
# Watch for unsafe comparisons
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_UNSAFE_COMPARISONS = \
+bool-compare \
+ptr-compare \
+real-compare \
+unsigned-compare
# But allow us some slop in boolean comparisons
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_BOOLEAN_SLOP = \
-pred-bool-int \
-pred-bool-ptr \
-pred-bool-others \
-boolops \
-# Report qualifier mismatches only if dangerous
-SPLINTFLAGS = $(SPLINTFLAGS) \
+# const and other qualifiers
+# Report qualifier mismatches only if dangerous (+relax-quals)
+SPLINTFLAGS_QUALIFIERS = \
+relax-quals
-# Memory checking
-SPLINTFLAGS = $(SPLINTFLAGS) \
- -must-free \
- -mustfreefresh \
- -mustfreeonly \
- +null \
- +nullptrarith \
- +nullret \
- -ptr-arith \
- +ptr-negate \
- -zero-ptr \
-
-# Transfer errors are too tough for us right now
-SPLINTFLAGS = $(SPLINTFLAGS) \
- -mem-trans
-
# Symbol definitions
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_SYMBOL_DEFINITIONS = \
+decl-undef \
+incon-defs \
+incon-defs-lib \
-# Check for conflicts with C++ compilers
-SPLINTFLAGS = $(SPLINTFLAGS) \
- +cpp-names \
-
# Format codes
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_FORMAT = \
+format-code \
+format-type \
# Problems with evaluation and control structions
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_EVALUATION = \
+controlnestdepth 15 \
- +duplicate-case \
+ +duplicate-quals \
+eval-order \
+eval-order-uncon \
# Types and stuff
-SPLINTFLAGS = $(SPLINTFLAGS) \
+SPLINTFLAGS_TYPES = \
+char-index \
+char-int \
+enum-members \
@@ -2227,13 +2220,27 @@
# added to splint target to simplify experimentation,
# example: make SPLINTFLAGS_TEST='-posixstrictlib +posixlib' splint
+SPLINTFLAGS_TEST =
+
+SPLINTFLAGS = \
+ $(SPLINTFLAGS_BASE) \
+ $(SPLINTFLAGS_MEMORY_SAFETY) \
+ $(SPLINTFLAGS_MACRO_SAFETY) \
+ $(SPLINTFLAGS_UNSAFE_COMPARISONS) \
+ $(SPLINTFLAGS_BOOLEAN_SLOP) \
+ $(SPLINTFLAGS_QUALIFIERS) \
+ $(SPLINTFLAGS_SYMBOL_DEFINITIONS) \
+ $(SPLINTFLAGS_FORMAT) \
+ $(SPLINTFLAGS_EVALUATION) \
+ $(SPLINTFLAGS_TYPES) \
+
SPLINT_SOURCE = `echo $(O_FILES) | $(PERL) -pe @PQ at s/\.o/\.c/g at PQ@`
splint-all : $(PARROT)
$(MKPATH) $(SPLINT_TMP)
- $(SPLINT) $(CC_INC) "-Iinclude/pmc" "-Icompilers/ast" $(SPLINTFLAGS) $(SPLINTFLAGS_TEST) \
+ $(SPLINT) $(CC_INC) "-Iinclude/pmc" "-Icompilers/ast" $(SPLINTFLAGS) \
$(SPLINT_SOURCE) \
- $(SPLINT) $(CC_INC) $(SPLINTFLAGS) $(SPLINTFLAGS_TEST) compilers/imcc/main.c
+ $(SPLINT) $(CC_INC) $(SPLINTFLAGS) compilers/imcc/main.c
# "splint" is the less-thorough splint target. For cage cleaning work,
# you'll probably want to specify SPLINT_SOURCE rather than work on the
@@ -2242,7 +2249,7 @@
splint : all
$(MKPATH) $(SPLINT_TMP)
- $(SPLINT) $(CC_INC) "-Iinclude/pmc" "-Icompilers/ast" $(SPLINTFLAGS) $(SPLINTFLAGS_TEST) \
+ $(SPLINT) $(CC_INC) "-Iinclude/pmc" "-Icompilers/ast" $(SPLINTFLAGS) \
+partial -DNDEBUG \
$(SPLINT_SOURCE) \
| grep -v 'Source code error generation point'
@@ -2270,16 +2277,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 \
@@ -2302,9 +2305,6 @@
cover-testb: cover.dummy
- at make@ testb
-cover-testC: cover.dummy
- - at make@ testC
-
cover-testf: cover.dummy
- at make@ testf
@@ -2317,9 +2317,6 @@
cover-testr: cover.dummy
- at make@ testr
-cover-testS: cover.dummy
- - at make@ testS
-
cover-src: cover.dummy
- at make@ src_tests
@@ -2332,9 +2329,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
@@ -2373,6 +2367,7 @@
--destdir=$(DESTDIR) \
--docdir=$(DOC_DIR) \
--versiondir=$(VERSION_DIR) \
+ --pkgconfigdir=@PKGCONFIG_DIR@ \
MANIFEST MANIFEST.generated
install-dev-only: installable
@@ -2412,6 +2407,8 @@
grep -v DEVELOPING MANIFEST.real > MANIFEST
$(PERL) -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' MANIFEST | \
tar -zcv -T - -f parrot-$(VERSION).tar.gz
+ $(PERL) -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' \
+ MANIFEST | tar -jcv -T - -f parrot-$(VERSION).tar.bz2
mv MANIFEST.real MANIFEST
rm parrot-$(VERSION)
@@ -2440,7 +2437,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) \
@@ -2449,7 +2447,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) \
@@ -2461,7 +2461,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)
@@ -2478,7 +2479,7 @@
--links=no --totals \
-R --exclude=blib --exclude=.svn \
--languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
- -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK \
+ -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
.
# this works with an old etags (XEmacs 21.5*)
@@ -2495,11 +2496,11 @@
tags-vi: tags.vi.dummy
$(RM_F) tags
@ctags@ \
- --links=no --totals \
- -R --exclude=blib --exclude=.svn \
- --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
- -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK \
- .
+ --links=no --totals \
+ -R --exclude=blib --exclude=.svn \
+ --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
+ -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
+ .
$(PERL) $(BUILD_TOOLS_DIR)/addopstags.pl $(OPS_FILES)
tags.vi.dummy:
@@ -2511,6 +2512,7 @@
# Andy's extra-cranky Perl::Critic checking for cage cleaners
cagecritic:
+ @perl -MPerl::Critic::Bangs -e'$$min=q{1.04};die qq{You need Bangs $$min} unless $$Perl::Critic::Bangs::VERSION ge $$min'
perlcritic -1 --profile tools/util/perlcritic-cage.conf $(CRITIC_FILES)
# This target will eventually create all the headers automatically. If you
@@ -2520,30 +2522,33 @@
HEADERIZER_O_FILES = \
$(O_FILES) \
+ src/main$(O) \
src/packdump$(O) \
src/pbc_merge$(O) \
$(PIRC_O_FILES)
headerizer : src/core_pmcs.c
- $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl $(HEADERIZER_O_FILES) compilers/imcc/imcc.y
+ $(HEADERIZER) $(HEADERIZER_O_FILES) compilers/imcc/imcc.y
apilist: src/core_pmcs.c
- $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl --macro=PARROT_EXPORT $(HEADERIZER_O_FILES)
+ $(HEADERIZER) --macro=PARROT_API $(HEADERIZER_O_FILES)
+
+exportlist: src/core_pmcs.c
+ $(HEADERIZER) --macro=PARROT_EXPORT $(HEADERIZER_O_FILES)
malloclist: src/core_pmcs.c
- $(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl --macro=PARROT_MALLOC $(HEADERIZER_O_FILES)
+ $(HEADERIZER) --macro=PARROT_MALLOC $(HEADERIZER_O_FILES)
+include src/dynpmc/Rules.mak
include src/dynoplibs/Rules.mak
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/opsc/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/ops_pct/config/gen/opengl.pm
==============================================================================
--- branches/ops_pct/config/gen/opengl.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/opengl.pm Wed May 5 08:45:29 2010 (r46302)
@@ -516,6 +516,7 @@
# "$ENV{HOME}/src/osx-insane/usr/X11/include/GL/*.h",
# "$ENV{HOME}/src/osx-insane/usr/X11/include/GL/internal/*.h",
# "$ENV{HOME}/src/osx-insane/usr/X11R6 1/include/GL/*.h",
+# "$ENV{HOME}/src/osx-10.6.3/Headers/*.h",
);
# X freeglut only if DISPLAY is set, otherwise use native w32api GLUT
@@ -663,6 +664,9 @@
next if /^#/;
next if /\btypedef\b/;
+ # Work around bug in Mac OS X headers (glext.h as of 10.6.3, at least)
+ next if /^\s*extern\s+\w+\s+\(\*\s+/;
+
# Skip where we are explicitly told to do so
next if /\bFGUNUSED\b/;
Modified: branches/ops_pct/config/gen/platform.pm
==============================================================================
--- branches/ops_pct/config/gen/platform.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform.pm Wed May 5 08:45:29 2010 (r46302)
@@ -25,7 +25,6 @@
my %data;
$data{description} = q{Move platform files into place};
$data{result} = q{};
- $data{platform_interface} = q{config/gen/platform/platform_interface.h};
$data{coda} = <<'CODA';
/*
* Local variables:
@@ -52,10 +51,6 @@
$self->_handle_asm($conf);
- # interface is the same for all platforms
- copy_if_diff( $self->{platform_interface},
- "include/parrot/platform_interface.h" );
-
$self->_set_limits($conf, $verbose);
return 1;
Modified: branches/ops_pct/config/gen/platform/ansi/dl.c
==============================================================================
--- branches/ops_pct/config/gen/platform/ansi/dl.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/ansi/dl.c Wed May 5 08:45:29 2010 (r46302)
@@ -23,14 +23,15 @@
/*
-=item C<void * Parrot_dlopen(const char *filename)>
+=item C<void * Parrot_dlopen(const char *filename, SHIM(Parrot_dlopen_flags
+flags)>
=cut
*/
void *
-Parrot_dlopen(const char *filename)
+Parrot_dlopen(const char *filename, SHIM(Parrot_dlopen_flags flags))
{
Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG, "Parrot_dlopen not implemented");
return NULL;
Modified: branches/ops_pct/config/gen/platform/generic/dl.c
==============================================================================
--- branches/ops_pct/config/gen/platform/generic/dl.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/generic/dl.c Wed May 5 08:45:29 2010 (r46302)
@@ -29,17 +29,18 @@
/*
-=item C<void * Parrot_dlopen(const char *filename)>
+=item C<void * Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags)>
=cut
*/
void *
-Parrot_dlopen(const char *filename)
+Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags)
{
#ifdef PARROT_HAS_HEADER_DLFCN
- return dlopen(filename, PARROT_DLOPEN_FLAGS);
+ return dlopen(filename, PARROT_DLOPEN_FLAGS
+ | ((flags & Parrot_dlopen_global_FLAG) ? RTLD_GLOBAL : 0));
#else
return 0;
#endif
Modified: branches/ops_pct/config/gen/platform/generic/env.c
==============================================================================
--- branches/ops_pct/config/gen/platform/generic/env.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/generic/env.c Wed May 5 08:45:29 2010 (r46302)
@@ -37,8 +37,8 @@
void
Parrot_setenv(PARROT_INTERP, STRING *str_name, STRING *str_value)
{
- char *name = Parrot_str_to_cstring(interp, str_name);
- char *value = Parrot_str_to_cstring(interp, str_value);
+ char * const name = Parrot_str_to_cstring(interp, str_name);
+ char * const value = Parrot_str_to_cstring(interp, str_value);
#ifdef PARROT_HAS_SETENV
setenv(name, value, 1);
#else
@@ -74,7 +74,7 @@
void
Parrot_unsetenv(PARROT_INTERP, STRING *str_name)
{
- char *name = Parrot_str_to_cstring(interp, str_name);
+ char * const name = Parrot_str_to_cstring(interp, str_name);
#ifdef PARROT_HAS_UNSETENV
unsetenv(name);
#else
@@ -96,8 +96,8 @@
char *
Parrot_getenv(PARROT_INTERP, STRING *str_name)
{
- char *name = Parrot_str_to_cstring(interp, str_name);
- char *value = getenv(name);
+ char * const name = Parrot_str_to_cstring(interp, str_name);
+ char *value = getenv(name);
Parrot_str_free_cstring(name);
return value;
}
Modified: branches/ops_pct/config/gen/platform/generic/exec.c
==============================================================================
--- branches/ops_pct/config/gen/platform/generic/exec.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/generic/exec.c Wed May 5 08:45:29 2010 (r46302)
@@ -55,7 +55,7 @@
else {
/* child */
char * const cmd = Parrot_str_to_cstring(interp, command);
- int status = execlp("sh", "sh", "-c", cmd, (void *)NULL);
+ const int status = execlp("sh", "sh", "-c", cmd, (void *)NULL);
/* if we get here, something's horribly wrong, but free anyway... */
Parrot_str_free_cstring(cmd);
Modified: branches/ops_pct/config/gen/platform/generic/itimer.c
==============================================================================
--- branches/ops_pct/config/gen/platform/generic/itimer.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/generic/itimer.c Wed May 5 08:45:29 2010 (r46302)
@@ -1,6 +1,6 @@
/*
+ * Copyright (C) 2004-2010, Parrot Foundation.
* $Id$
- * Copyright (C) 2004-2009, Parrot Foundation.
*/
/*
@@ -77,7 +77,7 @@
*/
int
-get_sys_timer_ms(void *handle)
+get_sys_timer_ms(SHIM(void *handle))
{
struct itimerval ots;
getitimer(ITIMER_REAL, &ots);
Deleted: branches/ops_pct/config/gen/platform/platform_interface.h
==============================================================================
--- branches/ops_pct/config/gen/platform/platform_interface.h Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,127 +0,0 @@
-/*
- * $Id$
- * Copyright (C) 2003-2008, Parrot Foundation.
- */
-
-#ifndef PARROT_PLATFORM_INTERFACE_H_GUARD
-#define PARROT_PLATFORM_INTERFACE_H_GUARD
-/*
-** platform_interface.h
-*/
-#include "parrot/config.h"
-#include "parrot/interpreter.h"
-
-/*
-** I/O:
-*/
-
-
-/*
-** Math:
-*/
-
-extern int Parrot_signbit(double x);
-#if NUMVAL_SIZE == 12
-int Parrot_signbit_l(long double x);
-#endif
-
-/*
-** Memory:
-*/
-
-void *Parrot_memalign(size_t align, size_t size);
-void *Parrot_memalign_if_possible(size_t align, size_t size);
-void Parrot_free_memalign(void *);
-
-#if !defined(PARROT_HAS_SOME_MEMALIGN)
-# define Parrot_memalign_if_possible(a, s) malloc(s)
-#else
-# define Parrot_memalign_if_possible(a, s) Parrot_memalign((a), (s))
-#endif
-
-#ifdef PARROT_HAS_EXEC_PROTECT
-void *mem_alloc_executable(size_t);
-void mem_free_executable(void *, size_t);
-void *mem_realloc_executable(void *, size_t, size_t);
-#else
-# define mem_alloc_executable mem_internal_allocate
-# define mem_free_executable(a, b) mem_internal_free(a)
-# define mem_realloc_executable(a, b, c) mem_internal_realloc((a), (c))
-#endif
-
-/*
-** Time
-*/
-
-void Parrot_sleep(unsigned int seconds);
-void Parrot_usleep(unsigned int microseconds);
-INTVAL Parrot_intval_time(void);
-FLOATVAL Parrot_floatval_time(void);
-struct tm * Parrot_gmtime_r(const time_t *, struct tm *);
-struct tm * Parrot_localtime_r(const time_t *, struct tm *);
-char* Parrot_asctime_r(const struct tm*, char *);
-
-/*
- * Env
- */
-
-void Parrot_setenv(PARROT_INTERP, STRING *name, STRING *value);
-void Parrot_unsetenv(PARROT_INTERP, STRING *name);
-char * Parrot_getenv(PARROT_INTERP, STRING *name);
-
-/*
-** Dynamic Loading:
-*/
-
-void *Parrot_dlopen(const char *filename);
-const char *Parrot_dlerror(void);
-void *Parrot_dlsym(void *handle, const char *symbol);
-int Parrot_dlclose(void *handle);
-
-/*
- * signal handling
- */
-#ifndef PARROT_HAS_HEADER_SIGNAL
-# define Parrot_set_sighandler(s, h)
-#endif
-
-/*
- * system timer
- */
-
-#ifdef PARROT_HAS_SOME_SYS_TIMER
-
-void * new_sys_timer_ms(void);
-void start_sys_timer_ms(void *handle, int ms);
-void stop_sys_timer_ms(void *handle);
-int get_sys_timer_ms(void *handle);
-
-#else
-
-# define new_sys_timer_ms() NULL
-# define start_sys_timer_ms(h, m)
-# define stop_sys_timer_ms(h)
-# define get_sys_timer_ms(h) 0
-
-#endif
-
-/*
- * high-resolution timer support
- */
-
-UHUGEINTVAL Parrot_hires_get_time(void);
-UINTVAL Parrot_hires_get_tick_duration(void);
-
-
-struct parrot_string_t;
-INTVAL Parrot_Run_OS_Command(Interp*, struct parrot_string_t *);
-INTVAL Parrot_Run_OS_Command_Argv(Interp*, struct PMC *);
-
-#endif /* PARROT_PLATFORM_INTERFACE_H_GUARD */
-
-/*
- * Local variables:
- * c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */
Modified: branches/ops_pct/config/gen/platform/win32/dl.c
==============================================================================
--- branches/ops_pct/config/gen/platform/win32/dl.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/win32/dl.c Wed May 5 08:45:29 2010 (r46302)
@@ -23,7 +23,7 @@
/*
-=item C<void * Parrot_dlopen(const char *filename)>
+=item C<void * Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags)>
Opens a dynamic library, and returns a system handle to that library.
Returns Parrot_dlerror() on failure.
@@ -33,7 +33,7 @@
*/
void *
-Parrot_dlopen(const char *filename)
+Parrot_dlopen(const char *filename, SHIM(Parrot_dlopen_flags flags))
{
return LoadLibrary(filename);
}
Modified: branches/ops_pct/config/gen/platform/win32/env.c
==============================================================================
--- branches/ops_pct/config/gen/platform/win32/env.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/win32/env.c Wed May 5 08:45:29 2010 (r46302)
@@ -46,8 +46,8 @@
void
Parrot_setenv(PARROT_INTERP, STRING *str_name, STRING *str_value)
{
- char * name = Parrot_str_to_cstring(interp, str_name);
- char * value = Parrot_str_to_cstring(interp, str_value);
+ char * const name = Parrot_str_to_cstring(interp, str_name);
+ char * const value = Parrot_str_to_cstring(interp, str_value);
assert(name != NULL);
assert(value != NULL);
@@ -99,9 +99,9 @@
char *
Parrot_getenv(PARROT_INTERP, ARGIN(STRING *str_name))
{
- char *name = Parrot_str_to_cstring(interp, str_name);
- const DWORD size = GetEnvironmentVariable(name, NULL, 0);
- char *buffer = NULL;
+ char * const name = Parrot_str_to_cstring(interp, str_name);
+ const DWORD size = GetEnvironmentVariable(name, NULL, 0);
+ char *buffer = NULL;
if (size == 0) {
Parrot_str_free_cstring(name);
Modified: branches/ops_pct/config/gen/platform/win32/exec.c
==============================================================================
--- branches/ops_pct/config/gen/platform/win32/exec.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/gen/platform/win32/exec.c Wed May 5 08:45:29 2010 (r46302)
@@ -41,10 +41,9 @@
DWORD status = 0;
STARTUPINFO si;
PROCESS_INFORMATION pi;
- int free_it = 0;
- char* cmd = (char *)mem_sys_allocate(command->strlen + 4);
- char* shell = Parrot_getenv(interp, Parrot_str_new(interp, "ComSpec", strlen("ComSpec")));
- char* cmdin = Parrot_str_to_cstring(interp, command);
+ char* const cmd = (char *)mem_sys_allocate(command->strlen + 4);
+ char* const shell = Parrot_getenv(interp, Parrot_str_new(interp, "ComSpec", strlen("ComSpec")));
+ char* const cmdin = Parrot_str_to_cstring(interp, command);
strcpy(cmd, "/c ");
strcat(cmd, cmdin);
@@ -67,7 +66,7 @@
}
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
- if (free_it) free(shell);
+ Parrot_str_free_cstring(shell);
mem_sys_free(cmd);
/* Return exit code left shifted by 8 for POSIX emulation. */
@@ -108,8 +107,8 @@
/* Now build command line. */
for (i = 0; i < pmclen; i++) {
- STRING *s = VTABLE_get_string_keyed_int(interp, cmdargs, i);
- char *cs = Parrot_str_to_cstring(interp, s);
+ STRING * const s = VTABLE_get_string_keyed_int(interp, cmdargs, i);
+ char * const cs = Parrot_str_to_cstring(interp, s);
if (cmdlinepos + (int)s->strlen + 3 > cmdlinelen) {
cmdlinelen += s->strlen + 4;
cmdline = (char *)mem_sys_realloc(cmdline, cmdlinelen);
Modified: branches/ops_pct/config/init/defaults.pm
==============================================================================
--- branches/ops_pct/config/init/defaults.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/init/defaults.pm Wed May 5 08:45:29 2010 (r46302)
@@ -80,6 +80,7 @@
my $ccdlflags = $Config{ccdlflags};
$ccdlflags =~ s/\s*-Wl,-rpath,\S*//g if $conf->options->get('disable-rpath');
+ my $cc_option = $conf->options->get('cc');
# We need a Glossary somewhere!
$conf->data->set(
debugging => $conf->options->get('debugging') ? 1 : 0,
@@ -92,23 +93,15 @@
# Compiler -- used to turn .c files into object files.
# (Usually cc or cl, or something like that.)
- cc => $Config{cc},
- ccflags => $Config{ccflags},
- ccwarn => exists( $Config{ccwarn} ) ? $Config{ccwarn} : '',
+ cc => $cc_option ? $cc_option : $Config{cc},
+ # If we specify a compiler, we can't use existing ccflags.
+ ccflags => $cc_option ? '' : $Config{ccflags},
+ ccwarn => '',
# Flags used to indicate this object file is to be compiled
# with position-independent code suitable for dynamic loading.
cc_shared => $Config{cccdlflags}, # e.g. -fpic for GNU cc.
- # C++ compiler -- used to compile parts of ICU. ICU's configure
- # will try to find a suitable compiler, but it prefers GNU c++ over
- # a system c++, which might not be appropriate. This setting
- # allows you to override ICU's guess, but is otherwise currently
- # unset. Ultimately, it should be set to whatever ICU figures
- # out, or parrot should look for it and always tell ICU what to
- # use.
- cxx => 'c++',
-
# Linker, used to link object files (plus libraries) into
# an executable. It is usually $cc on Unix-ish systems.
# VMS and Win32 might use "Link".
@@ -191,7 +184,7 @@
# some utilities in Makefile
cat => '$(PERL) -MExtUtils::Command -e cat',
- chmod => '$(PERL) -MExtUtils::Command -e ExtUtils::Command::chmod',
+ chmod => '$(PERL) -MExtUtils::Command -e chmod',
cp => '$(PERL) -MExtUtils::Command -e cp',
mkpath => '$(PERL) -MExtUtils::Command -e mkpath',
mv => '$(PERL) -MExtUtils::Command -e mv',
@@ -249,6 +242,8 @@
no_lines_flag => $conf->options->get('no-line-directives') ? '--no-lines' : '',
tempdir => File::Spec->tmpdir,
+
+ PKGCONFIG_DIR => $conf->options->get('pkgconfigdir') || '',
);
# TT #855: Profiling options are too specific to GCC
@@ -281,7 +276,7 @@
$archname =~ s/x86_64/i386/;
# adjust gcc?
- for my $cc qw(cc cxx link ld) {
+ for my $cc qw(cc link ld) {
$conf->data->add( ' ', $cc, '-m32' );
}
Modified: branches/ops_pct/config/init/hints.pm
==============================================================================
--- branches/ops_pct/config/init/hints.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/init/hints.pm Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2003, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
Modified: branches/ops_pct/config/init/hints/cygwin.pm
==============================================================================
--- branches/ops_pct/config/init/hints/cygwin.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/init/hints/cygwin.pm Wed May 5 08:45:29 2010 (r46302)
@@ -36,6 +36,7 @@
# this later causes problems, it might be worth revisiting. A. Dougherty
# 9/9/2002
$conf->data->set(
+ cp => '/bin/cp', # ExtUtils::Command::cp broken cpan #56666
build_dir => $build_dir,
ld => $conf->data->get('ld') eq 'ld2'
? 'gcc' # do not use old perl5 linker helper
Modified: branches/ops_pct/config/init/hints/irix.pm
==============================================================================
--- branches/ops_pct/config/init/hints/irix.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/init/hints/irix.pm Wed May 5 08:45:29 2010 (r46302)
@@ -27,15 +27,12 @@
$conf->data->set( libs => $libs );
my $cc = $conf->data->get('cc');
- my $cxx = $conf->data->get('cxx');
my $ld = $conf->data->get('ld');
my $link = $conf->data->get('link');
if ( $cc =~ /cc -64/ ) {
- $cxx = 'CC -64';
$ld = 'CC -64';
$link = 'CC -64';
$conf->data->set(
- cxx => $cxx,
ld => $ld,
link => $link,
);
Modified: branches/ops_pct/config/init/optimize.pm
==============================================================================
--- branches/ops_pct/config/init/optimize.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/init/optimize.pm Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/config/inter/progs.pm
==============================================================================
--- branches/ops_pct/config/inter/progs.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/config/inter/progs.pm Wed May 5 08:45:29 2010 (r46302)
@@ -75,7 +75,7 @@
my ($conf, $ask) = @_;
# Set each variable individually so that hints files can use them as
# triggers to help pick the correct defaults for later answers.
- my ( $cc, $cxx, $link, $ld, $ccflags, $linkflags, $ldflags, $libs, $lex, $yacc );
+ my ( $cc, $link, $ld, $ccflags, $linkflags, $ldflags, $libs, $lex, $yacc );
$cc = integrate( $conf->data->get('cc'), $conf->options->get('cc') );
$cc = prompt( "What C compiler do you want to use?", $cc )
if $ask;
@@ -124,9 +124,6 @@
if $ask;
$conf->data->set( libs => $libs );
- $cxx = integrate( $conf->data->get('cxx'), $conf->options->get('cxx') );
- $cxx = prompt( "What C++ compiler do you want to use?", $cxx ) if $ask;
- $conf->data->set( cxx => $cxx );
return ($conf, $cc);
}
Modified: branches/ops_pct/docs/book/draft/appc_command_line_options.pod
==============================================================================
--- branches/ops_pct/docs/book/draft/appc_command_line_options.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/book/draft/appc_command_line_options.pod Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/docs/book/draft/ch07_dynpmcs.pod
==============================================================================
--- branches/ops_pct/docs/book/draft/ch07_dynpmcs.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/book/draft/ch07_dynpmcs.pod Wed May 5 08:45:29 2010 (r46302)
@@ -195,7 +195,7 @@
=head3 VTABLE Functions Parameters
VTABLE functions are defined just like ordinary C functions, almost. Here's
-a normal definition for a VTABLE method:
+a normal definition for a VTABLE function:
VTABLE VTABLENAME (PARAMETERS) {
/* ordinary C here, almost */
Modified: branches/ops_pct/docs/book/draft/chXX_hlls.pod
==============================================================================
--- branches/ops_pct/docs/book/draft/chXX_hlls.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/book/draft/chXX_hlls.pod Wed May 5 08:45:29 2010 (r46302)
@@ -211,9 +211,9 @@
=over 4
-=item * VTable methods
+=item * VTable Functions
-VTable methods are the standard interface for PMC data types, and all PMCs
+VTable functions are the standard interface for PMC data types, and all PMCs
have them. If the PMCs were written properly to satisfy this interface
all the necessary information from those PMCs. Operate on the PMCs at the
VTable level, and we can safely ignore the implementation details of them.
Modified: branches/ops_pct/docs/book/pir/ch04_variables.pod
==============================================================================
--- branches/ops_pct/docs/book/pir/ch04_variables.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/book/pir/ch04_variables.pod Wed May 5 08:45:29 2010 (r46302)
@@ -489,34 +489,35 @@
When the offset position is negative, it counts backward from the end of the
string. Thus an offset of -1 starts at the last character of the string.
-C<substr> also has a four-argument form, where the fourth argument is a string
-used to replace the substring. This variant modifies the source string and
-returns the removed substring.
+C<substr> no longer has a four-argument form, as in-place string operations
+have been removed. There is a C<replace> operator which will perform the
+replacement and return a new_string without modifying the old_string.
+The arguments are new_string, old_string, offset, count and
+replacement_string. The old_string is copied to the new_string with the
+replacement_string inserted from offset replacing the content for count
+characters.
-This example above replaces the substring "bc" in C<$S1> with the string "XYZ",
-and returns "bc" in C<$S0>:
+This example replaces the substring "bc" in C<$S1> with the string "XYZ",
+and returns "aXYZde" in C<$S0>, C<$S1> is not changed:
=begin PIR_FRAGMENT
$S1 = "abcde"
- $S0 = substr $S1, 1, 2, "XYZ"
- say $S0 # prints "bc"
- say $S1 # prints "aXYZde"
+ $S0 = replace $S1, 1, 2, "XYZ"
+ say $S0 # prints "aXYZde"
+ say $S1 # prints "abcde"
=end PIR_FRAGMENT
-When the offset position in a replacing C<substr> is one character beyond the
-original string length, C<substr> appends the replacement string just like the
+When the offset position in a C<replace> is one character beyond the original
+string length, C<replace> appends the replacement string just like the
concatenation operator. If the replacement string is an empty string, the
-opcode removes the characters from the original string.
-
-If you don't need to capture the replaced string, an optimized version of
-C<substr> performs a replace without returning the removed substring:
+opcode removes the characters from the original string in the new string.
=begin PIR_FRAGMENT
$S1 = "abcde"
- $S1 = substr 1, 2, "XYZ"
+ $S1 = replace $S1, 1, 2, "XYZ"
say $S1 # prints "aXYZde"
=end PIR_FRAGMENT
@@ -897,10 +898,11 @@
C<bors>X<bors opcode>, C<bands>X<bands opcode>, and C<bxors>X<bxors opcode>.
These take string or string-like PMC arguments and perform the logical
operation on each byte of the strings to produce the result string.
+Remember that in-place string operations are no longer available.
=begin PIR_FRAGMENT
- $S0 = bors $S1
+ $P0 = bors $P1
$P0 = bands $P1
$S0 = bors $S1, $S2
$P0 = bxors $P1, $S2
@@ -970,9 +972,9 @@
X<UTF-16 encoding>
Parrot supports the character sets C<ascii>, C<binary>, C<iso-8859-1>
(Latin 1), and C<unicode> and the encodings C<fixed_8>, C<ucs2>,
-C<utf8>, and C<utf18>.
+C<utf8>, and C<utf16>.
-The C<binary:> charset treats the string as a buffer of raw unformatted
+The C<binary> charset treats the string as a buffer of raw unformatted
binary data. It isn't really a string per se, because binary data
contains no readable characters. This exists to support libraries which
manipulate binary data that doesn't easily fit into any other primitive
Modified: branches/ops_pct/docs/configuration.pod
==============================================================================
--- branches/ops_pct/docs/configuration.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/configuration.pod Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/docs/dev/infant.pod
==============================================================================
--- branches/ops_pct/docs/dev/infant.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/dev/infant.pod Wed May 5 08:45:29 2010 (r46302)
@@ -142,15 +142,15 @@
+ Fast mark phase (GC already manipulates the flags)
- Generation count must be maintained
- Disallows recursive opcode calls (necessary for eg implementing
- vtable methods in pasm)
+ vtable functions in pasm)
- Can temporarily use more memory (dead objects accumulate during the
current generation)
In order to allow recursive opcode calls, we could increment the generation
count in more places and make sure nothing is left unanchored at those points,
but that would gradually remove all advantages of this scheme and make it more
-difficult to call existing vtable methods (since you never know when they might
-start running pasm code.)
+difficult to call existing vtable functions (since you never know when they
+might start running pasm code.)
=head2 Variant 5: generation stack
Modified: branches/ops_pct/docs/dev/pccmethods.pod
==============================================================================
--- branches/ops_pct/docs/dev/pccmethods.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/dev/pccmethods.pod Wed May 5 08:45:29 2010 (r46302)
@@ -10,7 +10,7 @@
A C<PCCMETHOD> is a PMC method that follows Parrot Calling Conventions
(a.k.a. PCC). This allows PIR code to call PMC methods using slurpy, named,
and other types of arguments as specified in F<PDD03>. This offers flexibility
-not found in a PMC C<METHOD> or a vtable method using C calling conventions.
+not found in a PMC C<METHOD> or a vtable function using C calling conventions.
C<PCCINVOKE> is used to call a method using the Parrot Calling Conventions.
It uses the standard find_method/invoke approach that the callmethodcc opcode
@@ -113,7 +113,7 @@
=head2 Performance
-When a C<METHOD> or vtable method is called, C<NCI> is used to map the
+When a C<METHOD> or vtable function is called, C<NCI> is used to map the
arguments held in the current Parrot_Context onto the C calling conventions.
That is, you still end up involving the Parrot Calling Conventions anyway,
so there is no reason to expect a C<PCCMETHOD> to be any slower. It may well
Modified: branches/ops_pct/docs/dev/pmc_freeze.pod
==============================================================================
--- branches/ops_pct/docs/dev/pmc_freeze.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/dev/pmc_freeze.pod Wed May 5 08:45:29 2010 (r46302)
@@ -79,7 +79,7 @@
=head2 The visit_info structure
This structure holds all necessary information and function pointers specific
-to the desired functionality. It gets passed on to all vtable methods and
+to the desired functionality. It gets passed on to all vtable functions and
callback functions.
=head2 Working loop
@@ -99,7 +99,7 @@
This is done by a callback function inside the B<visit_info> structure called
B<visit_pmc_now>. It gets called initially to put the first item on the list
and is called thereafter from all PMCs for contained PMCs inside the B<visit>
-vtable method.
+vtable function.
=head2 The visit() vtable
@@ -140,19 +140,19 @@
So after all we finally arrived at the point to actually perform the desired
functionality. First the PMC-specific part is done inside F<pmc_freeze.c> then
-the specific vtable method B<freeze>, B<thaw>, whatever, is called, again via a
-function pointer called B<visit_action>.
+the specific vtable function B<freeze>, B<thaw>, whatever, is called, again
+via a function pointer called B<visit_action>.
=head1 Freeze and thaw
As stated PMCs are currently processed inside the core, PMC-specific parts are
-done by calling the PMCs vtable method. This parts could of course be moved to
+done by calling the PMCs vtable function. This parts could of course be moved to
F<default.pmc> too, so that it's simpler to override the functionality.
=head2 Serializer interface
During initialization the B<visit_info>s B<image_io> data pointer is filled
-with an object having B<vtable> methods that remarkably look like a PMCs
+with an object having B<vtable> functions that remarkably look like a PMCs
vtable. So B<io-E<gt>vtable-E<gt>push_integer> spits out an INTVAL to the
frozen B<image>, while B<shift_integer> gets an INTVAL from the frozen stream.
Modified: branches/ops_pct/docs/dev/pmc_obj_design_meeting_notes.pod
==============================================================================
--- branches/ops_pct/docs/dev/pmc_obj_design_meeting_notes.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/dev/pmc_obj_design_meeting_notes.pod Wed May 5 08:45:29 2010 (r46302)
@@ -60,7 +60,7 @@
statically calls the method in the current class.
B<Recommendation>: Throughout the source, rename SELF to STATIC_SELF, and
-rename DYNSELF to SELF. Additionally, direct access to VTABLE methods should
+rename DYNSELF to SELF. Additionally, direct access to VTABLE functions should
be reviewed, and SELF should be used where possible to increase clarity and
maintainability (this is a good CAGE task.) Also, this should become a coding
standard for PMCs.
Modified: branches/ops_pct/docs/dev/profiling.pod
==============================================================================
--- branches/ops_pct/docs/dev/profiling.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/dev/profiling.pod Wed May 5 08:45:29 2010 (r46302)
@@ -55,6 +55,19 @@
profiling runcore to run more slowly. By default, they are disabled. Set this
value to enable them.
+=item C<PARROT_PROFILING_CANONICAL_OUPUT>
+
+When this is set, the profiling runcore will record all addresses as a single
+constant value and all times as 1. This options is useful primarily for
+testing, where it's helpful to have a way to ensure that a given chunk of code
+will always produce exactly the same profile. If you want this feature
+enabled, you also probably want to pass a fixed hash seed to Parrot via
+C<--hash-seed 1324> to avoid any non-deterministic behavior that hash seed
+randomization may cause.
+
+This variable is not useful apart from testing the profiling runcore and will
+most certainly not help you find hotspots in your code.
+
=back
=cut
Modified: branches/ops_pct/docs/embed.pod
==============================================================================
--- branches/ops_pct/docs/embed.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/embed.pod Wed May 5 08:45:29 2010 (r46302)
@@ -121,12 +121,6 @@
=item PARROT_THR_THREAD_POOL
-=item PARROT_THR_TYPE_1
-
-=item PARROT_THR_TYPE_2
-
-=item PARROT_THR_TYPE_3
-
=back
See F<interpreter.h> for the definition of these flags (TODO: document flag
@@ -145,12 +139,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 +224,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
@@ -1551,8 +1539,6 @@
=item C<Parrot_store_sub_in_namespace>
-=item C<Parrot_str_append>
-
=item C<Parrot_str_boolean>
=item C<Parrot_str_byte_length>
@@ -1601,7 +1587,7 @@
=item C<Parrot_str_indexed>
-=item C<Parrot_string_cstring>
+=item C<Parrot_str_cstring>
=item C<Parrot_str_init>
Modified: branches/ops_pct/docs/intro.pod
==============================================================================
--- branches/ops_pct/docs/intro.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/intro.pod Wed May 5 08:45:29 2010 (r46302)
@@ -391,7 +391,7 @@
=begin PIR_FRAGMENT
- .local pmc result, factorial
+ .local int result
result = factorial($I0)
=end PIR_FRAGMENT
Modified: branches/ops_pct/docs/parrothist.pod
==============================================================================
--- branches/ops_pct/docs/parrothist.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/parrothist.pod Wed May 5 08:45:29 2010 (r46302)
@@ -104,4 +104,7 @@
chromatic 2.0.0 * 2010-Jan-19 "Inevitable"
darbelo 2.1.0 2010-Feb-16 "As Scheduled"
+ cotto 2.2.0 2010-Mar-16 "Like Clockwork"
+
+ Gerd 2.3.0 * 2010-Apr-20 "Samoan Lory"
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd01_overview.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd01_overview.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd01_overview.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 1: Overview
@@ -190,7 +190,7 @@
bytecode and save it for later use. Essentially, we would compile a program as
normal, but then simply freeze the bytecode to disk for later loading.
-=head3 Your HLL in, Java, CLI, or whatever out
+=head3 Your HLL in; Java, CLI, or whatever out
The previous section assumes that we will be emitting Parrot bytecode.
However, there are other possibilities: we could translate the bytecode
@@ -200,7 +200,7 @@
=head2 References
-To come.
+None.
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd05_opfunc.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd05_opfunc.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd05_opfunc.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 5: Opcodes
@@ -13,6 +13,10 @@
{{ NOTE: standardize on underscores or no underscores? }}
+=head2 Version
+
+$Revision$
+
=head2 Description
The opcode functions are the workhorse of the Parrot engine. They control
@@ -169,34 +173,7 @@
=head2 References
-Oploop PDD, PDD 4 (Internal types)
-
-=head2 Footnotes
-
-None.
-
-=head2 Version
-
-1.0
-
-=head3 Current
-
- Maintainer: Dan Sugalski <dan at sidhe.org>
- Class: Internals
- PDD Number: 5
- Version: 1.0
- Status: Developing
- Last Modified: 16 Jul 2001
- PDD Format: 1
- Language: English
-
-=head3 History
-
-None. First version
-
-=head2 Changes
-
-None. First version
+Oploop PDD, PDD 4 (Internal types).
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd06_pasm.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd06_pasm.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd06_pasm.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 6: Parrot Assembly Language (PASM)
@@ -7,6 +7,10 @@
The format of Parrot's bytecode assembly language.
+=head2 Version
+
+$Revision$
+
=head2 Description
Parrot's bytecode can be thought of as a form of machine language for a
@@ -172,8 +176,8 @@
where register_type is 0x100, 0x200, 0x400, or 0x800 for PMC, string, integer,
or number respectively. So N19 would be 0x413.
-B<Note>: Instructions tagged with a * will call a vtable method to handle the
-instruction if used on PMC registers.
+B<Note>: Instructions tagged with a * will call a vtable function to handle
+the instruction if used on PMC registers.
In all cases, the letters x, y, and z refer to register numbers. The letter t
refers to a generic register (P, S, I, or N). A lowercase p, s, i, or n means
@@ -244,7 +248,7 @@
$foo = $bar;
-X's assign vtable method is invoked and it does whatever is appropriate.
+X's assign vtable function is invoked and it does whatever is appropriate.
=item clone Px, Py
@@ -1006,186 +1010,10 @@
=back
-=head2 Attachments
-
-None.
-
=head2 References
None.
-=head2 Version
-
-1.9
-
-=head3 Current
-
- Maintainer: Dan Sugalski
- Class: Internals
- PDD Number: 6
- Version: 1.9
- Status: Developing
- Last Modified: 28 February 2007
- PDD Format: 1
- Language: English
-
-=head3 History
-
-=over 4
-
-=item Version 1.9
-
-February 28, 2007
-
-=item Version 1.8
-
-December 11, 2002
-
-=item Version 1.7
-
-December 02, 2002
-
-=item Version 1.6
-
-November 05, 2001
-
-=item Version 1.5
-
-October 12, 2001
-
-=item Version 1.4
-
-September 24, 2001
-
-=item Version 1.3
-
-September 12, 2001
-
-=item Version 1.2
-
-August 25, 2001
-
-=item Version 1.1
-
-August 8, 2001
-
-=item version 1
-
-None. First version
-
-=back
-
-=head2 Changes
-
-=over 4
-
-=item Version 1.9
-
-=over 4
-
-=item * Removed remark on "upper case names reserved for directives"
-
-=item * Fixed ".sub" directive, should be ".pcc_sub"
-
-=item * Added constant directive in description.
-
-=item * Added grammar overview.
-
-=back
-
-=item Version 1.8
-
-=over 4
-
-=item * Added property ops
-
-=item * Fixed some bad register designations
-
-=item * Opened up opcode name character list to include numbers
-
-=back
-
-=item Version 1.7
-
-=over 4
-
-=item * Fixed stack ops; push, pop, and clear properly documented according to
-the engine's behaviour now.
-
-=back
-
-=item Version 1.6
-
-=over 4
-
-=item * Added GC opcodes
-
-=back
-
-=item Version 1.5
-
-=over 4
-
-=item * Now have a bsr in addition to a jsr
-
-=item * return is now ret
-
-=item * Added save and restore ops for saving and restoring individual
-registers
-
-=back
-
-=item Version 1.4
-
-=over 4
-
-=item * Conditional branches have just a true destination now
-
-=item * Added the I/O ops
-
-=item * Added in the threading ops
-
-=item * Added in the interpreter ops
-
-=back
-
-=item Version 1.3
-
-=over 4
-
-=item * Added in the low-level module loading ops
-
-=item * Added in transcendental functions and modulo
-
-=item * Finished the pad/global variable fetching bits
-
-=back
-
-=item Version 1.2
-
-We have an interpreter now! Yay! (Okay, a simple one, but still...) Changes
-made to reflect that.
-
-=item Version 1.1
-
-=over 4
-
-=item * Added in object
-
-=item * Changed remnants of "perl" to "Parrot"
-
-=item * Branch destination may be integer constant
-
-=item * Added L<Assembly Syntax> section
-
-=back
-
-=item Version 1.0
-
-None. First version
-
-=back
-
=cut
__END__
Modified: branches/ops_pct/docs/pdds/draft/pdd08_keys.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd08_keys.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd08_keys.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 8: PMC Keys
@@ -8,6 +8,10 @@
This PDD aims to clear up the confusion regarding the implementation of keyed
access to PMCs in Parrot.
+=head2 Version
+
+$Revision$
+
=head2 Description
First, let's define some terminology. An C<aggregate PMC> is one which stores
@@ -91,9 +95,9 @@
=head3 Aggregate and non-aggregate PMCs
We've already said that what separates the aggregate PMCs from the
-non-aggregates is their implementation of the C<_keyed> vtable methods. So it
-is Hereby Decreed that the default vtable which everyone inherits from defines
-the C<_keyed> forms to throw an exception.
+non-aggregates is their implementation of the C<_keyed> vtable functions. So
+it is Hereby Decreed that the default vtable which everyone inherits from
+defines the C<_keyed> forms to throw an exception.
=over 3
@@ -105,11 +109,11 @@
=back
-=head3 C<_keyed> vtable methods
+=head3 C<_keyed> vtable functions
-So what of these magical C<_keyed> vtable methods? They are generated when you
-add the C<keyed> tag to the appropriate entry in F<src/vtable.tbl>. They are
-constructed by following B<every> C<PMC> argument with a second C<PMC>
+So what of these magical C<_keyed> vtable functions? They are generated when
+you add the C<keyed> tag to the appropriate entry in F<src/vtable.tbl>. They
+are constructed by following B<every> C<PMC> argument with a second C<PMC>
argument which acts as the key for that argument; the name of the second
C<PMC> argument is formed by adding C<_key> onto the end of the first C<PMC>
argument.
@@ -123,8 +127,8 @@
$a = @b[$c]
-use the same vtable method, reducing the multiplicity of methods. Secondly, a
-three-argument C<assign> as suggested by the code above would be ambiguous -
+use the same vtable function, reducing the multiplicity of methods. Secondly,
+a three-argument C<assign> as suggested by the code above would be ambiguous -
the code above uses 3 PMCs in different ways.
Also, operations which take an aggregate key for one of their arguments should
@@ -265,44 +269,9 @@
The type values shown above are actually the C<PARROT_ARG_*> values taken from
F<include/parrot/op.h>.
-=head2 Version
-
-=head3 Current
-
- Maintainer: Simon Cozens <simon at netthink.co.uk>
- Class: Internals
- PDD Number: 8
- Version: 1.3
- Status: Developing
- Last Modified: 25 August, 2002
- PDD Format: 1
- Language: English
-
-=head3 History
-
-=over 4
-
-=item Sun Aug 25 11:14:43 GMT 2002 : Version 1.3
-
-Updated to reflect Dan's decision to change keys to use PMCs instead of a
-custom data structure. Also corrects documentation of multi-level keys and how
-they are compiled and work. tom at compton.nu.
-
-=item Thu Apr 25 18:30:36 UTC 2002 : Version 1.2
-
-Renamed C<KEY_PAIR> to C<KEY_ATOM>, updated to reflect changeover to linked
-list. - steve at fink.com
-
-=item Fri Mar 8 18:47:34 GMT 2002 : Version 1.1
-
-updated to reflect Dan's comments that non-aggregates also support C<_keyed>
-variant vtable methods.
-
-=back
-
=head2 References
-To come.
+None.
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd10_embedding.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd10_embedding.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd10_embedding.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (c) 2001-2009, Parrot Foundation.
+# Copyright (c) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD10: Embedding and Extending
@@ -74,7 +74,7 @@
=back
-=item * probably includes vtable methods on PMCs
+=item * probably includes vtable functions on PMCs
=back
@@ -219,8 +219,9 @@
Compiling source code generated or read from the host application is also
possible:
- Parrot_PMC Parrot_compile_string( Parrot_Interp, const char *compiler,
- const char *code );
+ Parrot_PMC Parrot_compile_string( Parrot_Interp, Parrot_String compiler,
+ const char *code,
+ Parrot_String error );
The potential return values are the same as for loading code from disk.
@@ -244,17 +245,9 @@
such that it is possible to load source code written in that language or pass
source code to an interpreter successfully.
-=head2 Attachments
-
-Any associated documents.
-
-=head2 Footnotes
-
-List of footnotes to the text.
-
=head2 References
-List of references.
+None.
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd11_extending.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd11_extending.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd11_extending.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 11: Extending
@@ -9,6 +9,10 @@
Parrot for code written in C or other compiled languages. It provides about
the same level of access to Parrot that bytecode programs have.
+=head2 Version
+
+$Revision$
+
=head2 Description
The API presents to C programs roughly the same interface presented to
@@ -198,6 +202,42 @@
characters of C<value> to a Parrot_String and assigns the resulting string to
the PMC stored at element <key> of the passed-in PMC.
+=item C<Parrot_PMC_push_float( interp, Parrot_PMC pmc, Parrot_Float value )>
+
+Push a float onto an aggregate PMC, such as a ResizablePMCArray.
+Returns void.
+
+=item C<Parrot_PMC_push_integer( interp, Parrot_PMC pmc, Parrot_Int value )>
+
+Push a integer onto an aggregate PMC, such as a ResizableIntegerArray.
+Returns void.
+
+=item C<Parrot_PMC_push_pmc( interp, Parrot_PMC pmc, Parrot_PMC value )>
+
+Push a PMC value onto an aggregate PMC, such as a ResizablePMCArray.
+Returns void.
+
+=item C<Parrot_PMC_push_string( interp, Parrot_PMC pmc, Parrot_String value )>
+
+Push a Parrot_String onto an aggregate PMC, such as a ResizableStringArray.
+Returns void.
+
+=item C<Parrot_PMC_pop_float( interp, Parrot_PMC pmc )>
+
+Pop a Parrot_Float off of an aggregate PMC and returns it.
+
+=item C<Parrot_PMC_pop_integer( interp, Parrot_PMC pmc )>
+
+Pop a Parrot_Int off of an aggregate PMC and returns it.
+
+=item C<Parrot_PMC_pop_pmc( interp, Parrot_PMC pmc )>
+
+Pop a PMC off of an aggregate PMC and returns it.
+
+=item C<Parrot_PMC_pop_string( interp, Parrot_PMC pmc )>
+
+Pop a Parrot_String off of an aggregate PMC and returns it.
+
=back
=head4 Creation and destruction
@@ -313,51 +353,10 @@
=back
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
F<docs/glossary.pod>
-=head2 Version
-
-=head3 Current
-
- Maintainer:
- Class: Internals
- PDD Number: 11
- Version: 1.0
- Status: Developing
- Last Modified: February 20, 2004
- PDD Format: 1
- Language: English
-
-=head3 History
-
-=over 4
-
-=item Version 1
-
-None. First version
-
-=back
-
-=head2 Changes
-
-=over 4
-
-=item Version 1.0
-
-None. First version
-
-=back
-
=cut
__END__
Modified: branches/ops_pct/docs/pdds/draft/pdd14_numbers.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd14_numbers.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd14_numbers.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 14: Numbers
@@ -574,10 +574,6 @@
suitable opcodes. Conversion to and from Parrot strings, conversion to and
from floating point types, sprintf output of bignumbers.
-=head2 Attachments
-
-=head2 Footnotes
-
=head2 References
IBM's Standard Decimal Arithmetic, with tests
Modified: branches/ops_pct/docs/pdds/draft/pdd16_native_call.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd16_native_call.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd16_native_call.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 16: Native Call Interface (NCI)
@@ -8,6 +8,10 @@
This PDD describes the native call interface, and the function signatures used
to describe those functions.
+=head2 Version
+
+$Revision$
+
=head2 Description
The NCI is designed to allow Parrot to interface to I<most> of the functions
@@ -313,50 +317,15 @@
}
The file containing this C code should be compiled as a shared library
-(specifying the C<include> directory so C<<parrot/parrot.h>> can be found.)
+(specifying the C<include> directory so F<parrot/parrot.h> can be found.)
=head2 References
-L<pdd06_pasm.pod>
+F<pdd06_pasm.pod>
=head2 See Also
-L<t/pmc/nci.t>, L<src/nci_test.c>
-
-=head2 Version
-
-=head3 Current
-
- Maintainer: Dan Sugalski
- Class: Internals
- PDD Number: 16
- Version: 1.3
- Status: Developing
- Last Modified: Feb 26, 2007
- PDD Format: 1
- Language: English
-
-=head3 History
-
-=over 4
-
-=item version 1.3
-
-Updated with example for callbacks
-
-=item version 1.2
-
-Updated with basic example for NCI.
-
-=item version 1.1
-
-Changed callback section to reflect current status.
-
-=item version 1
-
-None. First version
-
-=back
+F<t/pmc/nci.t>, F<src/nci_test.c>
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd29_compiler_tools.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd29_compiler_tools.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd29_compiler_tools.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,16 +1,15 @@
-# Copyright (C) 2008-2009, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 29: Compiler Tools
-=head2 Version
+=head2 Abstract
-$Revision$
+This PDD specifies the Parrot Compiler Tools (PCT).
-=head2 Maintainer
+=head2 Version
-Will "Coke" Coleda
-Klaas-Jan Stol
+$Revision$
=head2 Definitions
@@ -23,10 +22,6 @@
A High-Level Language. Examples are: Perl, Ruby, Python, Lua, Tcl, etc.
-=head2 Abstract
-
-This PDD specifies the Parrot Compiler Tools (PCT).
-
=head2 Synopsis
Creating a PCT-based compiler can be done as follows:
@@ -356,15 +351,9 @@
=back
-=head2 Attachments
-
-None.
-
=head2 References
-docs/pdd26_ast.pod
-
-http://dev.perl.org/perl6/doc/design/syn/S05.html
+F<docs/pdd26_ast.pod>, L<http://dev.perl.org/perl6/doc/design/syn/S05.html>
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd31_hll.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd31_hll.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd31_hll.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,17 +1,17 @@
-# Copyright (C) 2009, Parrot Foundation.
+# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 31: HLL Compilers and Libraries
-=head2 Version
-
-$Revision$
-
=head2 Abstract
This PDD describes the standard compiler API and support for
cross-library communication between high-level languages (HLLs).
+=head2 Version
+
+$Revision$
+
=head2 Description
Parrot's support for HLL interoperability is primarily focused on
@@ -299,7 +299,7 @@
=head2 References
-L<pdd21_namespaces.pod>
+F<pdd21_namespaces.pod>
=cut
Modified: branches/ops_pct/docs/pdds/draft/pdd31_hll_interop.pod
==============================================================================
--- branches/ops_pct/docs/pdds/draft/pdd31_hll_interop.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/draft/pdd31_hll_interop.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,18 +1,18 @@
-# Copyright (C) 2008-2009, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
=head1 [DRAFT] PDD 31: Inter-Language Calling
-=head2 Version
-
-$Revision$
-
=head2 Abstract
This PDD describes Parrot's conventions and support for communication between
high-level languages (HLLs). It is focused mostly on what implementors should
do in order to provide this capability to their users.
+=head2 Version
+
+$Revision$
+
=head2 Description
The ability to mix different high-level languages at runtime has always been
Modified: branches/ops_pct/docs/pdds/pdd00_pdd.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd00_pdd.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd00_pdd.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,17 +1,17 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 0: Design Document Format
-=head2 Version
-
-$Revision$
-
=head2 Abstract
This document defines the content and format of Parrot Design Documents
(PDDs).
+=head2 Version
+
+$Revision$
+
=head2 Synopsis
Not applicable.
@@ -99,13 +99,6 @@
Document version. Since Parrot is currently kept in a Subversion repository,
the $$-delimited keyword "Revision" will do nicely.
-=item Maintainer I<(optional)>:
-
-The name and current email address for the point of contact for the PDD. This
-is the person to whom questions, comments, and patches should generally be
-addressed. This need not be the author of the document. By default, all PDDs
-are maintained by the Parrot Architect.
-
=item Abstract:
A quick blurb explaining the purpose of the PDD.
@@ -149,6 +142,7 @@
Proposed PDDs should be submitted to the parrot-dev mailing list (located
at parrot-dev at lists.parrot.org) for discussion, criticism and general
kibitzing.
+
Acceptance of a particular PDD is ultimately up to the Parrot Architect.
=head3 PDD Translations
@@ -159,22 +153,14 @@
=item *
-The C<Maintainer> section should record who made the translation.
-
-=item *
-
-The C<Version> section should include an additional note of the translation
+The C<Version> section should include an additional note of the translated
version.
=back
-=head2 Attachments
-
-(none)
-
=head2 References
-(none)
+None.
=cut
Modified: branches/ops_pct/docs/pdds/pdd03_calling_conventions.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd03_calling_conventions.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd03_calling_conventions.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 3: Calling Conventions
@@ -391,13 +391,9 @@
=end PIR_FRAGMENT
-=head2 Attachments
-
-None.
-
=head2 References
-L<pdd23_exceptions.pod>
+F<pdd23_exceptions.pod>
=cut
Modified: branches/ops_pct/docs/pdds/pdd07_codingstd.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd07_codingstd.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd07_codingstd.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 7: Conventions and Guidelines for Parrot Source Code
@@ -1006,7 +1006,7 @@
=head2 References
-none
+None.
=cut
Modified: branches/ops_pct/docs/pdds/pdd09_gc.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd09_gc.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd09_gc.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 9: Garbage Collection Subsystem
@@ -295,7 +295,7 @@
subsystem, including how many GC runs have been completed, amount of memory
allocated since the last run, and total memory allocated. This accounting
information is updated by the GC system. The current block level for GC mark
-and sweep phases is stored in the C<Memory_Pools> structure.
+and sweep phases is stored in the C<Memory_Pools> structure.
(See L<Blocking GC>.)
The pointer C<void *gc_private> is reserved for use by the currently active GC
@@ -303,18 +303,18 @@
=head4 The Var_Size_Pool structure
-The C<Var_Size_Pool> structure is a simple memory pool. It contains a pointer
+The C<Var_Size_Pool> structure is a simple memory pool. It contains a pointer
to the top block of the allocated pool, the total allocated size of the pool,
-the block size, and some details on the reclamation characteristics of the
+the block size, and some details on the reclamation characteristics of the
pool.
=head4 The Fixed_Size_Pool structure
-The C<Fixed_Size_Pool> structure is a richer memory pool for object
-allocation. It tracks details like the number of allocated and free objects
-in the pool, a list of free objects, and for the generational GC
-implementation maintains linked lists of white, black, and gray PMCs. It
-contains a pointer to a simple C<Var_Size_Pool> (the base storage of the
+The C<Fixed_Size_Pool> structure is a richer memory pool for object
+allocation. It tracks details like the number of allocated and free objects
+in the pool, a list of free objects, and for the generational GC
+implementation maintains linked lists of white, black, and gray PMCs. It
+contains a pointer to a simple C<Var_Size_Pool> (the base storage of the
pool). It holds function pointers for adding and retrieving free objects in
the pool, and for allocating objects.
@@ -350,7 +350,7 @@
=head4 Memory_Pools structure function pointers
-Each GC system declares 3 function pointers, stored in the Memory_Pools
+Each GC system declares 3 function pointers, stored in the Memory_Pools
structure.
=over 4
@@ -421,8 +421,8 @@
=item C<void (*finalize_gc_system) (Interp *)>
Called during interpreter destruction. Free used resources and memory pools.
-All PMCs must be swept, and PMCs with custom destroy VTABLE methods must have
-those called.
+All PMCs must be swept, and PMCs with custom destroy VTABLE functions must
+have those called.
=item C<void (*init_pool) (Interp *, Fixed_Size_Pool *)>
@@ -563,7 +563,7 @@
The C<mark> vtable slot will be called during the GC mark phase. The mark
function must call C<Parrot_gc_mark_PObj_alive> for all non-NULL objects
(Buffers and PMCs) that PMC refers to. This flag is typically tested and the
-custom mark VTABLE method called from C<src/gc/api.c:mark_special>.
+custom mark VTABLE function called from C<src/gc/api.c:mark_special>.
=item PObj_external_FLAG
@@ -602,36 +602,28 @@
=back
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
"Uniprocessor Garbage Collection Techniques"
-http://www.cs.rice.edu/~javaplt/311/Readings/wilson92uniprocessor.pdf
+L<http://www.cs.rice.edu/~javaplt/311/Readings/wilson92uniprocessor.pdf>
"A unified theory of garbage collection":
-http://portal.acm.org/citation.cfm?id=1028982
+L<http://portal.acm.org/citation.cfm?id=1028982>
"Scalable Locality-Conscious Multithreaded Memory Allocation":
-http://people.cs.vt.edu/~scschnei/papers/ismm06.pdf
+L<http://people.cs.vt.edu/~scschnei/papers/ismm06.pdf>
"Parallel and concurrent garbage collectors":
-http://chaoticjava.com/posts/parallel-and-concurrent-garbage-collectors/
+L<http://chaoticjava.com/posts/parallel-and-concurrent-garbage-collectors/>
"Region-Based Memory Management":
-http://www.irisa.fr/prive/talpin/papers/ic97.pdf
+L<http://www.irisa.fr/prive/talpin/papers/ic97.pdf>
Dan's first musings on the GC subsystem:
-http://www.mail-archive.com/perl6-all@perl.org/msg14072.html
+L<http://www.mail-archive.com/perl6-all@perl.org/msg14072.html>
Semi-timely and ordered destruction:
-http://www.sidhe.org/~dan/blog/archives/000199.html
+L<http://www.sidhe.org/~dan/blog/archives/000199.html>
=cut
Modified: branches/ops_pct/docs/pdds/pdd15_objects.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd15_objects.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd15_objects.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2007, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 15: Objects and Classes
@@ -1630,11 +1630,6 @@
=end html
-
-=head2 Footnotes
-
-None.
-
=head2 References
None.
Modified: branches/ops_pct/docs/pdds/pdd17_pmc.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd17_pmc.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd17_pmc.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,17 +1,17 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 17: Polymorphic Containers
-=head2 Version
-
-$Revision$
-
=head2 Abstract
This PDD describes the internal structure and behavior of the Polymorphic
Container (PMC) data type.
+=head2 Version
+
+$Revision$
+
=head2 Description
PMCs implement all internal data types more complex than a simple integer,
@@ -48,7 +48,6 @@
VTABLE *vtable;
DPOINTER *data;
PMC *_metadata;
- struct _Sync *_synchronize; # [Note: may be deprecated, see STM]
}
C<flags> holds a set of flags associated with the PMC; these are documented
@@ -1656,8 +1655,8 @@
=head4 Array types
Note that for the following types you can set the size of the array by using
-the VTABLE_set_integer_native() method. Assigning an integer to the array as a
-whole sets the array to that size.
+the VTABLE_set_integer_native() function. Assigning an integer to the array
+as a whole sets the array to that size.
Size-changing operations (such as push, pop, shift, unshift, and splice)
on statically-sized arrays will throw an exception.
@@ -1809,17 +1808,9 @@
=back
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
- docs/pmc2c.pod
+F<docs/pmc2c.pod>
=cut
Modified: branches/ops_pct/docs/pdds/pdd18_security.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd18_security.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd18_security.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2008, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
=head1 PDD 18: Security Model
@@ -217,19 +217,13 @@
form is standard across high-level languages running on Parrot, the tools can
be written once and applied to many languages.
-=head2 Attachments
-
-
-=head2 Footnotes
-
-
=head2 References
-"Exploring the Broken Web": http://talks.php.net/show/osdc07
+"Exploring the Broken Web": L<http://talks.php.net/show/osdc07>
-"Safe ERB": http://agilewebdevelopment.com/plugins/safe_erb
+"Safe ERB": L<http://agilewebdevelopment.com/plugins/safe_erb>
-pecl/filter: http://us2.php.net/filter
+pecl/filter: L<http://us2.php.net/filter>
Rasmus Lerdorf for the term "data firewall".
Modified: branches/ops_pct/docs/pdds/pdd19_pir.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd19_pir.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd19_pir.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,18 +1,17 @@
-# Copyright (C) 2007, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
=head1 PDD 19: Parrot Intermediate Representation (PIR)
-=head2 Version
-
-$Revision$
-
-
=head2 Abstract
This document outlines the architecture and core syntax of Parrot
Intermediate Representation (PIR).
+=head2 Version
+
+$Revision$
+
=head2 Description
PIR is a stable, middle-level language intended both as a target for the
@@ -1444,18 +1443,9 @@
=back
-
-=head2 Attachments
-
-N/A
-
-=head2 Footnotes
-
-N/A
-
=head2 References
-N/A
+None.
=cut
Modified: branches/ops_pct/docs/pdds/pdd20_lexical_vars.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd20_lexical_vars.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd20_lexical_vars.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,17 +1,17 @@
-# Copyright (C) 2001-2006, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 20: Lexical Variables
-=head2 Version
-
-$Revision$
-
=head2 Abstract
This document defines the requirements and implementation strategy for
lexically scoped variables.
+=head2 Version
+
+$Revision$
+
=head2 Synopsis
=begin PIR
@@ -402,23 +402,9 @@
TK.
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
-=over 4
-
-=item [1]
-
-t/op/lexicals.t
-
-=back
+F<t/op/lexicals.t>
=cut
Modified: branches/ops_pct/docs/pdds/pdd21_namespaces.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd21_namespaces.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd21_namespaces.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,16 +1,16 @@
-# Copyright (C) 2005-2007, Parrot Foundation.
+# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
=head1 PDD 21: Namespaces
-=head2 Version
-
-$Revision$
-
=head2 Abstract
Description and implementation of Parrot namespaces.
+=head2 Version
+
+$Revision$
+
=head2 Description
=over 4
@@ -737,14 +737,6 @@
=end PIR
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
None.
Modified: branches/ops_pct/docs/pdds/pdd22_io.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd22_io.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd22_io.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 22: I/O
@@ -1038,14 +1038,6 @@
(http://www.ietf.org/rfc/rfc4038.txt) and "Basic Socket Interface
Extensions for IPv6" (http://www.ietf.org/rfc/rfc3493.txt).
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 Links
L<http://en.wikipedia.org/wiki/Asynchronous_I/O> for a relatively
@@ -1053,14 +1045,9 @@
=head2 References
- F<src/io/core.c>
- F<src/ops/io.ops>
- F<include/parrot/io.h>
- F<runtime/parrot/library/Stream/*>
- F<src/io/unix.c>
- F<src/io/win32.c>
- Perl 5's IO::AIO
- Perl 5's POE
+F<src/io/core.c>, F<src/ops/io.ops>, F<include/parrot/io.h>,
+F<runtime/parrot/library/Stream/*>, F<src/io/unix.c>, F<src/io/win32.c>,
+Perl 5's IO::AIO, and POE
=cut
Modified: branches/ops_pct/docs/pdds/pdd23_exceptions.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd23_exceptions.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd23_exceptions.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2007, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 23: Exceptions
@@ -447,20 +447,10 @@
=end PIR_FRAGMENT
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
- src/ops/core.ops
- src/exceptions.c
- src/pmc/exception.pmc
- src/pmc/exceptionhandler.pmc
+F<src/ops/core.ops>, F<src/exceptions.c>, F<src/pmc/exception.pmc>,
+F<src/pmc/exceptionhandler.pmc>
=cut
Modified: branches/ops_pct/docs/pdds/pdd24_events.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd24_events.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd24_events.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2007, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 24: Events
@@ -368,17 +368,9 @@
own implementations of timers, which may be used when performance on a
particular platform is more important than portability.
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
-src/events.c
+F<src/events.c>
L<http://www.seas.upenn.edu/~lipeng/homepage/unify.html>
Modified: branches/ops_pct/docs/pdds/pdd25_concurrency.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd25_concurrency.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd25_concurrency.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2007, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 PDD 25: Concurrency
@@ -422,40 +422,32 @@
=back
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
Dec 2003 - (Dan ponders threads based on POSIX and Perl 5 experience)
-<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/e64b22ab7de0a7a6/889b5d8c4cd267b7?lnk=gst&q=threads&rnum=3#889b5d8c4cd267b7>
+L<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/e64b22ab7de0a7a6/889b5d8c4cd267b7?lnk=gst&q=threads&rnum=3#889b5d8c4cd267b7>
Dec. 2003 - "threads and shared interpreter data structures"
-<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/e64ea4ff287e04fd/b71333e282d3d187?lnk=gst&q=threads&rnum=9#b71333e282d3d187>
+L<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/e64ea4ff287e04fd/b71333e282d3d187?lnk=gst&q=threads&rnum=9#b71333e282d3d187>
Jan. 2004 - "Threads Design. A Win32 perspective."
-<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/3209629b23306029/52ba9d37425ba015?lnk=gst&q=threads&rnum=8#52ba9d37425ba015>
+L<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/3209629b23306029/52ba9d37425ba015?lnk=gst&q=threads&rnum=8#52ba9d37425ba015>
Jan. 2004 - "Start of threads proposal"
-<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/4c7de440da84d5c6/04cfb70b0d81dfba?tvc=1&q=threads#04cfb70b0d81dfba>
+L<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/4c7de440da84d5c6/04cfb70b0d81dfba?tvc=1&q=threads#04cfb70b0d81dfba>
Sept. 2005 - "consider using OS threads"
-<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/40b50e3aa9255f8e/036a87b5d2b5ed2c?lnk=gst&q=threads&rnum=2#036a87b5d2b5ed2c>
+L<http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/40b50e3aa9255f8e/036a87b5d2b5ed2c?lnk=gst&q=threads&rnum=2#036a87b5d2b5ed2c>
Aug. 2007 - "multi-threading a work in progress"
-<http://perlmonks.org/?node_id=636466>
+L<http://perlmonks.org/?node_id=636466>
Concurrency as Futures -
-<http://www.cincomsmalltalk.com/userblogs/mls/blogView?showComments=true&entry=3336838959>
+L<http://www.cincomsmalltalk.com/userblogs/mls/blogView?showComments=true&entry=3336838959>
-Io language - <http://www.iolanguage.com/about/>
+Io language - L<http://www.iolanguage.com/about/>
-Java memory and concurrency - http://www.cs.umd.edu/~pugh/java/memoryModel/
+Java memory and concurrency - L<http://www.cs.umd.edu/~pugh/java/memoryModel/>
=cut
Modified: branches/ops_pct/docs/pdds/pdd26_ast.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd26_ast.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd26_ast.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Parrot Foundation
+# Copyright (C) 2007-2010, Parrot Foundation
# $Id$
=head1 PDD 26: Compiler Tools - Abstract Syntax Tree
@@ -561,7 +561,7 @@
=head2 References
-NA.
+None.
=cut
Modified: branches/ops_pct/docs/pdds/pdd27_multiple_dispatch.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd27_multiple_dispatch.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd27_multiple_dispatch.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
=head1 PDD 27: Multiple Dispatch
@@ -256,15 +256,9 @@
Multiple dispatch calls from within vtable functions call the
C<Parrot_mmd_invoke> routine from the public MMD API.
-=head2 Attachments
-
-None.
-
=head2 References
-docs/mmd.pod
-src/multidispatch.c
-src/pmc/multisub.pmc
+F<docs/mmd.pod>, F<src/multidispatch.c>, F<src/pmc/multisub.pmc>
=cut
Modified: branches/ops_pct/docs/pdds/pdd28_strings.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd28_strings.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd28_strings.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2009, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
=head1 PDD 28: Strings
@@ -379,13 +379,6 @@
value of flags. If both string arguments are null, return a new string created
according to the integer flags.
-=head4 Parrot_str_append (was string_append)
-
-Append one string to another and return the result. In the default case, the
-return value is the same as the first string argument (modifying that argument
-in place). If the first argument is COW or read-only, then the return value is
-a new string.
-
=head4 Parrot_str_new (was string_from_cstring)
Return a new string with the default encoding and character set. Accepts two
@@ -621,11 +614,10 @@
Old Perl 5-style behavior where "aa" goes to "bb". Only useful for ASCII
strings, and not terribly useful even there.
-=head4 Parrot_string_cstring
+=head4 Parrot_str_cstring
Unsafe, and behavior handled by Parrot_str_to_cstring.
-
=head4 Parrot_str_split
Splits the string C<str> at the delimiter C<delim>.
@@ -826,15 +818,15 @@
=head2 References
-http://sirviente.9grid.es/sources/plan9/sys/doc/utf.ps - Plan 9's Runes are
+L<http://sirviente.9grid.es/sources/plan9/sys/doc/utf.ps> - Plan 9's Runes are
not dissimilar to NFG strings, and this is a good introduction to the Unicode
world.
-http://www.unicode.org/reports/tr15/ - The Unicode Consortium's
+L<http://www.unicode.org/reports/tr15/> - The Unicode Consortium's
explanation of different normalization forms.
-http://unicode.org/reports/tr29/ - "grapheme clusters" in the Unicode Standard
-Annex
+L<http://unicode.org/reports/tr29/> - "grapheme clusters" in the Unicode
+Standard Annex
"Unicode: A Primer", Tony Graham - Arguably the most readable book on
how Unicode works.
Modified: branches/ops_pct/docs/pdds/pdd30_install.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd30_install.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd30_install.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2009, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
=head1 PDD 30: Installation
@@ -7,8 +7,8 @@
This PDD outlines Parrot's installation system and support. Parrot's core
installation system will provide support for binary packages, a working C<make
-install> target, compiled installables, and FHS compliant search paths for the
-installables.
+install> target, compiled installables, and Filesystem Hierarchy Standard
+(FHS) compliant search paths for the installables.
=head2 Version
@@ -33,9 +33,8 @@
=head2 Description
-Parrot uses Filesystem Hierarchy Standard (FHS) compliant install directories
-by default. Each install location is configurable with options passed to the
-configure script.
+Parrot uses FHS compliant install directories by default. Each install
+location is configurable with options passed to the configure script.
=over
@@ -84,7 +83,7 @@
It is recommended that languages follow a standard pattern in installing their
libraries so a bytecode compiled version of a module in the C<mylang> HLL
named C<['Foo';'Bar']> is stored in
-F<usr/lib/parrot/E<lt>versionE<gt>/languages/E<lt>mylangE<gt>/library/Foo/Bar.pbc>
+F</usr/lib/parrot/E<lt>versionE<gt>/languages/E<lt>mylangE<gt>/library/Foo/Bar.pbc>
=item F</usr/lib/parrot/E<lt>versionE<gt>/tools/>
@@ -115,7 +114,7 @@
separate package), F<libgdm> and F<libreadline>.
Building a language depends on a series of Parrot build tools, installed in
-F</usr/lib/parrot/E<lt>version/tools>. These tools will generally not be
+F</usr/lib/parrot/E<lt>versionE<gt>/tools>. These tools will generally not be
included in the default C<parrot> package on most systems, languages will
require a C<parrot-dev> package to be installed before they can be built.
@@ -161,14 +160,6 @@
good choice, and can be combined with Autoconf, CMake, Perl, Python,
etc. for more complex conditional builds).
-=head2 Attachments
-
-None.
-
-=head2 Footnotes
-
-None.
-
=head2 References
None.
Modified: branches/ops_pct/docs/pdds/pdd_template.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd_template.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pdds/pdd_template.pod Wed May 5 08:45:29 2010 (r46302)
@@ -1,16 +1,16 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 Design Document Template
-=head2 Version
-
-$Revision$
-
=head2 Abstract
Summary of the contents of the PDD.
+=head2 Version
+
+$Revision$
+
=head2 Synopsis I<(optional)>
Code snippets showing the semantics of the PDD (if applicable).
@@ -33,11 +33,11 @@
=head2 Attachments
-Any associated documents.
+Any associated documents. (optional)
=head2 Footnotes
-List of footnotes to the text.
+List of footnotes to the text. (optional)
=head2 References
Modified: branches/ops_pct/docs/pmc.pod
==============================================================================
--- branches/ops_pct/docs/pmc.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pmc.pod Wed May 5 08:45:29 2010 (r46302)
@@ -37,11 +37,19 @@
generate a struct containing all ATTRs, including those inherited via
C<extends> declarations. This struct will be named in the form
C<Parrot_x_attributes>, where C<x> is the name of your PMC, e.g.
-C<Parrot_FixedIntegerArray_attributes>. When creating a PMC that has one or
-more ATTRs, the C<Parrot_x_attributes> struct must be allocated and assigned to
-C<PMC_data> in the PMC's C<init()> and C<init_pmc()> VTABLE functions (if used)
-and it must be destroyed in the C<destroy()> VTABLE function. PMCs with ATTRs
-also need to indicate that they need active destruction by calling
+C<Parrot_FixedIntegerArray_attributes>.
+
+When creating a PMC that has one or more ATTRs, the C<Parrot_x_attributes>
+struct must be allocated and assigned to C<PMC_data>, and freed on PMC
+destruction. This can be done automatically by using the auto_attrs flag in
+the PMC declaration, or manually by using the manual_attrs flag. You must set
+one of those flags, a warning is emitted otherwise. In future releases
+auto_attrs will be the default.
+
+If manual_attrs is specified or assumed the struct must be manually allocated
+in the PMC's C<init()> and C<init_pmc()> VTABLE functions (if used)
+and it must be destroyed in the C<destroy()> VTABLE function, the PMC must
+also indicate that they need active destruction by calling
C<PObj_custom_destroy_SET()> or C<PObj_custom_mark_destroy_SETALL()>.
If your PMC only needs to store a single pointer, it can use C<PMC_data> directly.
Modified: branches/ops_pct/docs/pmc/documentation.pod
==============================================================================
--- branches/ops_pct/docs/pmc/documentation.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pmc/documentation.pod Wed May 5 08:45:29 2010 (r46302)
@@ -36,7 +36,8 @@
F<docs/pdds/pdd21_namespaces.pod>.
Exporter is not derived from any other PMC, and does not provide any
- standard interface--its interface consists solely of non-vtable methods.
+ standard interface--its interface consists solely of methods, not
+ vtable functions.
The B<DESCRIPTION> section is further broken down as follows:
Modified: branches/ops_pct/docs/pmc2c.pod
==============================================================================
--- branches/ops_pct/docs/pmc2c.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/pmc2c.pod Wed May 5 08:45:29 2010 (r46302)
@@ -133,17 +133,28 @@
=item 3.
-A list of vtable method implementations
+A list of attribute declarations:
+
+ ATTR INTVAL id;
+
+The ATTR declaration keyword is followed by the type of the attribute and the
+name of the attribute. Any valid C type is a valid attribute type, but only
+INTVAL, FLOATVAL, STRING *, and PMC * can be handled directly from PIR. Other
+types are generally only used by low-level internal PMCs.
=item 4.
+A list of vtable function implementations
+
+=item 5.
+
The final close C<}>
=back
=head2 Method Body Substitutions
-The vtable method bodies can use the following substitutions:
+The vtable function bodies can use the following substitutions:
=over 4
@@ -157,11 +168,11 @@
=item C<OtherClass.SELF.method(a,b,c)>
-Calls the static vtable method 'method' in C<OtherClass>.
+Calls the static vtable or method 'method' in C<OtherClass>.
=item C<SELF.method(a,b,c)>
-Calls the vtable method 'method' using the dynamic type of C<SELF>.
+Calls the vtable or method 'method' using the dynamic type of C<SELF>.
=item C<SELF(a,b,c)>
@@ -169,7 +180,7 @@
=item C<STATICSELF.method(a,b,c)>
-Calls the vtable method 'method' using the static type of C<SELF> (in
+Calls the vtable or method 'method' using the static type of C<SELF> (in
other words, calls another method defined in the same file).
=item C<OtherClass.SUPER(a,b,c)>
Modified: branches/ops_pct/docs/porting_intro.pod
==============================================================================
--- branches/ops_pct/docs/porting_intro.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/porting_intro.pod Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/docs/project/debian_packaging_guide.pod
==============================================================================
--- branches/ops_pct/docs/project/debian_packaging_guide.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/project/debian_packaging_guide.pod Wed May 5 08:45:29 2010 (r46302)
@@ -82,36 +82,42 @@
=item 6.
+Make sure you have C<quilt> installed. Run:
+
+ $ aptitude install quilt
+
+=item 7.
+
Regenerate the debian/control file. From the
~/deb/parrot/parrot-<version>/ directory, run:
$ debian/rules debian-control-stamp
-=item 7.
+=item 8.
Install all dependencies:
$ sudo /usr/lib/pbuilder/pbuilder-satisfydepends
-=item 8.
+=item 9.
Build the packages. From ~/deb/parrot/parrot_<version>/, run:
$ export DEBSIGN_KEYID="<gpg key id>"
$ debuild
-=item 9.
+=item 10.
Check the package for errors. From ~/deb/parrot, run:
$ lintian -i parrot_<version>.changes
-=item 10.
+=item 11.
Commit all changes made to the files in the debian/ directory to the Parrot
repository.
-=item 11.
+=item 12.
Upload the packages to http://alioth.debian.org. (If you don't have admin
privileges, ask someone who does.) From any of the project pages, click on the
@@ -166,7 +172,7 @@
=item 2.
Set up a chroot environment for building packages. See
-<http://www.perlfoundation.org/parrot/index.cgi?debian_chroot_setup>.
+<http://trac.parrot.org/parrot/wiki/ChrootSetup>.
=back
Modified: branches/ops_pct/docs/project/metacommitter_guide.pod
==============================================================================
--- branches/ops_pct/docs/project/metacommitter_guide.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/project/metacommitter_guide.pod Wed May 5 08:45:29 2010 (r46302)
@@ -66,11 +66,13 @@
Congratulate the new member publicly by sending an email to
parrot-dev at lists.parrot.org, and copying the new committer.
-
The steps for the "languages" repository and Trac instance are the same,
except the URLs are L<https://trac.parrot.org/languages/...> and the
committer group is "languages_committers".
+Note that commit messages from the new member will be automatically held
+pending list-admin approval.
+
=head2 To manage the list of Metacommitters
Only existing Metacommitters can perform this activity.
Modified: branches/ops_pct/docs/project/release_manager_guide.pod
==============================================================================
--- branches/ops_pct/docs/project/release_manager_guide.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/project/release_manager_guide.pod Wed May 5 08:45:29 2010 (r46302)
@@ -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>.
@@ -213,14 +213,15 @@
$ mkdir ~/ftp/releases/devel/a.b.c
-If the release is in the stable series (L<Appendix 1 - Upcoming releases>)
-create the new directory in F<~/ftp/releases/stable> instead.
+If the release is in the supported series (L<Appendix 1 - Upcoming releases>)
+create the new directory in F<~/ftp/releases/supported> instead.
- $ mkdir ~/ftp/releases/stable/a.b.c
+ $ mkdir ~/ftp/releases/supported/a.b.c
-Copy the tarball from your machine into the new directory.
+Copy the different compressed tarballs from your machine into the new directory.
- $ scp parrot-a.b.c.tar.gz <USERNAME>@ftp-osl.osuosl.org:~/ftp/releases/devel/a.b.c/.
+ $ scp parrot-a.b.c.tar.gz parrot-a.b.c.tar.bz2 \
+ <USERNAME>@ftp-osl.osuosl.org:~/ftp/releases/devel/a.b.c/.
(Or using C<wget> or whatever tool you prefer.)
@@ -282,10 +283,10 @@
=item e
Under "Administer" -> "Site building" -> "URL Redirects", change the URL for
-"release/current" to the FTP directory for the new release (for example,
-F<ftp://ftp.parrot.org/pub/parrot/releases/devel/0.8.1>). Also update
-the URL for "release/developer" or "release/supported" depending on
-which type of release this is.
+"release/current" to the FTP file for the new release (for example,
+F<ftp://ftp.parrot.org/pub/parrot/releases/devel/0.8.1/parrot-0.8.1.tar.gz>).
+Also update the URL for "release/developer" or "release/supported" depending
+on which type of release this is.
=item f
@@ -293,9 +294,9 @@
the resources/ and html/ directories created in docs/.
ssh into the parrotvm, and in the
webroot for docs.parrot.org, expand these into a release directory (e.g.
-1.4.0). in <webroot>/parrot, there are symbolic links for latest, stable,
+1.4.0). in <webroot>/parrot, there are symbolic links for latest, supported,
and devel. Update the latest symlink to point to your new directory.
-If this is a stable release, also update the stable symlink. Do not delete
+If this is a supported release, also update the supported symlink. Do not delete
any old copies of the docs.
=back
@@ -393,11 +394,11 @@
visible at
L<http://www.google.com/calendar/render?cid=ldhctdamsgfg5a1cord52po9h8@group.calendar.google.com>.
- - Mar 16, 2010 - 2.2 - cotto
- - Apr 20, 2010 - 2.3* - gerd
- May 18, 2010 - 2.4 - whiteknight
- Jun 15, 2010 - 2.5 - gerd
- Jul 20, 2010 - 2.6* - coke
+ - Aug 17, 2010 - 2.7 - ??
+ - Sep 21, 2010 - 2.8 - gerd
=cut
Modified: branches/ops_pct/docs/running.pod
==============================================================================
--- branches/ops_pct/docs/running.pod Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/docs/running.pod Wed May 5 08:45:29 2010 (r46302)
@@ -135,13 +135,10 @@
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>
The C<jit>, C<switch-jit>, and C<cgp-jit> options are currently aliases for the
C<fast>, C<switch>, and C<cgp> options, respectively. We do not recommend
@@ -248,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/ops_pct/editor/pir-mode.el
==============================================================================
--- branches/ops_pct/editor/pir-mode.el Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/editor/pir-mode.el Wed May 5 08:45:29 2010 (r46302)
@@ -153,7 +153,7 @@
"ManagedStruct" "MultiSub" "NCI" "NameSpace" "Null"
"OS" "Object" "OrderedHash" "PMCProxy" "ParrotClass"
"ParrotIO" "ParrotInterpreter" "ParrotLibrary" "ParrotObject"
- "ParrotRunningThread" "ParrotThread" "Pointer"
+ "ParrotThread" "Pointer"
"ResizableBooleanArray" "ResizableFloatArray" "ResizableIntegerArray"
"ResizablePMCArray" "ResizableStringArray" "RetContinuation"
"Role" "Scalar" "String" "Sub" "Super"
Modified: branches/ops_pct/examples/benchmarks/oo1.pir
==============================================================================
--- branches/ops_pct/examples/benchmarks/oo1.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/benchmarks/oo1.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/benchmarks/oo2.pir
==============================================================================
--- branches/ops_pct/examples/benchmarks/oo2.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/benchmarks/oo2.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/benchmarks/stress_strings.pir (from r46301, trunk/examples/benchmarks/stress_strings.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/examples/benchmarks/stress_strings.pir Wed May 5 08:45:29 2010 (r46302, copy of r46301, 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/ops_pct/examples/c/test_main.c
==============================================================================
--- branches/ops_pct/examples/c/test_main.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/c/test_main.c Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/config/file/configcompiler
==============================================================================
--- branches/ops_pct/examples/config/file/configcompiler Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/config/file/configcompiler Wed May 5 08:45:29 2010 (r46302)
@@ -50,7 +50,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/ops_pct/examples/config/file/configwithfatalstep
==============================================================================
--- branches/ops_pct/examples/config/file/configwithfatalstep Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/config/file/configwithfatalstep Wed May 5 08:45:29 2010 (r46302)
@@ -42,7 +42,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/ops_pct/examples/embed/Makefile
==============================================================================
--- branches/ops_pct/examples/embed/Makefile Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/embed/Makefile Wed May 5 08:45:29 2010 (r46302)
@@ -12,6 +12,7 @@
CC = $(shell parrot_config cc)
CCFLAGS = $(shell parrot_config ccflags)
+CCWARN = $(shell parrot_config ccwarn)
LD = $(shell parrot_config ld)
LD_OUT = $(shell parrot_config ld_out)
LINKFLAGS = $(shell parrot_config inst_libparrot_linkflags) $(shell parrot_config rpath_lib)
@@ -28,7 +29,7 @@
#-----------------------------------------------------------------------
cotorra$(O): cotorra.c
- $(CC) $(CCFLAGS) -c -I $(INCLUDEDIR) cotorra.c
+ $(CC) $(CCFLAGS) $(CCWARN) -c -I $(INCLUDEDIR) cotorra.c
cotorra$(EXE): cotorra$(O)
$(LD) $(LD_OUT)cotorra$(EXE) cotorra$(O) $(CONFIG)$(O) $(LINKFLAGS)
Modified: branches/ops_pct/examples/embed/cotorra.c
==============================================================================
--- branches/ops_pct/examples/embed/cotorra.c Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/embed/cotorra.c Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/japh/japh3.pasm
==============================================================================
--- branches/ops_pct/examples/japh/japh3.pasm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/japh/japh3.pasm Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/json/postalcodes.pir
==============================================================================
--- branches/ops_pct/examples/json/postalcodes.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/json/postalcodes.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/languages/abc/setup.pir
==============================================================================
--- branches/ops_pct/examples/languages/abc/setup.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/languages/abc/setup.pir Wed May 5 08:45:29 2010 (r46302)
@@ -40,7 +40,7 @@
$P1 = new 'Hash'
$P1['src/gen_grammar.pir'] = 'src/parser/grammar.nqp'
$P1['src/gen_actions.pir'] = 'src/parser/actions.nqp'
- $P0['pir_nqp-rx'] = $P1
+ $P0['pir_nqprx'] = $P1
$P2 = new 'Hash'
$P3 = split "\n", <<'SOURCES'
@@ -58,6 +58,9 @@
$P0['exe_pbc'] = $P4
$P0['installable_pbc'] = $P4
+ # test
+ $P0['test_exec'] = 'perl'
+
# dist
$P4 = glob('t/abc_*')
$P0['manifest_includes'] = $P4
Modified: branches/ops_pct/examples/languages/squaak/setup.pir
==============================================================================
--- branches/ops_pct/examples/languages/squaak/setup.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/languages/squaak/setup.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/languages/squaak/src/parser/actions.pm
==============================================================================
--- branches/ops_pct/examples/languages/squaak/src/parser/actions.pm Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/languages/squaak/src/parser/actions.pm Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/library/ncurses_life.pir
==============================================================================
--- branches/ops_pct/examples/library/ncurses_life.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/library/ncurses_life.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/nci/Xlib.pir
==============================================================================
--- branches/ops_pct/examples/nci/Xlib.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/nci/Xlib.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/nci/xlibtest.pir
==============================================================================
--- branches/ops_pct/examples/nci/xlibtest.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/nci/xlibtest.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pge/demo.pir
==============================================================================
--- branches/ops_pct/examples/pge/demo.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pge/demo.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pir/befunge/debug.pir
==============================================================================
--- branches/ops_pct/examples/pir/befunge/debug.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/befunge/debug.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pir/befunge/io.pir
==============================================================================
--- branches/ops_pct/examples/pir/befunge/io.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/befunge/io.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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, ""
+ $S0 = replace $S0, 0, i, ""
$P0 = $S0
set_global "user_input", $P0
Modified: branches/ops_pct/examples/pir/befunge/load.pir
==============================================================================
--- branches/ops_pct/examples/pir/befunge/load.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/befunge/load.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pir/befunge/setup.pir
==============================================================================
--- branches/ops_pct/examples/pir/befunge/setup.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/befunge/setup.pir Wed May 5 08:45:29 2010 (r46302)
@@ -55,6 +55,9 @@
$P0['exe_pbc'] = $P3
$P0['installable_pbc'] = $P3
+ # test
+ $P0['test_exec'] = 'perl'
+
# dist
$P4 = glob('*.bef')
$P0['manifest_includes'] = $P4
Modified: branches/ops_pct/examples/pir/io.pir
==============================================================================
--- branches/ops_pct/examples/pir/io.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/io.pir Wed May 5 08:45:29 2010 (r46302)
@@ -37,6 +37,7 @@
print $S0
# now clean up after ourselves.
+ $P0 = loadlib 'os'
$P1 = new "OS"
$P1."rm"(test_fn)
Modified: branches/ops_pct/examples/pir/pirric.pir
==============================================================================
--- branches/ops_pct/examples/pir/pirric.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/pirric.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pir/quine_ord.pir
==============================================================================
--- branches/ops_pct/examples/pir/quine_ord.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/quine_ord.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/pir/substr.pir
==============================================================================
--- branches/ops_pct/examples/pir/substr.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/pir/substr.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/sdl/mandel.pir
==============================================================================
--- branches/ops_pct/examples/sdl/mandel.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/sdl/mandel.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/ack.pir
==============================================================================
--- branches/ops_pct/examples/shootout/ack.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/ack.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/binarytrees.pir
==============================================================================
--- branches/ops_pct/examples/shootout/binarytrees.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/binarytrees.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/ops_pct/examples/shootout/fasta.pir
==============================================================================
--- branches/ops_pct/examples/shootout/fasta.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/fasta.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/ops_pct/examples/shootout/knucleotide.pir
==============================================================================
--- branches/ops_pct/examples/shootout/knucleotide.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/knucleotide.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/partialsums.pir
==============================================================================
--- branches/ops_pct/examples/shootout/partialsums.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/partialsums.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2006-2009, Parrot Foundation.
# $Id$
#
Modified: branches/ops_pct/examples/shootout/pidigits.pir
==============================================================================
--- branches/ops_pct/examples/shootout/pidigits.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/pidigits.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/ops_pct/examples/shootout/random.pir
==============================================================================
--- branches/ops_pct/examples/shootout/random.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/random.pir Wed May 5 08:45:29 2010 (r46302)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/ops_pct/examples/shootout/recursive-2.pir
==============================================================================
--- branches/ops_pct/examples/shootout/recursive-2.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/recursive-2.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/recursive.pir
==============================================================================
--- branches/ops_pct/examples/shootout/recursive.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/recursive.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/regexdna.pir
==============================================================================
--- branches/ops_pct/examples/shootout/regexdna.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/regexdna.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/revcomp.pir
==============================================================================
--- branches/ops_pct/examples/shootout/revcomp.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/revcomp.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/shootout/takfp.pir
==============================================================================
--- branches/ops_pct/examples/shootout/takfp.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/shootout/takfp.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/tutorial/23_string_ops_substr.pir
==============================================================================
--- branches/ops_pct/examples/tutorial/23_string_ops_substr.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/tutorial/23_string_ops_substr.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/examples/tutorial/40_file_ops.pir
==============================================================================
--- branches/ops_pct/examples/tutorial/40_file_ops.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/tutorial/40_file_ops.pir Wed May 5 08:45:29 2010 (r46302)
@@ -20,6 +20,7 @@
close filein
# Be nice and remove the temporary file we created.
+ $P0 = loadlib 'os'
$P1 = new ['OS']
$P1.'rm'('40_file_ops_data.txt')
.end
Modified: branches/ops_pct/examples/tutorial/56_defined.pir
==============================================================================
--- branches/ops_pct/examples/tutorial/56_defined.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/examples/tutorial/56_defined.pir Wed May 5 08:45:29 2010 (r46302)
@@ -26,7 +26,7 @@
=pod
Most PMC's, but not all, should return true for C<defined>. It all
-depends on how the PMC implements its vtable method for C<defined>.
+depends on how the PMC implements its vtable function for C<defined>.
For example the C<Undef> PMC always returns false (0) for C<defined>.
=cut
Modified: branches/ops_pct/ext/Parrot-Embed/Build.PL
==============================================================================
--- branches/ops_pct/ext/Parrot-Embed/Build.PL Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ext/Parrot-Embed/Build.PL Wed May 5 08:45:29 2010 (r46302)
@@ -1,3 +1,5 @@
+#! perl
+
use strict;
use warnings;
@@ -14,19 +16,19 @@
diag( my $path_sep = get_path_separator() );
my $class = Module::Build->subclass(
- code => <<"END_HERE",
- use File::Spec;
+ code => <<"END_HERE",
+ use File::Spec;
- sub ACTION_build
- {
- my \$self = shift;
- my \@cmd = ( qw( $parrot -o ),
- map { File::Spec->catfile( 't', "greet.\$_" ) } qw( pbc pir ) );
+ sub ACTION_build
+ {
+ my \$self = shift;
+ my \@cmd = ( qw( $parrot -o ),
+ map { File::Spec->catfile( 't', "greet.\$_" ) } qw( pbc pir ) );
- system( \@cmd ) == 0 or die "Cannot compile PBC for test: \$?";
+ system( \@cmd ) == 0 or die "Cannot compile PBC for test: \$?";
- \$self->SUPER::ACTION_build( \@_ );
- }
+ \$self->SUPER::ACTION_build( \@_ );
+ }
sub ACTION_test
{
@@ -42,27 +44,27 @@
);
my $builder = $class->new(
- module_name => 'Parrot::Embed',
- license => 'perl',
- dist_author => 'chromatic <chromatic at wgz.org>',
- dist_version_from => 'lib/Parrot/Embed.pm',
- build_requires =>
- {
- 'Test::More' => 0,
- 'ExtUtils::CBuilder' => 0,
- },
- add_to_cleanup => [ 'Parrot-Embed-*' ],
+ module_name => 'Parrot::Embed',
+ license => 'perl',
+ dist_author => 'chromatic <chromatic at wgz.org>',
+ dist_version_from => 'lib/Parrot/Embed.pm',
+ build_requires =>
+ {
+ 'Test::More' => 0,
+ 'ExtUtils::CBuilder' => 0,
+ },
+ add_to_cleanup => [ 'Parrot-Embed-*' ],
include_dirs => [ $incp ],
- extra_compiler_flags => $cflags,
- extra_linker_flags => $lflags,
+ extra_compiler_flags => $cflags,
+ extra_linker_flags => $lflags,
);
$builder->create_build_script();
sub in_parrot_tree
{
- my $cwd = cwd();
- return $cwd =~ /\bext\b.Parrot/;
+ my $cwd = cwd();
+ return $cwd =~ /\bext\b.Parrot/;
}
sub get_dl_env_var
@@ -81,46 +83,48 @@
sub get_compiler_flags
{
- my $in_parrot_tree = shift;
- return get_flags_from_parrot_src() if $in_parrot_tree;
- return get_flags_from_pkg_config() if $ENV{PKG_CONFIG_PATH};
+ my $in_parrot_tree = shift;
+ return get_flags_from_parrot_src() if $in_parrot_tree;
+ return get_flags_from_pkg_config() if $ENV{PKG_CONFIG_PATH};
}
sub get_flags_from_pkg_config
{
- require ExtUtils::PkgConfig;
- my %pkg_info = ExtUtils::PkgConfig->find( 'parrot' );
- return @pkg_info{qw( cflags libs )};
+ require ExtUtils::PkgConfig;
+ my %pkg_info = ExtUtils::PkgConfig->find( 'parrot' );
+ return @pkg_info{qw( cflags libs )};
}
sub get_flags_from_parrot_src
{
- my $updir = updir();
- my $file = catfile( $updir, $updir, 'parrot.pc' );
- open( my $fh, '<', $file ) or die "Cannot read $file: $!\n";
-
- my %vars;
- while (<$fh>)
- {
- chomp;
- last unless /\S/;
- my ($var, $value) = split(/=/, $_);
- $vars{$var} = $value;
- }
-
- while (<$fh>)
- {
- chomp;
- last unless /\S/;
- my ($var, $value) = split(/: /, $_);
- $value =~ s/\${(\w+)}/$vars{$1}/g;
- $vars{$var} = $value;
- }
+ my $updir = updir();
+ my $basedir = Cwd::realpath( catdir( cwd(), $updir, $updir ) );
+ my $file = catfile( $basedir, 'parrot.pc' );
+ open( my $fh, '<', $file ) or die "Cannot read $file: $!\n";
+
+ my %vars;
+ while (<$fh>)
+ {
+ chomp;
+ last unless /\S/;
+ }
+
+ $vars{libdir} = catdir( $basedir, 'lib' );
+ $vars{includedir} = catdir( $basedir, 'include' );
+
+ while (<$fh>)
+ {
+ chomp;
+ last unless /\S/;
+ my ($var, $value) = split(/: /, $_);
+ $value =~ s/\${(\w+)}/$vars{$1}/g;
+ $vars{$var} = $value;
+ }
$vars{Cflags} .= ' -I' . catdir( ($updir) x 2, 'include' );
$vars{Libs} .= $^O =~ /Win32/ ? ' ..\..\libparrot.lib' : " -L$libp";
- return @vars{qw( Cflags Libs )};
+ return @vars{qw( Cflags Libs )};
}
sub get_paths
@@ -135,42 +139,42 @@
sub get_parrot_path
{
- my $in_parrot_tree = shift;
- return get_parrot_path_internal() if $in_parrot_tree;
- return get_parrot_path_external();
+ my $in_parrot_tree = shift;
+ return get_parrot_path_internal() if $in_parrot_tree;
+ return get_parrot_path_external();
}
sub get_parrot_path_internal
{
- my $updir = updir();
- my $path = catfile(($updir) x 2, get_parrot_executable_name());
+ my $updir = updir();
+ my $path = catfile(($updir) x 2, get_parrot_executable_name());
- die "parrot apparently not built!\n" unless -e $path;
- return $path;
+ die "parrot apparently not built!\n" unless -e $path;
+ return $path;
}
sub get_parrot_path_external
{
- my $parrot = get_parrot_executable_name();
+ my $parrot = get_parrot_executable_name();
- for my $path ( path() )
- {
- my $file = catfile( $path, $parrot );
- next unless -e $file;
- return $file;
- }
+ for my $path ( path() )
+ {
+ my $file = catfile( $path, $parrot );
+ next unless -e $file;
+ return $file;
+ }
- die "parrot apparently not installed in \$PATH\n";
+ die "parrot apparently not installed in \$PATH\n";
}
sub get_parrot_executable_name
{
- return 'parrot' unless $^O =~ /Win32/;
- return 'parrot.exe';
+ return 'parrot' unless $^O =~ /Win32/;
+ return 'parrot.exe';
}
sub diag
{
- return unless $ENV{PE_DEBUG};
- print STDERR "<$_>\n" for @_;
+ return unless $ENV{PE_DEBUG};
+ print STDERR "<$_>\n" for @_;
}
Modified: branches/ops_pct/ext/Parrot-Embed/MANIFEST
==============================================================================
--- branches/ops_pct/ext/Parrot-Embed/MANIFEST Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ext/Parrot-Embed/MANIFEST Wed May 5 08:45:29 2010 (r46302)
@@ -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/ops_pct/ext/Parrot-Embed/lib/Parrot/Embed.xs
==============================================================================
--- branches/ops_pct/ext/Parrot-Embed/lib/Parrot/Embed.xs Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ext/Parrot-Embed/lib/Parrot/Embed.xs Wed May 5 08:45:29 2010 (r46302)
@@ -223,7 +223,7 @@
pmc_actual = pmc->pmc;
interp = get_interp( pmc->interp );
arg_string = Parrot_str_new_constant( interp, argument );
- Parrot_ext_call( interp, pmc_actual, signature, arg_string, &out_pmc );
+ Parrot_pcc_invoke_sub_from_c_args( interp, pmc_actual, signature, arg_string, &out_pmc );
RETVAL = make_pmc( aTHX_ pmc->interp, out_pmc );
OUTPUT:
RETVAL
Modified: branches/ops_pct/ext/Parrot-Embed/t/interp.t
==============================================================================
--- branches/ops_pct/ext/Parrot-Embed/t/interp.t Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ext/Parrot-Embed/t/interp.t Wed May 5 08:45:29 2010 (r46302)
@@ -1,12 +1,12 @@
#!perl
-# Copyright (C) 2006-2009, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
use strict;
use warnings;
-use Test::More tests => 26;
+use Test::More tests => 23;
use File::Spec;
my $hello_pbc = File::Spec->catfile( 't', 'greet.pbc' );
@@ -45,7 +45,7 @@
'... but again, not if there is no global of that name there' );
can_ok( $global_greet, 'invoke' );
-my $pmc = $global_greet->invoke( 'PS', 'Bob' );
+my $pmc = $global_greet->invoke( 'S->P', 'Bob' );
ok( $pmc, 'invoke() should return a PMC, given that signature' );
is( $pmc->get_string(), 'Hello, Bob!', '... containing a string returned in the PMC' );
@@ -66,27 +66,35 @@
ok( $eval, 'compile() should compile PIR code and return a PMC' );
isa_ok( $eval, 'Parrot::PMC' );
+=for comment
+
TODO:
{
local $TODO = 'compile_string() returns wrong results';
- ok( !$interp->compile('blah'), '... but only for valid PIR' );
+ # ok( !$interp->compile('blah'), '... but only for valid PIR' );
}
-$pmc = $else_greet->invoke( 'P', '' );
+$pmc = $else_greet->invoke( 'S->P', '' );
is( $pmc->get_string(), 'Hiya!', '... calling the passed-in subroutine' );
my $foo = $interp->find_global('foo');
-$pmc = $foo->invoke( 'PS', 'BAR' );
+$pmc = $foo->invoke( 'S->P', 'BAR' );
is( $pmc->get_string(), 'BAR FOO ',
'... and compiled sub should work just like any other Sub pmc' );
+my $foo;
+
+=cut
+
+my $foo;
+
{
my $die_interp = $module->new($interp);
eval { $die_interp->load_file($hello_pbc) };
$foo = $die_interp->find_global('greet');
}
-$pmc = $foo->invoke( 'PS', 'out of scope' );
+$pmc = $foo->invoke( 'S->P', 'out of scope' );
is(
$pmc->get_string(),
'Hello, out of scope!',
Deleted: branches/ops_pct/ext/nqp-rx/.gitignore
==============================================================================
--- branches/ops_pct/ext/nqp-rx/.gitignore Wed May 5 08:45:29 2010 (r46301)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,15 +0,0 @@
-Makefile
-/parrot
-/parrot_install
-.*.swp
-*.c
-*.o
-Regex.pbc
-HLL.pbc
-P6Regex
-P6Regex.pbc
-nqp
-nqp.pbc
-src/gen/*.pir
-src/stage1
-src/stage2
Modified: branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir Wed May 5 08:26:03 2010 (r46301)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir Wed May 5 08:45:29 2010 (r46302)
@@ -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'
@@ -522,7 +522,7 @@
.end
-.sub 'split_words' :method
+.sub 'split_words' :method :nsentry
.param string words
.local int pos, eos
.local pmc result
@@ -854,111 +854,117 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1267204683.33533")
+.sub "_block11" :anon :subid("10_1272816829.8573")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
.annotate "line", 5
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
- $P296 = $P14()
+ $P339 = $P14()
.annotate "line", 1
- .return ($P296)
+ .return ($P339)
.end
.namespace []
-.sub "" :load :init :subid("post94") :outer("10_1267204683.33533")
+.sub "" :load :init :subid("post103") :outer("10_1272816829.8573")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1267204683.33533"
+ .const 'Sub' $P12 = "10_1272816829.8573"
.local pmc block
set block, $P12
- $P297 = get_root_global ["parrot"], "P6metaclass"
- $P297."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
+ $P340 = get_root_global ["parrot"], "P6metaclass"
+ $P340."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
.end
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1267204683.33533") :outer("10_1267204683.33533")
+.sub "_block13" :subid("11_1272816829.8573") :outer("10_1272816829.8573")
.annotate "line", 5
- .const 'Sub' $P286 = "92_1267204683.33533"
- capture_lex $P286
- .const 'Sub' $P279 = "90_1267204683.33533"
- capture_lex $P279
- .const 'Sub' $P266 = "87_1267204683.33533"
+ .const 'Sub' $P329 = "101_1272816829.8573"
+ capture_lex $P329
+ .const 'Sub' $P322 = "99_1272816829.8573"
+ capture_lex $P322
+ .const 'Sub' $P309 = "96_1272816829.8573"
+ capture_lex $P309
+ .const 'Sub' $P277 = "91_1272816829.8573"
+ capture_lex $P277
+ .const 'Sub' $P271 = "89_1272816829.8573"
+ capture_lex $P271
+ .const 'Sub' $P266 = "87_1272816829.8573"
capture_lex $P266
- .const 'Sub' $P261 = "85_1267204683.33533"
- capture_lex $P261
- .const 'Sub' $P255 = "83_1267204683.33533"
- capture_lex $P255
- .const 'Sub' $P249 = "81_1267204683.33533"
+ .const 'Sub' $P260 = "85_1272816829.8573"
+ capture_lex $P260
+ .const 'Sub' $P254 = "83_1272816829.8573"
+ capture_lex $P254
+ .const 'Sub' $P249 = "81_1272816829.8573"
capture_lex $P249
- .const 'Sub' $P244 = "79_1267204683.33533"
+ .const 'Sub' $P244 = "79_1272816829.8573"
capture_lex $P244
- .const 'Sub' $P239 = "77_1267204683.33533"
+ .const 'Sub' $P239 = "77_1272816829.8573"
capture_lex $P239
- .const 'Sub' $P234 = "75_1267204683.33533"
+ .const 'Sub' $P234 = "75_1272816829.8573"
capture_lex $P234
- .const 'Sub' $P229 = "73_1267204683.33533"
+ .const 'Sub' $P229 = "73_1272816829.8573"
capture_lex $P229
- .const 'Sub' $P224 = "71_1267204683.33533"
+ .const 'Sub' $P224 = "71_1272816829.8573"
capture_lex $P224
- .const 'Sub' $P219 = "69_1267204683.33533"
+ .const 'Sub' $P219 = "69_1272816829.8573"
capture_lex $P219
- .const 'Sub' $P208 = "65_1267204683.33533"
+ .const 'Sub' $P208 = "65_1272816829.8573"
capture_lex $P208
- .const 'Sub' $P195 = "63_1267204683.33533"
+ .const 'Sub' $P195 = "63_1272816829.8573"
capture_lex $P195
- .const 'Sub' $P183 = "61_1267204683.33533"
+ .const 'Sub' $P183 = "61_1272816829.8573"
capture_lex $P183
- .const 'Sub' $P176 = "59_1267204683.33533"
+ .const 'Sub' $P176 = "59_1272816829.8573"
capture_lex $P176
- .const 'Sub' $P167 = "57_1267204683.33533"
+ .const 'Sub' $P167 = "57_1272816829.8573"
capture_lex $P167
- .const 'Sub' $P160 = "55_1267204683.33533"
+ .const 'Sub' $P160 = "55_1272816829.8573"
capture_lex $P160
- .const 'Sub' $P151 = "53_1267204683.33533"
+ .const 'Sub' $P151 = "53_1272816829.8573"
capture_lex $P151
- .const 'Sub' $P144 = "51_1267204683.33533"
+ .const 'Sub' $P144 = "51_1272816829.8573"
capture_lex $P144
- .const 'Sub' $P135 = "49_1267204683.33533"
+ .const 'Sub' $P135 = "49_1272816829.8573"
capture_lex $P135
- .const 'Sub' $P128 = "47_1267204683.33533"
+ .const 'Sub' $P128 = "47_1272816829.8573"
capture_lex $P128
- .const 'Sub' $P121 = "45_1267204683.33533"
+ .const 'Sub' $P121 = "45_1272816829.8573"
capture_lex $P121
- .const 'Sub' $P111 = "43_1267204683.33533"
+ .const 'Sub' $P111 = "43_1272816829.8573"
capture_lex $P111
- .const 'Sub' $P103 = "41_1267204683.33533"
+ .const 'Sub' $P103 = "41_1272816829.8573"
capture_lex $P103
- .const 'Sub' $P93 = "40_1267204683.33533"
+ .const 'Sub' $P93 = "40_1272816829.8573"
capture_lex $P93
- .const 'Sub' $P87 = "38_1267204683.33533"
+ .const 'Sub' $P87 = "38_1272816829.8573"
capture_lex $P87
- .const 'Sub' $P82 = "36_1267204683.33533"
+ .const 'Sub' $P82 = "36_1272816829.8573"
capture_lex $P82
- .const 'Sub' $P74 = "34_1267204683.33533"
+ .const 'Sub' $P74 = "34_1272816829.8573"
capture_lex $P74
- .const 'Sub' $P68 = "32_1267204683.33533"
+ .const 'Sub' $P68 = "32_1272816829.8573"
capture_lex $P68
- .const 'Sub' $P62 = "30_1267204683.33533"
+ .const 'Sub' $P62 = "30_1272816829.8573"
capture_lex $P62
- .const 'Sub' $P56 = "28_1267204683.33533"
+ .const 'Sub' $P56 = "28_1272816829.8573"
capture_lex $P56
- .const 'Sub' $P23 = "14_1267204683.33533"
+ .const 'Sub' $P23 = "14_1272816829.8573"
capture_lex $P23
- .const 'Sub' $P15 = "12_1267204683.33533"
+ .const 'Sub' $P15 = "12_1272816829.8573"
capture_lex $P15
.annotate "line", 33
- .const 'Sub' $P286 = "92_1267204683.33533"
- capture_lex $P286
+ .const 'Sub' $P329 = "101_1272816829.8573"
+ capture_lex $P329
.annotate "line", 5
- .return ($P286)
+ .return ($P329)
.end
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "ws" :subid("12_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx16_tgt
.local int rx16_pos
@@ -1042,7 +1048,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1267204683.33533") :method
+.sub "!PREFIX__ws" :subid("13_1272816829.8573") :method
.annotate "line", 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1051,7 +1057,7 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "termish" :subid("14_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx24_tgt
.local int rx24_pos
@@ -1061,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"("prefixish", "postfixish")
+ rx24_cur."!cursor_caparray"("postfixish", "prefixish")
.lex unicode:"$\x{a2}", rx24_cur
.local pmc match
.lex "$/", match
@@ -1143,7 +1149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1267204683.33533") :method
+.sub "!PREFIX__termish" :subid("15_1272816829.8573") :method
.annotate "line", 5
new $P26, "ResizablePMCArray"
push $P26, ""
@@ -1152,7 +1158,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1267204683.33533") :method
+.sub "term" :subid("16_1272816829.8573") :method
.annotate "line", 13
$P33 = self."!protoregex"("term")
.return ($P33)
@@ -1160,7 +1166,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1267204683.33533") :method
+.sub "!PREFIX__term" :subid("17_1272816829.8573") :method
.annotate "line", 13
$P35 = self."!PREFIX__!protoregex"("term")
.return ($P35)
@@ -1168,7 +1174,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1267204683.33533") :method
+.sub "infix" :subid("18_1272816829.8573") :method
.annotate "line", 14
$P37 = self."!protoregex"("infix")
.return ($P37)
@@ -1176,7 +1182,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1267204683.33533") :method
+.sub "!PREFIX__infix" :subid("19_1272816829.8573") :method
.annotate "line", 14
$P39 = self."!PREFIX__!protoregex"("infix")
.return ($P39)
@@ -1184,7 +1190,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1267204683.33533") :method
+.sub "prefix" :subid("20_1272816829.8573") :method
.annotate "line", 15
$P41 = self."!protoregex"("prefix")
.return ($P41)
@@ -1192,7 +1198,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1267204683.33533") :method
+.sub "!PREFIX__prefix" :subid("21_1272816829.8573") :method
.annotate "line", 15
$P43 = self."!PREFIX__!protoregex"("prefix")
.return ($P43)
@@ -1200,7 +1206,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1267204683.33533") :method
+.sub "postfix" :subid("22_1272816829.8573") :method
.annotate "line", 16
$P45 = self."!protoregex"("postfix")
.return ($P45)
@@ -1208,7 +1214,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1267204683.33533") :method
+.sub "!PREFIX__postfix" :subid("23_1272816829.8573") :method
.annotate "line", 16
$P47 = self."!PREFIX__!protoregex"("postfix")
.return ($P47)
@@ -1216,7 +1222,7 @@
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1267204683.33533") :method
+.sub "circumfix" :subid("24_1272816829.8573") :method
.annotate "line", 17
$P49 = self."!protoregex"("circumfix")
.return ($P49)
@@ -1224,7 +1230,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1267204683.33533") :method
+.sub "!PREFIX__circumfix" :subid("25_1272816829.8573") :method
.annotate "line", 17
$P51 = self."!PREFIX__!protoregex"("circumfix")
.return ($P51)
@@ -1232,7 +1238,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1267204683.33533") :method
+.sub "postcircumfix" :subid("26_1272816829.8573") :method
.annotate "line", 18
$P53 = self."!protoregex"("postcircumfix")
.return ($P53)
@@ -1240,7 +1246,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1267204683.33533") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1272816829.8573") :method
.annotate "line", 18
$P55 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P55)
@@ -1248,7 +1254,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "term:sym<circumfix>" :subid("28_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx57_tgt
.local int rx57_pos
@@ -1306,7 +1312,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1267204683.33533") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1272816829.8573") :method
.annotate "line", 5
$P59 = self."!PREFIX__!subrule"("circumfix", "")
new $P60, "ResizablePMCArray"
@@ -1316,7 +1322,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "infixish" :subid("30_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx63_tgt
.local int rx63_pos
@@ -1374,7 +1380,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1267204683.33533") :method
+.sub "!PREFIX__infixish" :subid("31_1272816829.8573") :method
.annotate "line", 5
$P65 = self."!PREFIX__!subrule"("OPER=infix", "")
new $P66, "ResizablePMCArray"
@@ -1384,7 +1390,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "prefixish" :subid("32_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx69_tgt
.local int rx69_pos
@@ -1447,7 +1453,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1267204683.33533") :method
+.sub "!PREFIX__prefixish" :subid("33_1272816829.8573") :method
.annotate "line", 5
$P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
new $P72, "ResizablePMCArray"
@@ -1457,7 +1463,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "postfixish" :subid("34_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx75_tgt
.local int rx75_pos
@@ -1531,7 +1537,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1267204683.33533") :method
+.sub "!PREFIX__postfixish" :subid("35_1272816829.8573") :method
.annotate "line", 5
$P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
$P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1543,7 +1549,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "nullterm" :subid("36_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx83_tgt
.local int rx83_pos
@@ -1594,7 +1600,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1267204683.33533") :method
+.sub "!PREFIX__nullterm" :subid("37_1272816829.8573") :method
.annotate "line", 5
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1603,7 +1609,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "nullterm_alt" :subid("38_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx88_tgt
.local int rx88_pos
@@ -1661,7 +1667,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1267204683.33533") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1272816829.8573") :method
.annotate "line", 5
$P90 = self."!PREFIX__!subrule"("term", "")
new $P91, "ResizablePMCArray"
@@ -1671,11 +1677,11 @@
.namespace ["HLL";"Grammar"]
-.sub "nulltermish" :subid("40_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "nulltermish" :subid("40_1272816829.8573") :method :outer("11_1272816829.8573")
.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"
@@ -1698,7 +1704,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_delimited" :subid("41_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx104_tgt
.local int rx104_pos
@@ -1780,7 +1786,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1267204683.33533") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1272816829.8573") :method
.annotate "line", 33
$P106 = self."!PREFIX__!subrule"("starter", "")
new $P107, "ResizablePMCArray"
@@ -1790,7 +1796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_atom" :subid("43_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx112_tgt
.local int rx112_pos
@@ -1881,7 +1887,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1267204683.33533") :method
+.sub "!PREFIX__quote_atom" :subid("44_1272816829.8573") :method
.annotate "line", 33
new $P114, "ResizablePMCArray"
push $P114, ""
@@ -1890,7 +1896,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "decint" :subid("45_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx122_tgt
.local int rx122_pos
@@ -1962,7 +1968,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1267204683.33533") :method
+.sub "!PREFIX__decint" :subid("46_1272816829.8573") :method
.annotate "line", 33
new $P124, "ResizablePMCArray"
push $P124, ""
@@ -1971,7 +1977,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("47_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "decints" :subid("47_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx129_tgt
.local int rx129_pos
@@ -1980,7 +1986,7 @@
.local int rx129_rep
.local pmc rx129_cur
(rx129_cur, rx129_pos, rx129_tgt) = self."!cursor_start"()
- rx129_cur."!cursor_debug"("START ", "hexints")
+ rx129_cur."!cursor_debug"("START ", "decints")
rx129_cur."!cursor_caparray"("decint")
.lex unicode:"$\x{a2}", rx129_cur
.local pmc match
@@ -2037,8 +2043,8 @@
goto rxquantr133_loop
rxquantr133_done:
# rx pass
- rx129_cur."!cursor_pass"(rx129_pos, "hexints")
- rx129_cur."!cursor_debug"("PASS ", "hexints", " at pos=", rx129_pos)
+ rx129_cur."!cursor_pass"(rx129_pos, "decints")
+ rx129_cur."!cursor_debug"("PASS ", "decints", " at pos=", rx129_pos)
.return (rx129_cur)
rx129_fail:
.annotate "line", 33
@@ -2048,14 +2054,14 @@
jump $I10
rx129_done:
rx129_cur."!cursor_fail"()
- rx129_cur."!cursor_debug"("FAIL ", "hexints")
+ rx129_cur."!cursor_debug"("FAIL ", "decints")
.return (rx129_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("48_1267204683.33533") :method
+.sub "!PREFIX__decints" :subid("48_1272816829.8573") :method
.annotate "line", 33
new $P131, "ResizablePMCArray"
push $P131, ""
@@ -2064,7 +2070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "hexint" :subid("49_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx136_tgt
.local int rx136_pos
@@ -2145,7 +2151,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1267204683.33533") :method
+.sub "!PREFIX__hexint" :subid("50_1272816829.8573") :method
.annotate "line", 33
new $P138, "ResizablePMCArray"
push $P138, ""
@@ -2154,7 +2160,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "hexints" :subid("51_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx145_tgt
.local int rx145_pos
@@ -2238,7 +2244,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1267204683.33533") :method
+.sub "!PREFIX__hexints" :subid("52_1272816829.8573") :method
.annotate "line", 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2247,7 +2253,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "octint" :subid("53_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx152_tgt
.local int rx152_pos
@@ -2328,7 +2334,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1267204683.33533") :method
+.sub "!PREFIX__octint" :subid("54_1272816829.8573") :method
.annotate "line", 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2337,7 +2343,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "octints" :subid("55_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx161_tgt
.local int rx161_pos
@@ -2421,7 +2427,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1267204683.33533") :method
+.sub "!PREFIX__octints" :subid("56_1272816829.8573") :method
.annotate "line", 33
new $P163, "ResizablePMCArray"
push $P163, ""
@@ -2430,7 +2436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "binint" :subid("57_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx168_tgt
.local int rx168_pos
@@ -2511,7 +2517,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1267204683.33533") :method
+.sub "!PREFIX__binint" :subid("58_1272816829.8573") :method
.annotate "line", 33
new $P170, "ResizablePMCArray"
push $P170, ""
@@ -2520,7 +2526,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "binints" :subid("59_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx177_tgt
.local int rx177_pos
@@ -2604,7 +2610,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1267204683.33533") :method
+.sub "!PREFIX__binints" :subid("60_1272816829.8573") :method
.annotate "line", 33
new $P179, "ResizablePMCArray"
push $P179, ""
@@ -2613,7 +2619,7 @@
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "integer" :subid("61_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx184_tgt
.local int rx184_pos
@@ -2761,7 +2767,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1267204683.33533") :method
+.sub "!PREFIX__integer" :subid("62_1272816829.8573") :method
.annotate "line", 33
$P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
$P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2779,7 +2785,7 @@
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "dec_number" :subid("63_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx196_tgt
.local int rx196_pos
@@ -2958,7 +2964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1267204683.33533") :method
+.sub "!PREFIX__dec_number" :subid("64_1272816829.8573") :method
.annotate "line", 33
new $P198, "ResizablePMCArray"
push $P198, ""
@@ -2969,7 +2975,7 @@
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "escale" :subid("65_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx209_tgt
.local int rx209_pos
@@ -3046,7 +3052,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1267204683.33533") :method
+.sub "!PREFIX__escale" :subid("66_1272816829.8573") :method
.annotate "line", 33
new $P211, "ResizablePMCArray"
push $P211, "e"
@@ -3056,7 +3062,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1267204683.33533") :method
+.sub "quote_escape" :subid("67_1272816829.8573") :method
.annotate "line", 79
$P216 = self."!protoregex"("quote_escape")
.return ($P216)
@@ -3064,7 +3070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1267204683.33533") :method
+.sub "!PREFIX__quote_escape" :subid("68_1272816829.8573") :method
.annotate "line", 79
$P218 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P218)
@@ -3072,7 +3078,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<backslash>" :subid("69_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx220_tgt
.local int rx220_pos
@@ -3134,7 +3140,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1272816829.8573") :method
.annotate "line", 33
new $P222, "ResizablePMCArray"
push $P222, "\\\\"
@@ -3143,7 +3149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<stopper>" :subid("71_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx225_tgt
.local int rx225_pos
@@ -3212,7 +3218,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1272816829.8573") :method
.annotate "line", 33
new $P227, "ResizablePMCArray"
push $P227, "\\"
@@ -3221,7 +3227,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<bs>" :subid("73_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx230_tgt
.local int rx230_pos
@@ -3283,7 +3289,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1272816829.8573") :method
.annotate "line", 33
new $P232, "ResizablePMCArray"
push $P232, "\\b"
@@ -3292,7 +3298,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<nl>" :subid("75_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx235_tgt
.local int rx235_pos
@@ -3354,7 +3360,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1272816829.8573") :method
.annotate "line", 33
new $P237, "ResizablePMCArray"
push $P237, "\\n"
@@ -3363,7 +3369,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<cr>" :subid("77_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx240_tgt
.local int rx240_pos
@@ -3425,7 +3431,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1272816829.8573") :method
.annotate "line", 33
new $P242, "ResizablePMCArray"
push $P242, "\\r"
@@ -3434,7 +3440,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<tab>" :subid("79_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx245_tgt
.local int rx245_pos
@@ -3496,7 +3502,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1272816829.8573") :method
.annotate "line", 33
new $P247, "ResizablePMCArray"
push $P247, "\\t"
@@ -3505,7 +3511,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("81_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<ff>" :subid("81_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx250_tgt
.local int rx250_pos
@@ -3514,7 +3520,7 @@
.local int rx250_rep
.local pmc rx250_cur
(rx250_cur, rx250_pos, rx250_tgt) = self."!cursor_start"()
- rx250_cur."!cursor_debug"("START ", "quote_escape:sym<hex>")
+ rx250_cur."!cursor_debug"("START ", "quote_escape:sym<ff>")
.lex unicode:"$\x{a2}", rx250_cur
.local pmc match
.lex "$/", match
@@ -3536,57 +3542,21 @@
set_addr $I10, rxscan253_loop
rx250_cur."!mark_push"(0, rx250_pos, $I10)
rxscan253_done:
-.annotate "line", 88
- # rx literal unicode:"\\x"
+.annotate "line", 87
+ # rx literal "\\f"
add $I11, rx250_pos, 2
gt $I11, rx250_eos, rx250_fail
sub $I11, rx250_pos, rx250_off
substr $S10, rx250_tgt, $I11, 2
- ne $S10, unicode:"\\x", rx250_fail
+ ne $S10, "\\f", rx250_fail
add rx250_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
rx250_cur."!cursor_pos"(rx250_pos)
$P10 = rx250_cur."quotemod_check"("b")
unless $P10, rx250_fail
- alt254_0:
-.annotate "line", 89
- set_addr $I10, alt254_1
- rx250_cur."!mark_push"(0, rx250_pos, $I10)
- # rx subrule "hexint" subtype=capture negate=
- rx250_cur."!cursor_pos"(rx250_pos)
- $P10 = rx250_cur."hexint"()
- unless $P10, rx250_fail
- rx250_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("hexint")
- rx250_pos = $P10."pos"()
- goto alt254_end
- alt254_1:
- # rx literal "["
- add $I11, rx250_pos, 1
- gt $I11, rx250_eos, rx250_fail
- sub $I11, rx250_pos, rx250_off
- substr $S10, rx250_tgt, $I11, 1
- ne $S10, "[", rx250_fail
- add rx250_pos, 1
- # rx subrule "hexints" subtype=capture negate=
- rx250_cur."!cursor_pos"(rx250_pos)
- $P10 = rx250_cur."hexints"()
- unless $P10, rx250_fail
- rx250_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("hexints")
- rx250_pos = $P10."pos"()
- # rx literal "]"
- add $I11, rx250_pos, 1
- gt $I11, rx250_eos, rx250_fail
- sub $I11, rx250_pos, rx250_off
- substr $S10, rx250_tgt, $I11, 1
- ne $S10, "]", rx250_fail
- add rx250_pos, 1
- alt254_end:
-.annotate "line", 87
# rx pass
- rx250_cur."!cursor_pass"(rx250_pos, "quote_escape:sym<hex>")
- rx250_cur."!cursor_debug"("PASS ", "quote_escape:sym<hex>", " at pos=", rx250_pos)
+ rx250_cur."!cursor_pass"(rx250_pos, "quote_escape:sym<ff>")
+ rx250_cur."!cursor_debug"("PASS ", "quote_escape:sym<ff>", " at pos=", rx250_pos)
.return (rx250_cur)
rx250_fail:
.annotate "line", 33
@@ -3596,211 +3566,238 @@
jump $I10
rx250_done:
rx250_cur."!cursor_fail"()
- rx250_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
+ rx250_cur."!cursor_debug"("FAIL ", "quote_escape:sym<ff>")
.return (rx250_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("82_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1272816829.8573") :method
.annotate "line", 33
new $P252, "ResizablePMCArray"
- push $P252, unicode:"\\x"
+ push $P252, "\\f"
.return ($P252)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("83_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<hex>" :subid("83_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .local string rx256_tgt
- .local int rx256_pos
- .local int rx256_off
- .local int rx256_eos
- .local int rx256_rep
- .local pmc rx256_cur
- (rx256_cur, rx256_pos, rx256_tgt) = self."!cursor_start"()
- rx256_cur."!cursor_debug"("START ", "quote_escape:sym<oct>")
- .lex unicode:"$\x{a2}", rx256_cur
+ .local string rx255_tgt
+ .local int rx255_pos
+ .local int rx255_off
+ .local int rx255_eos
+ .local int rx255_rep
+ .local pmc rx255_cur
+ (rx255_cur, rx255_pos, rx255_tgt) = self."!cursor_start"()
+ rx255_cur."!cursor_debug"("START ", "quote_escape:sym<hex>")
+ .lex unicode:"$\x{a2}", rx255_cur
.local pmc match
.lex "$/", match
- length rx256_eos, rx256_tgt
- set rx256_off, 0
- lt rx256_pos, 2, rx256_start
- sub rx256_off, rx256_pos, 1
- substr rx256_tgt, rx256_tgt, rx256_off
- rx256_start:
+ length rx255_eos, rx255_tgt
+ set rx255_off, 0
+ lt rx255_pos, 2, rx255_start
+ sub rx255_off, rx255_pos, 1
+ substr rx255_tgt, rx255_tgt, rx255_off
+ rx255_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan259_done
- goto rxscan259_scan
- rxscan259_loop:
- ($P10) = rx256_cur."from"()
+ ne $I10, -1, rxscan258_done
+ goto rxscan258_scan
+ rxscan258_loop:
+ ($P10) = rx255_cur."from"()
inc $P10
- set rx256_pos, $P10
- ge rx256_pos, rx256_eos, rxscan259_done
- rxscan259_scan:
- set_addr $I10, rxscan259_loop
- rx256_cur."!mark_push"(0, rx256_pos, $I10)
- rxscan259_done:
-.annotate "line", 92
- # rx literal "\\o"
- add $I11, rx256_pos, 2
- gt $I11, rx256_eos, rx256_fail
- sub $I11, rx256_pos, rx256_off
- substr $S10, rx256_tgt, $I11, 2
- ne $S10, "\\o", rx256_fail
- add rx256_pos, 2
+ set rx255_pos, $P10
+ ge rx255_pos, rx255_eos, rxscan258_done
+ rxscan258_scan:
+ set_addr $I10, rxscan258_loop
+ rx255_cur."!mark_push"(0, rx255_pos, $I10)
+ rxscan258_done:
+.annotate "line", 89
+ # rx literal unicode:"\\x"
+ add $I11, rx255_pos, 2
+ gt $I11, rx255_eos, rx255_fail
+ sub $I11, rx255_pos, rx255_off
+ substr $S10, rx255_tgt, $I11, 2
+ ne $S10, unicode:"\\x", rx255_fail
+ add rx255_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx256_cur."!cursor_pos"(rx256_pos)
- $P10 = rx256_cur."quotemod_check"("b")
- unless $P10, rx256_fail
- alt260_0:
-.annotate "line", 93
- set_addr $I10, alt260_1
- rx256_cur."!mark_push"(0, rx256_pos, $I10)
- # rx subrule "octint" subtype=capture negate=
- rx256_cur."!cursor_pos"(rx256_pos)
- $P10 = rx256_cur."octint"()
- unless $P10, rx256_fail
- rx256_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("octint")
- rx256_pos = $P10."pos"()
- goto alt260_end
- alt260_1:
+ rx255_cur."!cursor_pos"(rx255_pos)
+ $P10 = rx255_cur."quotemod_check"("b")
+ unless $P10, rx255_fail
+ alt259_0:
+.annotate "line", 90
+ set_addr $I10, alt259_1
+ rx255_cur."!mark_push"(0, rx255_pos, $I10)
+ # rx subrule "hexint" subtype=capture negate=
+ rx255_cur."!cursor_pos"(rx255_pos)
+ $P10 = rx255_cur."hexint"()
+ unless $P10, rx255_fail
+ rx255_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("hexint")
+ rx255_pos = $P10."pos"()
+ goto alt259_end
+ alt259_1:
# rx literal "["
- add $I11, rx256_pos, 1
- gt $I11, rx256_eos, rx256_fail
- sub $I11, rx256_pos, rx256_off
- substr $S10, rx256_tgt, $I11, 1
- ne $S10, "[", rx256_fail
- add rx256_pos, 1
- # rx subrule "octints" subtype=capture negate=
- rx256_cur."!cursor_pos"(rx256_pos)
- $P10 = rx256_cur."octints"()
- unless $P10, rx256_fail
- rx256_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("octints")
- rx256_pos = $P10."pos"()
+ add $I11, rx255_pos, 1
+ gt $I11, rx255_eos, rx255_fail
+ sub $I11, rx255_pos, rx255_off
+ substr $S10, rx255_tgt, $I11, 1
+ ne $S10, "[", rx255_fail
+ add rx255_pos, 1
+ # rx subrule "hexints" subtype=capture negate=
+ rx255_cur."!cursor_pos"(rx255_pos)
+ $P10 = rx255_cur."hexints"()
+ unless $P10, rx255_fail
+ rx255_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("hexints")
+ rx255_pos = $P10."pos"()
# rx literal "]"
- add $I11, rx256_pos, 1
- gt $I11, rx256_eos, rx256_fail
- sub $I11, rx256_pos, rx256_off
- substr $S10, rx256_tgt, $I11, 1
- ne $S10, "]", rx256_fail
- add rx256_pos, 1
- alt260_end:
-.annotate "line", 91
+ add $I11, rx255_pos, 1
+ gt $I11, rx255_eos, rx255_fail
+ sub $I11, rx255_pos, rx255_off
+ substr $S10, rx255_tgt, $I11, 1
+ ne $S10, "]", rx255_fail
+ add rx255_pos, 1
+ alt259_end:
+.annotate "line", 88
# rx pass
- rx256_cur."!cursor_pass"(rx256_pos, "quote_escape:sym<oct>")
- rx256_cur."!cursor_debug"("PASS ", "quote_escape:sym<oct>", " at pos=", rx256_pos)
- .return (rx256_cur)
- rx256_fail:
-.annotate "line", 33
- (rx256_rep, rx256_pos, $I10, $P10) = rx256_cur."!mark_fail"(0)
- lt rx256_pos, -1, rx256_done
- eq rx256_pos, -1, rx256_fail
+ rx255_cur."!cursor_pass"(rx255_pos, "quote_escape:sym<hex>")
+ rx255_cur."!cursor_debug"("PASS ", "quote_escape:sym<hex>", " at pos=", rx255_pos)
+ .return (rx255_cur)
+ rx255_fail:
+.annotate "line", 33
+ (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
+ lt rx255_pos, -1, rx255_done
+ eq rx255_pos, -1, rx255_fail
jump $I10
- rx256_done:
- rx256_cur."!cursor_fail"()
- rx256_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
- .return (rx256_cur)
+ rx255_done:
+ rx255_cur."!cursor_fail"()
+ rx255_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
+ .return (rx255_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("84_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1272816829.8573") :method
.annotate "line", 33
- new $P258, "ResizablePMCArray"
- push $P258, "\\o"
- .return ($P258)
+ new $P257, "ResizablePMCArray"
+ push $P257, unicode:"\\x"
+ .return ($P257)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("85_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<oct>" :subid("85_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .local string rx262_tgt
- .local int rx262_pos
- .local int rx262_off
- .local int rx262_eos
- .local int rx262_rep
- .local pmc rx262_cur
- (rx262_cur, rx262_pos, rx262_tgt) = self."!cursor_start"()
- rx262_cur."!cursor_debug"("START ", "quote_escape:sym<chr>")
- .lex unicode:"$\x{a2}", rx262_cur
+ .local string rx261_tgt
+ .local int rx261_pos
+ .local int rx261_off
+ .local int rx261_eos
+ .local int rx261_rep
+ .local pmc rx261_cur
+ (rx261_cur, rx261_pos, rx261_tgt) = self."!cursor_start"()
+ rx261_cur."!cursor_debug"("START ", "quote_escape:sym<oct>")
+ .lex unicode:"$\x{a2}", rx261_cur
.local pmc match
.lex "$/", match
- length rx262_eos, rx262_tgt
- set rx262_off, 0
- lt rx262_pos, 2, rx262_start
- sub rx262_off, rx262_pos, 1
- substr rx262_tgt, rx262_tgt, rx262_off
- rx262_start:
+ length rx261_eos, rx261_tgt
+ set rx261_off, 0
+ lt rx261_pos, 2, rx261_start
+ sub rx261_off, rx261_pos, 1
+ substr rx261_tgt, rx261_tgt, rx261_off
+ rx261_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan265_done
- goto rxscan265_scan
- rxscan265_loop:
- ($P10) = rx262_cur."from"()
+ ne $I10, -1, rxscan264_done
+ goto rxscan264_scan
+ rxscan264_loop:
+ ($P10) = rx261_cur."from"()
inc $P10
- set rx262_pos, $P10
- ge rx262_pos, rx262_eos, rxscan265_done
- rxscan265_scan:
- set_addr $I10, rxscan265_loop
- rx262_cur."!mark_push"(0, rx262_pos, $I10)
- rxscan265_done:
-.annotate "line", 95
- # rx literal "\\c"
- add $I11, rx262_pos, 2
- gt $I11, rx262_eos, rx262_fail
- sub $I11, rx262_pos, rx262_off
- substr $S10, rx262_tgt, $I11, 2
- ne $S10, "\\c", rx262_fail
- add rx262_pos, 2
+ set rx261_pos, $P10
+ ge rx261_pos, rx261_eos, rxscan264_done
+ rxscan264_scan:
+ set_addr $I10, rxscan264_loop
+ rx261_cur."!mark_push"(0, rx261_pos, $I10)
+ rxscan264_done:
+.annotate "line", 93
+ # rx literal "\\o"
+ add $I11, rx261_pos, 2
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 2
+ ne $S10, "\\o", rx261_fail
+ add rx261_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx262_cur."!cursor_pos"(rx262_pos)
- $P10 = rx262_cur."quotemod_check"("b")
- unless $P10, rx262_fail
- # rx subrule "charspec" subtype=capture negate=
- rx262_cur."!cursor_pos"(rx262_pos)
- $P10 = rx262_cur."charspec"()
- unless $P10, rx262_fail
- rx262_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("charspec")
- rx262_pos = $P10."pos"()
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."quotemod_check"("b")
+ unless $P10, rx261_fail
+ alt265_0:
+.annotate "line", 94
+ set_addr $I10, alt265_1
+ rx261_cur."!mark_push"(0, rx261_pos, $I10)
+ # rx subrule "octint" subtype=capture negate=
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."octint"()
+ unless $P10, rx261_fail
+ rx261_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("octint")
+ rx261_pos = $P10."pos"()
+ goto alt265_end
+ alt265_1:
+ # rx literal "["
+ add $I11, rx261_pos, 1
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 1
+ ne $S10, "[", rx261_fail
+ add rx261_pos, 1
+ # rx subrule "octints" subtype=capture negate=
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."octints"()
+ unless $P10, rx261_fail
+ rx261_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("octints")
+ rx261_pos = $P10."pos"()
+ # rx literal "]"
+ add $I11, rx261_pos, 1
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 1
+ ne $S10, "]", rx261_fail
+ add rx261_pos, 1
+ alt265_end:
+.annotate "line", 92
# rx pass
- rx262_cur."!cursor_pass"(rx262_pos, "quote_escape:sym<chr>")
- rx262_cur."!cursor_debug"("PASS ", "quote_escape:sym<chr>", " at pos=", rx262_pos)
- .return (rx262_cur)
- rx262_fail:
-.annotate "line", 33
- (rx262_rep, rx262_pos, $I10, $P10) = rx262_cur."!mark_fail"(0)
- lt rx262_pos, -1, rx262_done
- eq rx262_pos, -1, rx262_fail
+ rx261_cur."!cursor_pass"(rx261_pos, "quote_escape:sym<oct>")
+ rx261_cur."!cursor_debug"("PASS ", "quote_escape:sym<oct>", " at pos=", rx261_pos)
+ .return (rx261_cur)
+ rx261_fail:
+.annotate "line", 33
+ (rx261_rep, rx261_pos, $I10, $P10) = rx261_cur."!mark_fail"(0)
+ lt rx261_pos, -1, rx261_done
+ eq rx261_pos, -1, rx261_fail
jump $I10
- rx262_done:
- rx262_cur."!cursor_fail"()
- rx262_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
- .return (rx262_cur)
+ rx261_done:
+ rx261_cur."!cursor_fail"()
+ rx261_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
+ .return (rx261_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("86_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1272816829.8573") :method
.annotate "line", 33
- new $P264, "ResizablePMCArray"
- push $P264, "\\c"
- .return ($P264)
+ new $P263, "ResizablePMCArray"
+ push $P263, "\\o"
+ .return ($P263)
.end
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("87_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "quote_escape:sym<chr>" :subid("87_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .const 'Sub' $P276 = "89_1267204683.33533"
- capture_lex $P276
.local string rx267_tgt
.local int rx267_pos
.local int rx267_off
@@ -3808,7 +3805,7 @@
.local int rx267_rep
.local pmc rx267_cur
(rx267_cur, rx267_pos, rx267_tgt) = self."!cursor_start"()
- rx267_cur."!cursor_debug"("START ", "charname")
+ rx267_cur."!cursor_debug"("START ", "quote_escape:sym<chr>")
.lex unicode:"$\x{a2}", rx267_cur
.local pmc match
.lex "$/", match
@@ -3819,73 +3816,39 @@
substr rx267_tgt, rx267_tgt, rx267_off
rx267_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan271_done
- goto rxscan271_scan
- rxscan271_loop:
+ ne $I10, -1, rxscan270_done
+ goto rxscan270_scan
+ rxscan270_loop:
($P10) = rx267_cur."from"()
inc $P10
set rx267_pos, $P10
- ge rx267_pos, rx267_eos, rxscan271_done
- rxscan271_scan:
- set_addr $I10, rxscan271_loop
- rx267_cur."!mark_push"(0, rx267_pos, $I10)
- rxscan271_done:
- alt272_0:
-.annotate "line", 97
- set_addr $I10, alt272_1
+ ge rx267_pos, rx267_eos, rxscan270_done
+ rxscan270_scan:
+ set_addr $I10, rxscan270_loop
rx267_cur."!mark_push"(0, rx267_pos, $I10)
-.annotate "line", 98
- # rx subrule "integer" subtype=capture negate=
+ rxscan270_done:
+.annotate "line", 96
+ # rx literal "\\c"
+ add $I11, rx267_pos, 2
+ gt $I11, rx267_eos, rx267_fail
+ sub $I11, rx267_pos, rx267_off
+ substr $S10, rx267_tgt, $I11, 2
+ ne $S10, "\\c", rx267_fail
+ add rx267_pos, 2
+ # rx subrule "quotemod_check" subtype=zerowidth negate=
rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."integer"()
+ $P10 = rx267_cur."quotemod_check"("b")
unless $P10, rx267_fail
- rx267_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("integer")
- rx267_pos = $P10."pos"()
- goto alt272_end
- alt272_1:
-.annotate "line", 99
- # rx enumcharlist negate=0
- ge rx267_pos, rx267_eos, rx267_fail
- sub $I10, rx267_pos, rx267_off
- substr $S10, rx267_tgt, $I10, 1
- index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
- lt $I11, 0, rx267_fail
- inc rx267_pos
- # rx rxquantf273 ** 0..*
- set_addr $I10, rxquantf273_loop
- rx267_cur."!mark_push"(0, rx267_pos, $I10)
- goto rxquantf273_done
- rxquantf273_loop:
- # rx enumcharlist negate=1
- ge rx267_pos, rx267_eos, rx267_fail
- sub $I10, rx267_pos, rx267_off
- substr $S10, rx267_tgt, $I10, 1
- index $I11, "],#", $S10
- ge $I11, 0, rx267_fail
- inc rx267_pos
- set_addr $I10, rxquantf273_loop
- rx267_cur."!mark_push"($I274, rx267_pos, $I10)
- rxquantf273_done:
- # rx enumcharlist negate=0
- ge rx267_pos, rx267_eos, rx267_fail
- sub $I10, rx267_pos, rx267_off
- substr $S10, rx267_tgt, $I10, 1
- index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)", $S10
- lt $I11, 0, rx267_fail
- inc rx267_pos
-.annotate "line", 100
- # rx subrule "before" subtype=zerowidth negate=
+ # rx subrule "charspec" subtype=capture negate=
rx267_cur."!cursor_pos"(rx267_pos)
- .const 'Sub' $P276 = "89_1267204683.33533"
- capture_lex $P276
- $P10 = rx267_cur."before"($P276)
+ $P10 = rx267_cur."charspec"()
unless $P10, rx267_fail
- alt272_end:
-.annotate "line", 97
+ rx267_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("charspec")
+ rx267_pos = $P10."pos"()
# rx pass
- rx267_cur."!cursor_pass"(rx267_pos, "charname")
- rx267_cur."!cursor_debug"("PASS ", "charname", " at pos=", rx267_pos)
+ rx267_cur."!cursor_pass"(rx267_pos, "quote_escape:sym<chr>")
+ rx267_cur."!cursor_debug"("PASS ", "quote_escape:sym<chr>", " at pos=", rx267_pos)
.return (rx267_cur)
rx267_fail:
.annotate "line", 33
@@ -3895,499 +3858,954 @@
jump $I10
rx267_done:
rx267_cur."!cursor_fail"()
- rx267_cur."!cursor_debug"("FAIL ", "charname")
+ rx267_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
.return (rx267_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("88_1267204683.33533") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1272816829.8573") :method
.annotate "line", 33
- $P269 = self."!PREFIX__!subrule"("integer", "")
- new $P270, "ResizablePMCArray"
- push $P270, "Z"
- push $P270, "Y"
- push $P270, "X"
- push $P270, "W"
- push $P270, "V"
- push $P270, "U"
- push $P270, "T"
- push $P270, "S"
- push $P270, "R"
- push $P270, "Q"
- push $P270, "P"
- push $P270, "O"
- push $P270, "N"
- push $P270, "M"
- push $P270, "L"
- push $P270, "K"
- push $P270, "J"
- push $P270, "I"
- push $P270, "H"
- push $P270, "G"
- push $P270, "F"
- push $P270, "E"
- push $P270, "D"
- push $P270, "C"
- push $P270, "B"
- push $P270, "A"
- push $P270, "z"
- push $P270, "y"
- push $P270, "x"
- push $P270, "w"
- push $P270, "v"
- push $P270, "u"
- push $P270, "t"
- push $P270, "s"
- push $P270, "r"
- push $P270, "q"
- push $P270, "p"
- push $P270, "o"
- push $P270, "n"
- push $P270, "m"
- push $P270, "l"
- push $P270, "k"
- push $P270, "j"
- push $P270, "i"
- push $P270, "h"
- push $P270, "g"
- push $P270, "f"
- push $P270, "e"
- push $P270, "d"
- push $P270, "c"
- push $P270, "b"
- push $P270, "a"
- push $P270, $P269
- .return ($P270)
+ new $P269, "ResizablePMCArray"
+ push $P269, "\\c"
+ .return ($P269)
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "quote_escape:sym<0>" :subid("89_1272816829.8573") :method :outer("11_1272816829.8573")
+.annotate "line", 33
+ .local string rx272_tgt
+ .local int rx272_pos
+ .local int rx272_off
+ .local int rx272_eos
+ .local int rx272_rep
+ .local pmc rx272_cur
+ (rx272_cur, rx272_pos, rx272_tgt) = self."!cursor_start"()
+ rx272_cur."!cursor_debug"("START ", "quote_escape:sym<0>")
+ .lex unicode:"$\x{a2}", rx272_cur
+ .local pmc match
+ .lex "$/", match
+ length rx272_eos, rx272_tgt
+ set rx272_off, 0
+ lt rx272_pos, 2, rx272_start
+ sub rx272_off, rx272_pos, 1
+ substr rx272_tgt, rx272_tgt, rx272_off
+ rx272_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan275_done
+ goto rxscan275_scan
+ rxscan275_loop:
+ ($P10) = rx272_cur."from"()
+ inc $P10
+ set rx272_pos, $P10
+ ge rx272_pos, rx272_eos, rxscan275_done
+ rxscan275_scan:
+ set_addr $I10, rxscan275_loop
+ rx272_cur."!mark_push"(0, rx272_pos, $I10)
+ rxscan275_done:
+.annotate "line", 97
+ # rx literal "\\"
+ add $I11, rx272_pos, 1
+ gt $I11, rx272_eos, rx272_fail
+ sub $I11, rx272_pos, rx272_off
+ substr $S10, rx272_tgt, $I11, 1
+ ne $S10, "\\", rx272_fail
+ add rx272_pos, 1
+ # rx subcapture "sym"
+ set_addr $I10, rxcap_276_fail
+ rx272_cur."!mark_push"(0, rx272_pos, $I10)
+ # rx literal "0"
+ add $I11, rx272_pos, 1
+ gt $I11, rx272_eos, rx272_fail
+ sub $I11, rx272_pos, rx272_off
+ substr $S10, rx272_tgt, $I11, 1
+ ne $S10, "0", rx272_fail
+ add rx272_pos, 1
+ set_addr $I10, rxcap_276_fail
+ ($I12, $I11) = rx272_cur."!mark_peek"($I10)
+ rx272_cur."!cursor_pos"($I11)
+ ($P10) = rx272_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx272_pos, "")
+ rx272_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("sym")
+ goto rxcap_276_done
+ rxcap_276_fail:
+ goto rx272_fail
+ rxcap_276_done:
+ # rx subrule "quotemod_check" subtype=zerowidth negate=
+ rx272_cur."!cursor_pos"(rx272_pos)
+ $P10 = rx272_cur."quotemod_check"("b")
+ unless $P10, rx272_fail
+ # rx pass
+ rx272_cur."!cursor_pass"(rx272_pos, "quote_escape:sym<0>")
+ rx272_cur."!cursor_debug"("PASS ", "quote_escape:sym<0>", " at pos=", rx272_pos)
+ .return (rx272_cur)
+ rx272_fail:
+.annotate "line", 33
+ (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
+ lt rx272_pos, -1, rx272_done
+ eq rx272_pos, -1, rx272_fail
+ jump $I10
+ rx272_done:
+ rx272_cur."!cursor_fail"()
+ rx272_cur."!cursor_debug"("FAIL ", "quote_escape:sym<0>")
+ .return (rx272_cur)
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1272816829.8573") :method
+.annotate "line", 33
+ new $P274, "ResizablePMCArray"
+ push $P274, "\\0"
+ .return ($P274)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block275" :anon :subid("89_1267204683.33533") :method :outer("87_1267204683.33533")
+.sub "quote_escape:sym<misc>" :subid("91_1272816829.8573") :method :outer("11_1272816829.8573")
+.annotate "line", 33
+ .const 'Sub' $P297 = "95_1272816829.8573"
+ capture_lex $P297
+ .const 'Sub' $P290 = "94_1272816829.8573"
+ capture_lex $P290
+ .const 'Sub' $P285 = "93_1272816829.8573"
+ capture_lex $P285
+ .local string rx278_tgt
+ .local int rx278_pos
+ .local int rx278_off
+ .local int rx278_eos
+ .local int rx278_rep
+ .local pmc rx278_cur
+ (rx278_cur, rx278_pos, rx278_tgt) = self."!cursor_start"()
+ rx278_cur."!cursor_debug"("START ", "quote_escape:sym<misc>")
+ .lex unicode:"$\x{a2}", rx278_cur
+ .local pmc match
+ .lex "$/", match
+ length rx278_eos, rx278_tgt
+ set rx278_off, 0
+ lt rx278_pos, 2, rx278_start
+ sub rx278_off, rx278_pos, 1
+ substr rx278_tgt, rx278_tgt, rx278_off
+ rx278_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan281_done
+ goto rxscan281_scan
+ rxscan281_loop:
+ ($P10) = rx278_cur."from"()
+ inc $P10
+ set rx278_pos, $P10
+ ge rx278_pos, rx278_eos, rxscan281_done
+ rxscan281_scan:
+ set_addr $I10, rxscan281_loop
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+ rxscan281_done:
+.annotate "line", 98
+ rx278_cur."!cursor_pos"(rx278_pos)
+ find_lex $P282, unicode:"$\x{a2}"
+ $P283 = $P282."MATCH"()
+ store_lex "$/", $P283
+.annotate "line", 99
+ .const 'Sub' $P285 = "93_1272816829.8573"
+ capture_lex $P285
+ $P286 = $P285()
+ # rx literal "\\"
+ add $I11, rx278_pos, 1
+ gt $I11, rx278_eos, rx278_fail
+ sub $I11, rx278_pos, rx278_off
+ substr $S10, rx278_tgt, $I11, 1
+ ne $S10, "\\", rx278_fail
+ add rx278_pos, 1
+ alt287_0:
.annotate "line", 100
- .local string rx277_tgt
- .local int rx277_pos
- .local int rx277_off
- .local int rx277_eos
- .local int rx277_rep
- .local pmc rx277_cur
- (rx277_cur, rx277_pos, rx277_tgt) = self."!cursor_start"()
- rx277_cur."!cursor_debug"("START ", "")
- .lex unicode:"$\x{a2}", rx277_cur
+ set_addr $I10, alt287_1
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+.annotate "line", 101
+ # rx subrule "quotemod_check" subtype=zerowidth negate=
+ rx278_cur."!cursor_pos"(rx278_pos)
+ $P10 = rx278_cur."quotemod_check"("b")
+ unless $P10, rx278_fail
+ alt288_0:
+.annotate "line", 102
+ set_addr $I10, alt288_1
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+.annotate "line", 103
+ # rx subrule $P290 subtype=capture negate=
+ rx278_cur."!cursor_pos"(rx278_pos)
+ .const 'Sub' $P290 = "94_1272816829.8573"
+ capture_lex $P290
+ $P10 = rx278_cur.$P290()
+ unless $P10, rx278_fail
+ rx278_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("textqq")
+ rx278_pos = $P10."pos"()
+ goto alt288_end
+ alt288_1:
+.annotate "line", 104
+ # rx subcapture "x"
+ set_addr $I10, rxcap_293_fail
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+ # rx charclass w
+ ge rx278_pos, rx278_eos, rx278_fail
+ sub $I10, rx278_pos, rx278_off
+ is_cclass $I11, 8192, rx278_tgt, $I10
+ unless $I11, rx278_fail
+ inc rx278_pos
+ set_addr $I10, rxcap_293_fail
+ ($I12, $I11) = rx278_cur."!mark_peek"($I10)
+ rx278_cur."!cursor_pos"($I11)
+ ($P10) = rx278_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx278_pos, "")
+ rx278_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("x")
+ goto rxcap_293_done
+ rxcap_293_fail:
+ goto rx278_fail
+ rxcap_293_done:
+ rx278_cur."!cursor_pos"(rx278_pos)
+ find_lex $P294, unicode:"$\x{a2}"
+ $P295 = $P294."MATCH"()
+ store_lex "$/", $P295
+ .const 'Sub' $P297 = "95_1272816829.8573"
+ capture_lex $P297
+ $P307 = $P297()
+ alt288_end:
+.annotate "line", 101
+ goto alt287_end
+ alt287_1:
+.annotate "line", 106
+ # rx subcapture "textq"
+ set_addr $I10, rxcap_308_fail
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+ # rx charclass .
+ ge rx278_pos, rx278_eos, rx278_fail
+ inc rx278_pos
+ set_addr $I10, rxcap_308_fail
+ ($I12, $I11) = rx278_cur."!mark_peek"($I10)
+ rx278_cur."!cursor_pos"($I11)
+ ($P10) = rx278_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx278_pos, "")
+ rx278_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("textq")
+ goto rxcap_308_done
+ rxcap_308_fail:
+ goto rx278_fail
+ rxcap_308_done:
+ alt287_end:
+.annotate "line", 98
+ # rx pass
+ rx278_cur."!cursor_pass"(rx278_pos, "quote_escape:sym<misc>")
+ rx278_cur."!cursor_debug"("PASS ", "quote_escape:sym<misc>", " at pos=", rx278_pos)
+ .return (rx278_cur)
+ rx278_fail:
+.annotate "line", 33
+ (rx278_rep, rx278_pos, $I10, $P10) = rx278_cur."!mark_fail"(0)
+ lt rx278_pos, -1, rx278_done
+ eq rx278_pos, -1, rx278_fail
+ jump $I10
+ rx278_done:
+ rx278_cur."!cursor_fail"()
+ rx278_cur."!cursor_debug"("FAIL ", "quote_escape:sym<misc>")
+ .return (rx278_cur)
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1272816829.8573") :method
+.annotate "line", 33
+ new $P280, "ResizablePMCArray"
+ push $P280, ""
+ .return ($P280)
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "_block284" :anon :subid("93_1272816829.8573") :outer("91_1272816829.8573")
+.annotate "line", 99
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "_block289" :anon :subid("94_1272816829.8573") :method :outer("91_1272816829.8573")
+.annotate "line", 103
+ .local string rx291_tgt
+ .local int rx291_pos
+ .local int rx291_off
+ .local int rx291_eos
+ .local int rx291_rep
+ .local pmc rx291_cur
+ (rx291_cur, rx291_pos, rx291_tgt) = self."!cursor_start"()
+ rx291_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx291_cur
+ .local pmc match
+ .lex "$/", match
+ length rx291_eos, rx291_tgt
+ set rx291_off, 0
+ lt rx291_pos, 2, rx291_start
+ sub rx291_off, rx291_pos, 1
+ substr rx291_tgt, rx291_tgt, rx291_off
+ rx291_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan292_done
+ goto rxscan292_scan
+ rxscan292_loop:
+ ($P10) = rx291_cur."from"()
+ inc $P10
+ set rx291_pos, $P10
+ ge rx291_pos, rx291_eos, rxscan292_done
+ rxscan292_scan:
+ set_addr $I10, rxscan292_loop
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
+ rxscan292_done:
+ # rx charclass W
+ ge rx291_pos, rx291_eos, rx291_fail
+ sub $I10, rx291_pos, rx291_off
+ is_cclass $I11, 8192, rx291_tgt, $I10
+ if $I11, rx291_fail
+ inc rx291_pos
+ # rx pass
+ rx291_cur."!cursor_pass"(rx291_pos, "")
+ rx291_cur."!cursor_debug"("PASS ", "", " at pos=", rx291_pos)
+ .return (rx291_cur)
+ rx291_fail:
+ (rx291_rep, rx291_pos, $I10, $P10) = rx291_cur."!mark_fail"(0)
+ lt rx291_pos, -1, rx291_done
+ eq rx291_pos, -1, rx291_fail
+ jump $I10
+ rx291_done:
+ rx291_cur."!cursor_fail"()
+ rx291_cur."!cursor_debug"("FAIL ", "")
+ .return (rx291_cur)
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "_block296" :anon :subid("95_1272816829.8573") :outer("91_1272816829.8573")
+.annotate "line", 104
+ find_lex $P298, "$/"
+ $P299 = $P298."CURSOR"()
+ new $P300, "String"
+ assign $P300, "Unrecognized backslash sequence: '\\"
+ find_lex $P301, "$/"
+ unless_null $P301, vivify_104
+ $P301 = root_new ['parrot';'Hash']
+ vivify_104:
+ set $P302, $P301["x"]
+ unless_null $P302, vivify_105
+ new $P302, "Undef"
+ vivify_105:
+ $S303 = $P302."Str"()
+ concat $P304, $P300, $S303
+ concat $P305, $P304, "'"
+ $P306 = $P299."panic"($P305)
+ .return ($P306)
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "charname" :subid("96_1272816829.8573") :method :outer("11_1272816829.8573")
+.annotate "line", 33
+ .const 'Sub' $P319 = "98_1272816829.8573"
+ capture_lex $P319
+ .local string rx310_tgt
+ .local int rx310_pos
+ .local int rx310_off
+ .local int rx310_eos
+ .local int rx310_rep
+ .local pmc rx310_cur
+ (rx310_cur, rx310_pos, rx310_tgt) = self."!cursor_start"()
+ rx310_cur."!cursor_debug"("START ", "charname")
+ .lex unicode:"$\x{a2}", rx310_cur
+ .local pmc match
+ .lex "$/", match
+ length rx310_eos, rx310_tgt
+ set rx310_off, 0
+ lt rx310_pos, 2, rx310_start
+ sub rx310_off, rx310_pos, 1
+ substr rx310_tgt, rx310_tgt, rx310_off
+ rx310_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan314_done
+ goto rxscan314_scan
+ rxscan314_loop:
+ ($P10) = rx310_cur."from"()
+ inc $P10
+ set rx310_pos, $P10
+ ge rx310_pos, rx310_eos, rxscan314_done
+ rxscan314_scan:
+ set_addr $I10, rxscan314_loop
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
+ rxscan314_done:
+ alt315_0:
+.annotate "line", 110
+ set_addr $I10, alt315_1
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
+.annotate "line", 111
+ # rx subrule "integer" subtype=capture negate=
+ rx310_cur."!cursor_pos"(rx310_pos)
+ $P10 = rx310_cur."integer"()
+ unless $P10, rx310_fail
+ rx310_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("integer")
+ rx310_pos = $P10."pos"()
+ goto alt315_end
+ alt315_1:
+.annotate "line", 112
+ # rx enumcharlist negate=0
+ ge rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_tgt, $I10, 1
+ index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
+ lt $I11, 0, rx310_fail
+ inc rx310_pos
+ # rx rxquantf316 ** 0..*
+ set_addr $I10, rxquantf316_loop
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
+ goto rxquantf316_done
+ rxquantf316_loop:
+ # rx enumcharlist negate=1
+ ge rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_tgt, $I10, 1
+ index $I11, "],#", $S10
+ ge $I11, 0, rx310_fail
+ inc rx310_pos
+ set_addr $I10, rxquantf316_loop
+ rx310_cur."!mark_push"($I317, rx310_pos, $I10)
+ rxquantf316_done:
+ # rx enumcharlist negate=0
+ ge rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_tgt, $I10, 1
+ index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)", $S10
+ lt $I11, 0, rx310_fail
+ inc rx310_pos
+.annotate "line", 113
+ # rx subrule "before" subtype=zerowidth negate=
+ rx310_cur."!cursor_pos"(rx310_pos)
+ .const 'Sub' $P319 = "98_1272816829.8573"
+ capture_lex $P319
+ $P10 = rx310_cur."before"($P319)
+ unless $P10, rx310_fail
+ alt315_end:
+.annotate "line", 110
+ # rx pass
+ rx310_cur."!cursor_pass"(rx310_pos, "charname")
+ rx310_cur."!cursor_debug"("PASS ", "charname", " at pos=", rx310_pos)
+ .return (rx310_cur)
+ rx310_fail:
+.annotate "line", 33
+ (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
+ lt rx310_pos, -1, rx310_done
+ eq rx310_pos, -1, rx310_fail
+ jump $I10
+ rx310_done:
+ rx310_cur."!cursor_fail"()
+ rx310_cur."!cursor_debug"("FAIL ", "charname")
+ .return (rx310_cur)
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "!PREFIX__charname" :subid("97_1272816829.8573") :method
+.annotate "line", 33
+ $P312 = self."!PREFIX__!subrule"("integer", "")
+ new $P313, "ResizablePMCArray"
+ push $P313, "Z"
+ push $P313, "Y"
+ push $P313, "X"
+ push $P313, "W"
+ push $P313, "V"
+ push $P313, "U"
+ push $P313, "T"
+ push $P313, "S"
+ push $P313, "R"
+ push $P313, "Q"
+ push $P313, "P"
+ push $P313, "O"
+ push $P313, "N"
+ push $P313, "M"
+ push $P313, "L"
+ push $P313, "K"
+ push $P313, "J"
+ push $P313, "I"
+ push $P313, "H"
+ push $P313, "G"
+ push $P313, "F"
+ push $P313, "E"
+ push $P313, "D"
+ push $P313, "C"
+ push $P313, "B"
+ push $P313, "A"
+ push $P313, "z"
+ push $P313, "y"
+ push $P313, "x"
+ push $P313, "w"
+ push $P313, "v"
+ push $P313, "u"
+ push $P313, "t"
+ push $P313, "s"
+ push $P313, "r"
+ push $P313, "q"
+ push $P313, "p"
+ push $P313, "o"
+ push $P313, "n"
+ push $P313, "m"
+ push $P313, "l"
+ push $P313, "k"
+ push $P313, "j"
+ push $P313, "i"
+ push $P313, "h"
+ push $P313, "g"
+ push $P313, "f"
+ push $P313, "e"
+ push $P313, "d"
+ push $P313, "c"
+ push $P313, "b"
+ push $P313, "a"
+ push $P313, $P312
+ .return ($P313)
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "_block318" :anon :subid("98_1272816829.8573") :method :outer("96_1272816829.8573")
+.annotate "line", 113
+ .local string rx320_tgt
+ .local int rx320_pos
+ .local int rx320_off
+ .local int rx320_eos
+ .local int rx320_rep
+ .local pmc rx320_cur
+ (rx320_cur, rx320_pos, rx320_tgt) = self."!cursor_start"()
+ rx320_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx320_cur
.local pmc match
.lex "$/", match
- length rx277_eos, rx277_tgt
- set rx277_off, 0
- lt rx277_pos, 2, rx277_start
- sub rx277_off, rx277_pos, 1
- substr rx277_tgt, rx277_tgt, rx277_off
- rx277_start:
+ length rx320_eos, rx320_tgt
+ set rx320_off, 0
+ lt rx320_pos, 2, rx320_start
+ sub rx320_off, rx320_pos, 1
+ substr rx320_tgt, rx320_tgt, rx320_off
+ rx320_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan278_done
- goto rxscan278_scan
- rxscan278_loop:
- ($P10) = rx277_cur."from"()
+ ne $I10, -1, rxscan321_done
+ goto rxscan321_scan
+ rxscan321_loop:
+ ($P10) = rx320_cur."from"()
inc $P10
- set rx277_pos, $P10
- ge rx277_pos, rx277_eos, rxscan278_done
- rxscan278_scan:
- set_addr $I10, rxscan278_loop
- rx277_cur."!mark_push"(0, rx277_pos, $I10)
- rxscan278_done:
+ set rx320_pos, $P10
+ ge rx320_pos, rx320_eos, rxscan321_done
+ rxscan321_scan:
+ set_addr $I10, rxscan321_loop
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
+ rxscan321_done:
# rx charclass_q s r 0..-1
- sub $I10, rx277_pos, rx277_off
- find_not_cclass $I11, 32, rx277_tgt, $I10, rx277_eos
- add rx277_pos, rx277_off, $I11
+ sub $I10, rx320_pos, rx320_off
+ find_not_cclass $I11, 32, rx320_tgt, $I10, rx320_eos
+ add rx320_pos, rx320_off, $I11
# rx enumcharlist negate=0
- ge rx277_pos, rx277_eos, rx277_fail
- sub $I10, rx277_pos, rx277_off
- substr $S10, rx277_tgt, $I10, 1
+ ge rx320_pos, rx320_eos, rx320_fail
+ sub $I10, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I10, 1
index $I11, "],#", $S10
- lt $I11, 0, rx277_fail
- inc rx277_pos
+ lt $I11, 0, rx320_fail
+ inc rx320_pos
# rx pass
- rx277_cur."!cursor_pass"(rx277_pos, "")
- rx277_cur."!cursor_debug"("PASS ", "", " at pos=", rx277_pos)
- .return (rx277_cur)
- rx277_fail:
- (rx277_rep, rx277_pos, $I10, $P10) = rx277_cur."!mark_fail"(0)
- lt rx277_pos, -1, rx277_done
- eq rx277_pos, -1, rx277_fail
+ rx320_cur."!cursor_pass"(rx320_pos, "")
+ rx320_cur."!cursor_debug"("PASS ", "", " at pos=", rx320_pos)
+ .return (rx320_cur)
+ rx320_fail:
+ (rx320_rep, rx320_pos, $I10, $P10) = rx320_cur."!mark_fail"(0)
+ lt rx320_pos, -1, rx320_done
+ eq rx320_pos, -1, rx320_fail
jump $I10
- rx277_done:
- rx277_cur."!cursor_fail"()
- rx277_cur."!cursor_debug"("FAIL ", "")
- .return (rx277_cur)
+ rx320_done:
+ rx320_cur."!cursor_fail"()
+ rx320_cur."!cursor_debug"("FAIL ", "")
+ .return (rx320_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("90_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "charnames" :subid("99_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .local string rx280_tgt
- .local int rx280_pos
- .local int rx280_off
- .local int rx280_eos
- .local int rx280_rep
- .local pmc rx280_cur
- (rx280_cur, rx280_pos, rx280_tgt) = self."!cursor_start"()
- rx280_cur."!cursor_debug"("START ", "charnames")
- rx280_cur."!cursor_caparray"("charname")
- .lex unicode:"$\x{a2}", rx280_cur
+ .local string rx323_tgt
+ .local int rx323_pos
+ .local int rx323_off
+ .local int rx323_eos
+ .local int rx323_rep
+ .local pmc rx323_cur
+ (rx323_cur, rx323_pos, rx323_tgt) = self."!cursor_start"()
+ rx323_cur."!cursor_debug"("START ", "charnames")
+ rx323_cur."!cursor_caparray"("charname")
+ .lex unicode:"$\x{a2}", rx323_cur
.local pmc match
.lex "$/", match
- length rx280_eos, rx280_tgt
- set rx280_off, 0
- lt rx280_pos, 2, rx280_start
- sub rx280_off, rx280_pos, 1
- substr rx280_tgt, rx280_tgt, rx280_off
- rx280_start:
+ length rx323_eos, rx323_tgt
+ set rx323_off, 0
+ lt rx323_pos, 2, rx323_start
+ sub rx323_off, rx323_pos, 1
+ substr rx323_tgt, rx323_tgt, rx323_off
+ rx323_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan283_done
- goto rxscan283_scan
- rxscan283_loop:
- ($P10) = rx280_cur."from"()
+ ne $I10, -1, rxscan326_done
+ goto rxscan326_scan
+ rxscan326_loop:
+ ($P10) = rx323_cur."from"()
inc $P10
- set rx280_pos, $P10
- ge rx280_pos, rx280_eos, rxscan283_done
- rxscan283_scan:
- set_addr $I10, rxscan283_loop
- rx280_cur."!mark_push"(0, rx280_pos, $I10)
- rxscan283_done:
-.annotate "line", 102
- # rx rxquantr284 ** 1..*
- set_addr $I285, rxquantr284_done
- rx280_cur."!mark_push"(0, -1, $I285)
- rxquantr284_loop:
+ set rx323_pos, $P10
+ ge rx323_pos, rx323_eos, rxscan326_done
+ rxscan326_scan:
+ set_addr $I10, rxscan326_loop
+ rx323_cur."!mark_push"(0, rx323_pos, $I10)
+ rxscan326_done:
+.annotate "line", 115
+ # rx rxquantr327 ** 1..*
+ set_addr $I328, rxquantr327_done
+ rx323_cur."!mark_push"(0, -1, $I328)
+ rxquantr327_loop:
# rx subrule "ws" subtype=method negate=
- rx280_cur."!cursor_pos"(rx280_pos)
- $P10 = rx280_cur."ws"()
- unless $P10, rx280_fail
- rx280_pos = $P10."pos"()
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."ws"()
+ unless $P10, rx323_fail
+ rx323_pos = $P10."pos"()
# rx subrule "charname" subtype=capture negate=
- rx280_cur."!cursor_pos"(rx280_pos)
- $P10 = rx280_cur."charname"()
- unless $P10, rx280_fail
- rx280_cur."!mark_push"(0, -1, 0, $P10)
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."charname"()
+ unless $P10, rx323_fail
+ rx323_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charname")
- rx280_pos = $P10."pos"()
+ rx323_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx280_cur."!cursor_pos"(rx280_pos)
- $P10 = rx280_cur."ws"()
- unless $P10, rx280_fail
- rx280_pos = $P10."pos"()
- (rx280_rep) = rx280_cur."!mark_commit"($I285)
- rx280_cur."!mark_push"(rx280_rep, rx280_pos, $I285)
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."ws"()
+ unless $P10, rx323_fail
+ rx323_pos = $P10."pos"()
+ (rx323_rep) = rx323_cur."!mark_commit"($I328)
+ rx323_cur."!mark_push"(rx323_rep, rx323_pos, $I328)
# rx literal ","
- add $I11, rx280_pos, 1
- gt $I11, rx280_eos, rx280_fail
- sub $I11, rx280_pos, rx280_off
- substr $S10, rx280_tgt, $I11, 1
- ne $S10, ",", rx280_fail
- add rx280_pos, 1
- goto rxquantr284_loop
- rxquantr284_done:
+ add $I11, rx323_pos, 1
+ gt $I11, rx323_eos, rx323_fail
+ sub $I11, rx323_pos, rx323_off
+ substr $S10, rx323_tgt, $I11, 1
+ ne $S10, ",", rx323_fail
+ add rx323_pos, 1
+ goto rxquantr327_loop
+ rxquantr327_done:
# rx pass
- rx280_cur."!cursor_pass"(rx280_pos, "charnames")
- rx280_cur."!cursor_debug"("PASS ", "charnames", " at pos=", rx280_pos)
- .return (rx280_cur)
- rx280_fail:
-.annotate "line", 33
- (rx280_rep, rx280_pos, $I10, $P10) = rx280_cur."!mark_fail"(0)
- lt rx280_pos, -1, rx280_done
- eq rx280_pos, -1, rx280_fail
+ rx323_cur."!cursor_pass"(rx323_pos, "charnames")
+ rx323_cur."!cursor_debug"("PASS ", "charnames", " at pos=", rx323_pos)
+ .return (rx323_cur)
+ rx323_fail:
+.annotate "line", 33
+ (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
+ lt rx323_pos, -1, rx323_done
+ eq rx323_pos, -1, rx323_fail
jump $I10
- rx280_done:
- rx280_cur."!cursor_fail"()
- rx280_cur."!cursor_debug"("FAIL ", "charnames")
- .return (rx280_cur)
+ rx323_done:
+ rx323_cur."!cursor_fail"()
+ rx323_cur."!cursor_debug"("FAIL ", "charnames")
+ .return (rx323_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("91_1267204683.33533") :method
+.sub "!PREFIX__charnames" :subid("100_1272816829.8573") :method
.annotate "line", 33
- new $P282, "ResizablePMCArray"
- push $P282, ""
- .return ($P282)
+ new $P325, "ResizablePMCArray"
+ push $P325, ""
+ .return ($P325)
.end
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("92_1267204683.33533") :method :outer("11_1267204683.33533")
+.sub "charspec" :subid("101_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .local string rx287_tgt
- .local int rx287_pos
- .local int rx287_off
- .local int rx287_eos
- .local int rx287_rep
- .local pmc rx287_cur
- (rx287_cur, rx287_pos, rx287_tgt) = self."!cursor_start"()
- rx287_cur."!cursor_debug"("START ", "charspec")
- .lex unicode:"$\x{a2}", rx287_cur
+ .local string rx330_tgt
+ .local int rx330_pos
+ .local int rx330_off
+ .local int rx330_eos
+ .local int rx330_rep
+ .local pmc rx330_cur
+ (rx330_cur, rx330_pos, rx330_tgt) = self."!cursor_start"()
+ rx330_cur."!cursor_debug"("START ", "charspec")
+ .lex unicode:"$\x{a2}", rx330_cur
.local pmc match
.lex "$/", match
- length rx287_eos, rx287_tgt
- set rx287_off, 0
- lt rx287_pos, 2, rx287_start
- sub rx287_off, rx287_pos, 1
- substr rx287_tgt, rx287_tgt, rx287_off
- rx287_start:
+ length rx330_eos, rx330_tgt
+ set rx330_off, 0
+ lt rx330_pos, 2, rx330_start
+ sub rx330_off, rx330_pos, 1
+ substr rx330_tgt, rx330_tgt, rx330_off
+ rx330_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan292_done
- goto rxscan292_scan
- rxscan292_loop:
- ($P10) = rx287_cur."from"()
+ ne $I10, -1, rxscan335_done
+ goto rxscan335_scan
+ rxscan335_loop:
+ ($P10) = rx330_cur."from"()
inc $P10
- set rx287_pos, $P10
- ge rx287_pos, rx287_eos, rxscan292_done
- rxscan292_scan:
- set_addr $I10, rxscan292_loop
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
- rxscan292_done:
- alt293_0:
-.annotate "line", 104
- set_addr $I10, alt293_1
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
-.annotate "line", 105
+ set rx330_pos, $P10
+ ge rx330_pos, rx330_eos, rxscan335_done
+ rxscan335_scan:
+ set_addr $I10, rxscan335_loop
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+ rxscan335_done:
+ alt336_0:
+.annotate "line", 117
+ set_addr $I10, alt336_1
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+.annotate "line", 118
# rx literal "["
- add $I11, rx287_pos, 1
- gt $I11, rx287_eos, rx287_fail
- sub $I11, rx287_pos, rx287_off
- substr $S10, rx287_tgt, $I11, 1
- ne $S10, "[", rx287_fail
- add rx287_pos, 1
+ add $I11, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "[", rx330_fail
+ add rx330_pos, 1
# rx subrule "charnames" subtype=capture negate=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."charnames"()
- unless $P10, rx287_fail
- rx287_cur."!mark_push"(0, -1, 0, $P10)
+ rx330_cur."!cursor_pos"(rx330_pos)
+ $P10 = rx330_cur."charnames"()
+ unless $P10, rx330_fail
+ rx330_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charnames")
- rx287_pos = $P10."pos"()
+ rx330_pos = $P10."pos"()
# rx literal "]"
- add $I11, rx287_pos, 1
- gt $I11, rx287_eos, rx287_fail
- sub $I11, rx287_pos, rx287_off
- substr $S10, rx287_tgt, $I11, 1
- ne $S10, "]", rx287_fail
- add rx287_pos, 1
- goto alt293_end
- alt293_1:
- set_addr $I10, alt293_2
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
-.annotate "line", 106
+ add $I11, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "]", rx330_fail
+ add rx330_pos, 1
+ goto alt336_end
+ alt336_1:
+ set_addr $I10, alt336_2
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+.annotate "line", 119
# rx charclass_q d r 1..-1
- sub $I10, rx287_pos, rx287_off
- find_not_cclass $I11, 8, rx287_tgt, $I10, rx287_eos
+ sub $I10, rx330_pos, rx330_off
+ find_not_cclass $I11, 8, rx330_tgt, $I10, rx330_eos
add $I12, $I10, 1
- lt $I11, $I12, rx287_fail
- add rx287_pos, rx287_off, $I11
- # rx rxquantr294 ** 0..*
- set_addr $I295, rxquantr294_done
- rx287_cur."!mark_push"(0, rx287_pos, $I295)
- rxquantr294_loop:
+ lt $I11, $I12, rx330_fail
+ add rx330_pos, rx330_off, $I11
+ # rx rxquantr337 ** 0..*
+ set_addr $I338, rxquantr337_done
+ rx330_cur."!mark_push"(0, rx330_pos, $I338)
+ rxquantr337_loop:
# rx literal "_"
- add $I11, rx287_pos, 1
- gt $I11, rx287_eos, rx287_fail
- sub $I11, rx287_pos, rx287_off
- substr $S10, rx287_tgt, $I11, 1
- ne $S10, "_", rx287_fail
- add rx287_pos, 1
+ add $I11, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "_", rx330_fail
+ add rx330_pos, 1
# rx charclass_q d r 1..-1
- sub $I10, rx287_pos, rx287_off
- find_not_cclass $I11, 8, rx287_tgt, $I10, rx287_eos
+ sub $I10, rx330_pos, rx330_off
+ find_not_cclass $I11, 8, rx330_tgt, $I10, rx330_eos
add $I12, $I10, 1
- lt $I11, $I12, rx287_fail
- add rx287_pos, rx287_off, $I11
- (rx287_rep) = rx287_cur."!mark_commit"($I295)
- rx287_cur."!mark_push"(rx287_rep, rx287_pos, $I295)
- goto rxquantr294_loop
- rxquantr294_done:
- goto alt293_end
- alt293_2:
- set_addr $I10, alt293_3
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
-.annotate "line", 107
+ lt $I11, $I12, rx330_fail
+ add rx330_pos, rx330_off, $I11
+ (rx330_rep) = rx330_cur."!mark_commit"($I338)
+ rx330_cur."!mark_push"(rx330_rep, rx330_pos, $I338)
+ goto rxquantr337_loop
+ rxquantr337_done:
+ goto alt336_end
+ alt336_2:
+ set_addr $I10, alt336_3
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+.annotate "line", 120
# rx enumcharlist negate=0
- ge rx287_pos, rx287_eos, rx287_fail
- sub $I10, rx287_pos, rx287_off
- substr $S10, rx287_tgt, $I10, 1
+ ge rx330_pos, rx330_eos, rx330_fail
+ sub $I10, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I10, 1
index $I11, "?@ABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
- lt $I11, 0, rx287_fail
- inc rx287_pos
- goto alt293_end
- alt293_3:
-.annotate "line", 108
+ lt $I11, 0, rx330_fail
+ inc rx330_pos
+ goto alt336_end
+ alt336_3:
+.annotate "line", 121
# rx subrule "panic" subtype=method negate=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."panic"("Unrecognized \\c character")
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
- alt293_end:
-.annotate "line", 103
+ rx330_cur."!cursor_pos"(rx330_pos)
+ $P10 = rx330_cur."panic"("Unrecognized \\c character")
+ unless $P10, rx330_fail
+ rx330_pos = $P10."pos"()
+ alt336_end:
+.annotate "line", 116
# rx pass
- rx287_cur."!cursor_pass"(rx287_pos, "charspec")
- rx287_cur."!cursor_debug"("PASS ", "charspec", " at pos=", rx287_pos)
- .return (rx287_cur)
- rx287_fail:
-.annotate "line", 33
- (rx287_rep, rx287_pos, $I10, $P10) = rx287_cur."!mark_fail"(0)
- lt rx287_pos, -1, rx287_done
- eq rx287_pos, -1, rx287_fail
+ rx330_cur."!cursor_pass"(rx330_pos, "charspec")
+ rx330_cur."!cursor_debug"("PASS ", "charspec", " at pos=", rx330_pos)
+ .return (rx330_cur)
+ rx330_fail:
+.annotate "line", 33
+ (rx330_rep, rx330_pos, $I10, $P10) = rx330_cur."!mark_fail"(0)
+ lt rx330_pos, -1, rx330_done
+ eq rx330_pos, -1, rx330_fail
jump $I10
- rx287_done:
- rx287_cur."!cursor_fail"()
- rx287_cur."!cursor_debug"("FAIL ", "charspec")
- .return (rx287_cur)
+ rx330_done:
+ rx330_cur."!cursor_fail"()
+ rx330_cur."!cursor_debug"("FAIL ", "charspec")
+ .return (rx330_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("93_1267204683.33533") :method
+.sub "!PREFIX__charspec" :subid("102_1272816829.8573") :method
.annotate "line", 33
- $P289 = self."!PREFIX__!subrule"("", "")
- $P290 = self."!PREFIX__!subrule"("charnames", "[")
- new $P291, "ResizablePMCArray"
- push $P291, $P289
- push $P291, "Z"
- push $P291, "Y"
- push $P291, "X"
- push $P291, "W"
- push $P291, "V"
- push $P291, "U"
- push $P291, "T"
- push $P291, "S"
- push $P291, "R"
- push $P291, "Q"
- push $P291, "P"
- push $P291, "O"
- push $P291, "N"
- push $P291, "M"
- push $P291, "L"
- push $P291, "K"
- push $P291, "J"
- push $P291, "I"
- push $P291, "H"
- push $P291, "G"
- push $P291, "F"
- push $P291, "E"
- push $P291, "D"
- push $P291, "C"
- push $P291, "B"
- push $P291, "A"
- push $P291, "@"
- push $P291, "?"
- push $P291, ""
- push $P291, $P290
- .return ($P291)
+ $P332 = self."!PREFIX__!subrule"("", "")
+ $P333 = self."!PREFIX__!subrule"("charnames", "[")
+ new $P334, "ResizablePMCArray"
+ push $P334, $P332
+ push $P334, "Z"
+ push $P334, "Y"
+ push $P334, "X"
+ push $P334, "W"
+ push $P334, "V"
+ push $P334, "U"
+ push $P334, "T"
+ push $P334, "S"
+ push $P334, "R"
+ push $P334, "Q"
+ push $P334, "P"
+ push $P334, "O"
+ push $P334, "N"
+ push $P334, "M"
+ push $P334, "L"
+ push $P334, "K"
+ push $P334, "J"
+ push $P334, "I"
+ push $P334, "H"
+ push $P334, "G"
+ push $P334, "F"
+ push $P334, "E"
+ push $P334, "D"
+ push $P334, "C"
+ push $P334, "B"
+ push $P334, "A"
+ push $P334, "@"
+ push $P334, "?"
+ push $P334, ""
+ push $P334, $P333
+ .return ($P334)
.end
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1267204685.44293")
+.sub "_block11" :anon :subid("10_1272816831.39278")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
.annotate "line", 3
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
- $P538 = $P14()
+ $P571 = $P14()
.annotate "line", 1
- .return ($P538)
+ .return ($P571)
.end
.namespace []
-.sub "" :load :init :subid("post46") :outer("10_1267204685.44293")
+.sub "" :load :init :subid("post49") :outer("10_1272816831.39278")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1267204685.44293"
+ .const 'Sub' $P12 = "10_1272816831.39278"
.local pmc block
set block, $P12
- $P539 = get_root_global ["parrot"], "P6metaclass"
- $P539."new_class"("HLL::Actions")
+ $P572 = get_root_global ["parrot"], "P6metaclass"
+ $P572."new_class"("HLL::Actions")
.end
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1267204685.44293") :outer("10_1267204685.44293")
+.sub "_block13" :subid("11_1272816831.39278") :outer("10_1272816831.39278")
.annotate "line", 3
- .const 'Sub' $P521 = "45_1267204685.44293"
- capture_lex $P521
- .const 'Sub' $P496 = "43_1267204685.44293"
- capture_lex $P496
- .const 'Sub' $P465 = "42_1267204685.44293"
- capture_lex $P465
- .const 'Sub' $P455 = "41_1267204685.44293"
- capture_lex $P455
- .const 'Sub' $P438 = "40_1267204685.44293"
- capture_lex $P438
- .const 'Sub' $P421 = "39_1267204685.44293"
+ .const 'Sub' $P554 = "48_1272816831.39278"
+ capture_lex $P554
+ .const 'Sub' $P529 = "46_1272816831.39278"
+ capture_lex $P529
+ .const 'Sub' $P498 = "45_1272816831.39278"
+ capture_lex $P498
+ .const 'Sub' $P479 = "44_1272816831.39278"
+ capture_lex $P479
+ .const 'Sub' $P472 = "43_1272816831.39278"
+ capture_lex $P472
+ .const 'Sub' $P462 = "42_1272816831.39278"
+ capture_lex $P462
+ .const 'Sub' $P445 = "41_1272816831.39278"
+ capture_lex $P445
+ .const 'Sub' $P428 = "40_1272816831.39278"
+ capture_lex $P428
+ .const 'Sub' $P421 = "39_1272816831.39278"
capture_lex $P421
- .const 'Sub' $P414 = "38_1267204685.44293"
+ .const 'Sub' $P414 = "38_1272816831.39278"
capture_lex $P414
- .const 'Sub' $P407 = "37_1267204685.44293"
+ .const 'Sub' $P407 = "37_1272816831.39278"
capture_lex $P407
- .const 'Sub' $P400 = "36_1267204685.44293"
+ .const 'Sub' $P400 = "36_1272816831.39278"
capture_lex $P400
- .const 'Sub' $P393 = "35_1267204685.44293"
+ .const 'Sub' $P393 = "35_1272816831.39278"
capture_lex $P393
- .const 'Sub' $P383 = "34_1267204685.44293"
+ .const 'Sub' $P383 = "34_1272816831.39278"
capture_lex $P383
- .const 'Sub' $P376 = "33_1267204685.44293"
+ .const 'Sub' $P376 = "33_1272816831.39278"
capture_lex $P376
- .const 'Sub' $P360 = "32_1267204685.44293"
+ .const 'Sub' $P360 = "32_1272816831.39278"
capture_lex $P360
- .const 'Sub' $P285 = "30_1267204685.44293"
+ .const 'Sub' $P285 = "30_1272816831.39278"
capture_lex $P285
- .const 'Sub' $P222 = "27_1267204685.44293"
+ .const 'Sub' $P222 = "27_1272816831.39278"
capture_lex $P222
- .const 'Sub' $P213 = "26_1267204685.44293"
+ .const 'Sub' $P213 = "26_1272816831.39278"
capture_lex $P213
- .const 'Sub' $P204 = "25_1267204685.44293"
+ .const 'Sub' $P204 = "25_1272816831.39278"
capture_lex $P204
- .const 'Sub' $P195 = "24_1267204685.44293"
+ .const 'Sub' $P195 = "24_1272816831.39278"
capture_lex $P195
- .const 'Sub' $P186 = "23_1267204685.44293"
+ .const 'Sub' $P186 = "23_1272816831.39278"
capture_lex $P186
- .const 'Sub' $P177 = "22_1267204685.44293"
+ .const 'Sub' $P177 = "22_1272816831.39278"
capture_lex $P177
- .const 'Sub' $P167 = "21_1267204685.44293"
+ .const 'Sub' $P167 = "21_1272816831.39278"
capture_lex $P167
- .const 'Sub' $P157 = "20_1267204685.44293"
+ .const 'Sub' $P157 = "20_1272816831.39278"
capture_lex $P157
- .const 'Sub' $P149 = "19_1267204685.44293"
+ .const 'Sub' $P149 = "19_1272816831.39278"
capture_lex $P149
- .const 'Sub' $P139 = "18_1267204685.44293"
+ .const 'Sub' $P139 = "18_1272816831.39278"
capture_lex $P139
- .const 'Sub' $P129 = "17_1267204685.44293"
+ .const 'Sub' $P129 = "17_1272816831.39278"
capture_lex $P129
- .const 'Sub' $P28 = "14_1267204685.44293"
+ .const 'Sub' $P28 = "14_1272816831.39278"
capture_lex $P28
- .const 'Sub' $P22 = "13_1267204685.44293"
+ .const 'Sub' $P22 = "13_1272816831.39278"
capture_lex $P22
- .const 'Sub' $P15 = "12_1267204685.44293"
+ .const 'Sub' $P15 = "12_1272816831.39278"
capture_lex $P15
-.annotate "line", 188
- .const 'Sub' $P521 = "45_1267204685.44293"
- capture_lex $P521
+.annotate "line", 197
+ .const 'Sub' $P554 = "48_1272816831.39278"
+ capture_lex $P554
.annotate "line", 3
- .return ($P521)
+ .return ($P554)
.end
.namespace ["HLL";"Actions"]
-.sub "string_to_int" :subid("12_1267204685.44293") :outer("11_1267204685.44293")
+.sub "string_to_int" :subid("12_1272816831.39278") :outer("11_1272816831.39278")
.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
@@ -4434,12 +4852,12 @@
.namespace ["HLL";"Actions"]
-.sub "ints_to_string" :subid("13_1267204685.44293") :outer("11_1267204685.44293")
+.sub "ints_to_string" :subid("13_1272816831.39278") :outer("11_1272816831.39278")
.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
@@ -4475,25 +4893,25 @@
.namespace ["HLL";"Actions"]
-.sub "EXPR" :subid("14_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "EXPR" :subid("14_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_31
.param pmc param_32 :optional
.param int has_param_32 :opt_flag
.annotate "line", 62
- .const 'Sub' $P111 = "16_1267204685.44293"
+ .const 'Sub' $P111 = "16_1272816831.39278"
capture_lex $P111
- .const 'Sub' $P78 = "15_1267204685.44293"
+ .const 'Sub' $P78 = "15_1272816831.39278"
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
- if has_param_32, optparam_47
+ if has_param_32, optparam_50
new $P33, "Undef"
set param_32, $P33
- optparam_47:
+ optparam_50:
.lex "$key", param_32
.annotate "line", 64
new $P34, "Undef"
@@ -4502,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
@@ -4515,13 +4933,13 @@
defined $I43, $P39
if $I43, default_42
find_lex $P44, "$/"
- unless_null $P44, vivify_48
+ unless_null $P44, vivify_51
$P44 = root_new ['parrot';'Hash']
- vivify_48:
+ vivify_51:
set $P45, $P44["OPER"]
- unless_null $P45, vivify_49
+ unless_null $P45, vivify_52
new $P45, "Undef"
- vivify_49:
+ vivify_52:
$P46 = $P45."ast"()
set $P39, $P46
default_42:
@@ -4536,57 +4954,57 @@
store_lex "$past", $P51
.annotate "line", 67
find_lex $P53, "$/"
- unless_null $P53, vivify_50
+ unless_null $P53, vivify_53
$P53 = root_new ['parrot';'Hash']
- vivify_50:
+ vivify_53:
set $P54, $P53["OPER"]
- unless_null $P54, vivify_51
+ unless_null $P54, vivify_54
$P54 = root_new ['parrot';'Hash']
- vivify_51:
+ vivify_54:
set $P55, $P54["O"]
- unless_null $P55, vivify_52
+ unless_null $P55, vivify_55
$P55 = root_new ['parrot';'Hash']
- vivify_52:
+ vivify_55:
set $P56, $P55["pasttype"]
- unless_null $P56, vivify_53
+ unless_null $P56, vivify_56
new $P56, "Undef"
- vivify_53:
+ vivify_56:
if $P56, if_52
.annotate "line", 68
find_lex $P64, "$/"
- unless_null $P64, vivify_54
+ unless_null $P64, vivify_57
$P64 = root_new ['parrot';'Hash']
- vivify_54:
+ vivify_57:
set $P65, $P64["OPER"]
- unless_null $P65, vivify_55
+ unless_null $P65, vivify_58
$P65 = root_new ['parrot';'Hash']
- vivify_55:
+ vivify_58:
set $P66, $P65["O"]
- unless_null $P66, vivify_56
+ unless_null $P66, vivify_59
$P66 = root_new ['parrot';'Hash']
- vivify_56:
+ vivify_59:
set $P67, $P66["pirop"]
- unless_null $P67, vivify_57
+ unless_null $P67, vivify_60
new $P67, "Undef"
- vivify_57:
+ vivify_60:
unless $P67, if_63_end
find_lex $P68, "$past"
find_lex $P69, "$/"
- unless_null $P69, vivify_58
+ unless_null $P69, vivify_61
$P69 = root_new ['parrot';'Hash']
- vivify_58:
+ vivify_61:
set $P70, $P69["OPER"]
- unless_null $P70, vivify_59
+ unless_null $P70, vivify_62
$P70 = root_new ['parrot';'Hash']
- vivify_59:
+ vivify_62:
set $P71, $P70["O"]
- unless_null $P71, vivify_60
+ unless_null $P71, vivify_63
$P71 = root_new ['parrot';'Hash']
- vivify_60:
+ vivify_63:
set $P72, $P71["pirop"]
- unless_null $P72, vivify_61
+ unless_null $P72, vivify_64
new $P72, "Undef"
- vivify_61:
+ vivify_64:
set $S73, $P72
$P68."pirop"($S73)
if_63_end:
@@ -4595,21 +5013,21 @@
.annotate "line", 67
find_lex $P57, "$past"
find_lex $P58, "$/"
- unless_null $P58, vivify_62
+ unless_null $P58, vivify_65
$P58 = root_new ['parrot';'Hash']
- vivify_62:
+ vivify_65:
set $P59, $P58["OPER"]
- unless_null $P59, vivify_63
+ unless_null $P59, vivify_66
$P59 = root_new ['parrot';'Hash']
- vivify_63:
+ vivify_66:
set $P60, $P59["O"]
- unless_null $P60, vivify_64
+ unless_null $P60, vivify_67
$P60 = root_new ['parrot';'Hash']
- vivify_64:
+ vivify_67:
set $P61, $P60["pasttype"]
- unless_null $P61, vivify_65
+ unless_null $P61, vivify_68
new $P61, "Undef"
- vivify_65:
+ vivify_68:
set $S62, $P61
$P57."pasttype"($S62)
if_52_end:
@@ -4617,7 +5035,7 @@
find_lex $P75, "$past"
$P76 = $P75."name"()
if $P76, unless_74_end
- .const 'Sub' $P78 = "15_1267204685.44293"
+ .const 'Sub' $P78 = "15_1272816831.39278"
capture_lex $P78
$P78()
unless_74_end:
@@ -4631,17 +5049,17 @@
find_lex $P106, "$/"
$P107 = $P106."list"()
defined $I108, $P107
- unless $I108, for_undef_69
+ unless $I108, for_undef_72
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_1267204685.44293"
+ .const 'Sub' $P111 = "16_1272816831.39278"
capture_lex $P111
$P111($P109)
loop122_next:
@@ -4650,24 +5068,24 @@
.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_69:
+ for_undef_72:
.annotate "line", 81
goto if_97_end
if_97:
.annotate "line", 80
find_lex $P101, "$past"
find_lex $P102, "$/"
- unless_null $P102, vivify_70
+ unless_null $P102, vivify_73
$P102 = root_new ['parrot';'ResizablePMCArray']
- vivify_70:
+ vivify_73:
set $P103, $P102[0]
- unless_null $P103, vivify_71
+ unless_null $P103, vivify_74
new $P103, "Undef"
- vivify_71:
+ vivify_74:
$P104 = $P103."ast"()
$P101."unshift"($P104)
if_97_end:
@@ -4686,7 +5104,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block77" :anon :subid("15_1267204685.44293") :outer("14_1267204685.44293")
+.sub "_block77" :anon :subid("15_1272816831.39278") :outer("14_1272816831.39278")
.annotate "line", 71
new $P79, "Undef"
.lex "$name", $P79
@@ -4709,17 +5127,17 @@
concat $P86, $P85, ":<"
.annotate "line", 76
find_lex $P87, "$/"
- unless_null $P87, vivify_66
+ unless_null $P87, vivify_69
$P87 = root_new ['parrot';'Hash']
- vivify_66:
+ vivify_69:
set $P88, $P87["OPER"]
- unless_null $P88, vivify_67
+ unless_null $P88, vivify_70
$P88 = root_new ['parrot';'Hash']
- vivify_67:
+ vivify_70:
set $P89, $P88["sym"]
- unless_null $P89, vivify_68
+ unless_null $P89, vivify_71
new $P89, "Undef"
- vivify_68:
+ vivify_71:
concat $P90, $P86, $P89
concat $P91, $P90, ">"
store_lex "$name", $P91
@@ -4736,7 +5154,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block110" :anon :subid("16_1267204685.44293") :outer("14_1267204685.44293")
+.sub "_block110" :anon :subid("16_1272816831.39278") :outer("14_1272816831.39278")
.param pmc param_112
.annotate "line", 82
.lex "$_", param_112
@@ -4759,24 +5177,24 @@
.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>" :subid("17_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "term:sym<circumfix>" :subid("17_1272816831.39278") :method :outer("11_1272816831.39278")
.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
find_lex $P133, "$/"
find_lex $P134, "$/"
- unless_null $P134, vivify_72
+ unless_null $P134, vivify_75
$P134 = root_new ['parrot';'Hash']
- vivify_72:
+ vivify_75:
set $P135, $P134["circumfix"]
- unless_null $P135, vivify_73
+ unless_null $P135, vivify_76
new $P135, "Undef"
- vivify_73:
+ vivify_76:
$P136 = $P135."ast"()
$P137 = $P133."!make"($P136)
.return ($P137)
@@ -4789,24 +5207,24 @@
.namespace ["HLL";"Actions"]
-.sub "termish" :subid("18_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "termish" :subid("18_1272816831.39278") :method :outer("11_1272816831.39278")
.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
find_lex $P143, "$/"
find_lex $P144, "$/"
- unless_null $P144, vivify_74
+ unless_null $P144, vivify_77
$P144 = root_new ['parrot';'Hash']
- vivify_74:
+ vivify_77:
set $P145, $P144["term"]
- unless_null $P145, vivify_75
+ unless_null $P145, vivify_78
new $P145, "Undef"
- vivify_75:
+ vivify_78:
$P146 = $P145."ast"()
$P147 = $P143."!make"($P146)
.return ($P147)
@@ -4819,12 +5237,12 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm" :subid("19_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "nullterm" :subid("19_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -4841,24 +5259,24 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm_alt" :subid("20_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "nullterm_alt" :subid("20_1272816831.39278") :method :outer("11_1272816831.39278")
.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
find_lex $P161, "$/"
find_lex $P162, "$/"
- unless_null $P162, vivify_76
+ unless_null $P162, vivify_79
$P162 = root_new ['parrot';'Hash']
- vivify_76:
+ vivify_79:
set $P163, $P162["term"]
- unless_null $P163, vivify_77
+ unless_null $P163, vivify_80
new $P163, "Undef"
- vivify_77:
+ vivify_80:
$P164 = $P163."ast"()
$P165 = $P161."!make"($P164)
.return ($P165)
@@ -4871,24 +5289,24 @@
.namespace ["HLL";"Actions"]
-.sub "integer" :subid("21_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "integer" :subid("21_1272816831.39278") :method :outer("11_1272816831.39278")
.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
find_lex $P171, "$/"
find_lex $P172, "$/"
- unless_null $P172, vivify_78
+ unless_null $P172, vivify_81
$P172 = root_new ['parrot';'Hash']
- vivify_78:
+ vivify_81:
set $P173, $P172["VALUE"]
- unless_null $P173, vivify_79
+ unless_null $P173, vivify_82
new $P173, "Undef"
- vivify_79:
+ vivify_82:
$P174 = $P173."ast"()
$P175 = $P171."!make"($P174)
.return ($P175)
@@ -4901,12 +5319,12 @@
.namespace ["HLL";"Actions"]
-.sub "dec_number" :subid("22_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "dec_number" :subid("22_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -4924,12 +5342,12 @@
.namespace ["HLL";"Actions"]
-.sub "decint" :subid("23_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "decint" :subid("23_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -4947,12 +5365,12 @@
.namespace ["HLL";"Actions"]
-.sub "hexint" :subid("24_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "hexint" :subid("24_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -4970,12 +5388,12 @@
.namespace ["HLL";"Actions"]
-.sub "octint" :subid("25_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "octint" :subid("25_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -4993,12 +5411,12 @@
.namespace ["HLL";"Actions"]
-.sub "binint" :subid("26_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "binint" :subid("26_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5016,14 +5434,14 @@
.namespace ["HLL";"Actions"]
-.sub "quote_EXPR" :subid("27_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_EXPR" :subid("27_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_225
.annotate "line", 102
- .const 'Sub' $P241 = "28_1267204685.44293"
+ .const 'Sub' $P241 = "28_1272816831.39278"
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
@@ -5031,19 +5449,19 @@
new $P226, "Undef"
.lex "$past", $P226
find_lex $P227, "$/"
- unless_null $P227, vivify_80
+ unless_null $P227, vivify_83
$P227 = root_new ['parrot';'Hash']
- vivify_80:
+ vivify_83:
set $P228, $P227["quote_delimited"]
- unless_null $P228, vivify_81
+ unless_null $P228, vivify_84
new $P228, "Undef"
- vivify_81:
+ vivify_84:
$P229 = $P228."ast"()
store_lex "$past", $P229
.annotate "line", 104
- get_hll_global $P231, ["HLL";"Grammar"], "quotemod_check"
- find_lex $P232, "$/"
- $P233 = $P231($P232, "w")
+ find_lex $P231, "$/"
+ $P232 = $P231."CURSOR"()
+ $P233 = $P232."quotemod_check"("w")
unless $P233, if_230_end
.annotate "line", 105
get_hll_global $P235, ["PAST"], "Node"
@@ -5051,7 +5469,7 @@
$P237 = $P235."ACCEPTS"($P236)
if $P237, if_234
.annotate "line", 108
- .const 'Sub' $P241 = "28_1267204685.44293"
+ .const 'Sub' $P241 = "28_1272816831.39278"
capture_lex $P241
$P241()
goto if_234_end
@@ -5090,9 +5508,9 @@
.namespace ["HLL";"Actions"]
-.sub "_block240" :anon :subid("28_1267204685.44293") :outer("27_1267204685.44293")
+.sub "_block240" :anon :subid("28_1272816831.39278") :outer("27_1272816831.39278")
.annotate "line", 108
- .const 'Sub' $P260 = "29_1267204685.44293"
+ .const 'Sub' $P260 = "29_1272816831.39278"
capture_lex $P260
.annotate "line", 109
$P242 = root_new ['parrot';'ResizablePMCArray']
@@ -5109,13 +5527,13 @@
if $I251, if_248
.annotate "line", 115
find_lex $P268, "@words"
- unless_null $P268, vivify_82
+ unless_null $P268, vivify_85
$P268 = root_new ['parrot';'ResizablePMCArray']
- vivify_82:
+ vivify_85:
set $P269, $P268[0]
- unless_null $P269, vivify_83
+ unless_null $P269, vivify_86
new $P269, "Undef"
- vivify_83:
+ vivify_86:
set $S270, $P269
new $P271, 'String'
set $P271, $S270
@@ -5133,17 +5551,17 @@
.annotate "line", 112
find_lex $P256, "@words"
defined $I257, $P256
- unless $I257, for_undef_84
+ unless $I257, for_undef_87
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_1267204685.44293"
+ .const 'Sub' $P260 = "29_1272816831.39278"
capture_lex $P260
$P260($P258)
loop265_next:
@@ -5152,11 +5570,11 @@
.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_84:
+ for_undef_87:
.annotate "line", 110
set $P247, $P255
if_248_end:
@@ -5166,7 +5584,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block259" :anon :subid("29_1267204685.44293") :outer("28_1267204685.44293")
+.sub "_block259" :anon :subid("29_1272816831.39278") :outer("28_1272816831.39278")
.param pmc param_261
.annotate "line", 112
.lex "$_", param_261
@@ -5178,14 +5596,14 @@
.namespace ["HLL";"Actions"]
-.sub "quote_delimited" :subid("30_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_delimited" :subid("30_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_288
.annotate "line", 125
- .const 'Sub' $P300 = "31_1267204685.44293"
+ .const 'Sub' $P300 = "31_1272816831.39278"
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
@@ -5206,25 +5624,25 @@
store_lex "$lastlit", $P293
.annotate "line", 128
find_lex $P295, "$/"
- unless_null $P295, vivify_85
+ unless_null $P295, vivify_88
$P295 = root_new ['parrot';'Hash']
- vivify_85:
+ vivify_88:
set $P296, $P295["quote_atom"]
- unless_null $P296, vivify_86
+ unless_null $P296, vivify_89
new $P296, "Undef"
- vivify_86:
+ vivify_89:
defined $I297, $P296
- unless $I297, for_undef_87
+ unless $I297, for_undef_90
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_1267204685.44293"
+ .const 'Sub' $P300 = "31_1272816831.39278"
capture_lex $P300
$P300($P298)
loop332_next:
@@ -5233,11 +5651,11 @@
.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_87:
+ for_undef_90:
.annotate "line", 142
find_lex $P336, "$lastlit"
set $S337, $P336
@@ -5263,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"
@@ -5283,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
@@ -5302,7 +5720,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block299" :anon :subid("31_1267204685.44293") :outer("30_1267204685.44293")
+.sub "_block299" :anon :subid("31_1272816831.39278") :outer("30_1272816831.39278")
.param pmc param_302
.annotate "line", 129
new $P301, "Undef"
@@ -5371,25 +5789,25 @@
.namespace ["HLL";"Actions"]
-.sub "quote_atom" :subid("32_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_atom" :subid("32_1272816831.39278") :method :outer("11_1272816831.39278")
.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
.annotate "line", 151
find_lex $P364, "$/"
find_lex $P367, "$/"
- unless_null $P367, vivify_88
+ unless_null $P367, vivify_91
$P367 = root_new ['parrot';'Hash']
- vivify_88:
+ vivify_91:
set $P368, $P367["quote_escape"]
- unless_null $P368, vivify_89
+ unless_null $P368, vivify_92
new $P368, "Undef"
- vivify_89:
+ vivify_92:
if $P368, if_366
find_lex $P372, "$/"
set $S373, $P372
@@ -5398,13 +5816,13 @@
goto if_366_end
if_366:
find_lex $P369, "$/"
- unless_null $P369, vivify_90
+ unless_null $P369, vivify_93
$P369 = root_new ['parrot';'Hash']
- vivify_90:
+ vivify_93:
set $P370, $P369["quote_escape"]
- unless_null $P370, vivify_91
+ unless_null $P370, vivify_94
new $P370, "Undef"
- vivify_91:
+ vivify_94:
$P371 = $P370."ast"()
set $P365, $P371
if_366_end:
@@ -5420,12 +5838,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>" :subid("33_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<backslash>" :subid("33_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5441,24 +5859,24 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>" :subid("34_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<stopper>" :subid("34_1272816831.39278") :method :outer("11_1272816831.39278")
.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
find_lex $P387, "$/"
find_lex $P388, "$/"
- unless_null $P388, vivify_92
+ unless_null $P388, vivify_95
$P388 = root_new ['parrot';'Hash']
- vivify_92:
+ vivify_95:
set $P389, $P388["stopper"]
- unless_null $P389, vivify_93
+ unless_null $P389, vivify_96
new $P389, "Undef"
- vivify_93:
+ vivify_96:
set $S390, $P389
$P391 = $P387."!make"($S390)
.return ($P391)
@@ -5471,12 +5889,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>" :subid("35_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<bs>" :subid("35_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5492,12 +5910,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>" :subid("36_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<nl>" :subid("36_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5513,12 +5931,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>" :subid("37_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<cr>" :subid("37_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5534,12 +5952,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>" :subid("38_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<tab>" :subid("38_1272816831.39278") :method :outer("11_1272816831.39278")
.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
@@ -5555,359 +5973,461 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>" :subid("39_1267204685.44293") :method :outer("11_1267204685.44293")
+.sub "quote_escape:sym<ff>" :subid("39_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_424
-.annotate "line", 162
+.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
-.annotate "line", 163
find_lex $P425, "$/"
- find_lex $P428, "$/"
- unless_null $P428, vivify_94
- $P428 = root_new ['parrot';'Hash']
- vivify_94:
- set $P429, $P428["hexint"]
- unless_null $P429, vivify_95
- new $P429, "Undef"
- vivify_95:
- if $P429, if_427
+ $P426 = $P425."!make"("\f")
+ .return ($P426)
+ control_422:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P427, exception, "payload"
+ .return ($P427)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<hex>" :subid("40_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_431
+.annotate "line", 163
+ new $P430, 'ExceptionHandler'
+ set_addr $P430, control_429
+ $P430."handle_types"(57)
+ push_eh $P430
+ .lex "self", self
+ .lex "$/", param_431
+.annotate "line", 164
find_lex $P432, "$/"
- unless_null $P432, vivify_96
- $P432 = root_new ['parrot';'Hash']
- vivify_96:
- set $P433, $P432["hexints"]
- unless_null $P433, vivify_97
- $P433 = root_new ['parrot';'Hash']
+ find_lex $P435, "$/"
+ unless_null $P435, vivify_97
+ $P435 = root_new ['parrot';'Hash']
vivify_97:
- set $P434, $P433["hexint"]
- unless_null $P434, vivify_98
- new $P434, "Undef"
+ set $P436, $P435["hexint"]
+ unless_null $P436, vivify_98
+ new $P436, "Undef"
vivify_98:
- set $P426, $P434
- goto if_427_end
- if_427:
- find_lex $P430, "$/"
- unless_null $P430, vivify_99
- $P430 = root_new ['parrot';'Hash']
+ if $P436, if_434
+ find_lex $P439, "$/"
+ unless_null $P439, vivify_99
+ $P439 = root_new ['parrot';'Hash']
vivify_99:
- set $P431, $P430["hexint"]
- unless_null $P431, vivify_100
- new $P431, "Undef"
+ set $P440, $P439["hexints"]
+ unless_null $P440, vivify_100
+ $P440 = root_new ['parrot';'Hash']
vivify_100:
- set $P426, $P431
- if_427_end:
- $P435 = "ints_to_string"($P426)
- $P436 = $P425."!make"($P435)
-.annotate "line", 162
- .return ($P436)
- control_422:
+ set $P441, $P440["hexint"]
+ unless_null $P441, vivify_101
+ new $P441, "Undef"
+ vivify_101:
+ set $P433, $P441
+ goto if_434_end
+ if_434:
+ find_lex $P437, "$/"
+ unless_null $P437, vivify_102
+ $P437 = root_new ['parrot';'Hash']
+ vivify_102:
+ set $P438, $P437["hexint"]
+ unless_null $P438, vivify_103
+ new $P438, "Undef"
+ vivify_103:
+ set $P433, $P438
+ if_434_end:
+ $P442 = "ints_to_string"($P433)
+ $P443 = $P432."!make"($P442)
+.annotate "line", 163
+ .return ($P443)
+ control_429:
.local pmc exception
.get_results (exception)
- getattribute $P437, exception, "payload"
- .return ($P437)
+ getattribute $P444, exception, "payload"
+ .return ($P444)
.end
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>" :subid("40_1267204685.44293") :method :outer("11_1267204685.44293")
- .param pmc param_441
-.annotate "line", 166
- new $P440, 'ExceptionHandler'
- set_addr $P440, control_439
- $P440."handle_types"(58)
- push_eh $P440
- .lex "self", self
- .lex "$/", param_441
+.sub "quote_escape:sym<oct>" :subid("41_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_448
.annotate "line", 167
- find_lex $P442, "$/"
- find_lex $P445, "$/"
- unless_null $P445, vivify_101
- $P445 = root_new ['parrot';'Hash']
- vivify_101:
- set $P446, $P445["octint"]
- unless_null $P446, vivify_102
- new $P446, "Undef"
- vivify_102:
- if $P446, if_444
+ new $P447, 'ExceptionHandler'
+ set_addr $P447, control_446
+ $P447."handle_types"(57)
+ push_eh $P447
+ .lex "self", self
+ .lex "$/", param_448
+.annotate "line", 168
find_lex $P449, "$/"
- unless_null $P449, vivify_103
- $P449 = root_new ['parrot';'Hash']
- vivify_103:
- set $P450, $P449["octints"]
- unless_null $P450, vivify_104
- $P450 = root_new ['parrot';'Hash']
+ find_lex $P452, "$/"
+ unless_null $P452, vivify_104
+ $P452 = root_new ['parrot';'Hash']
vivify_104:
- set $P451, $P450["octint"]
- unless_null $P451, vivify_105
- new $P451, "Undef"
+ set $P453, $P452["octint"]
+ unless_null $P453, vivify_105
+ new $P453, "Undef"
vivify_105:
- set $P443, $P451
- goto if_444_end
- if_444:
- find_lex $P447, "$/"
- unless_null $P447, vivify_106
- $P447 = root_new ['parrot';'Hash']
+ if $P453, if_451
+ find_lex $P456, "$/"
+ unless_null $P456, vivify_106
+ $P456 = root_new ['parrot';'Hash']
vivify_106:
- set $P448, $P447["octint"]
- unless_null $P448, vivify_107
- new $P448, "Undef"
+ set $P457, $P456["octints"]
+ unless_null $P457, vivify_107
+ $P457 = root_new ['parrot';'Hash']
vivify_107:
- set $P443, $P448
- if_444_end:
- $P452 = "ints_to_string"($P443)
- $P453 = $P442."!make"($P452)
-.annotate "line", 166
- .return ($P453)
- control_439:
+ set $P458, $P457["octint"]
+ unless_null $P458, vivify_108
+ new $P458, "Undef"
+ vivify_108:
+ set $P450, $P458
+ goto if_451_end
+ if_451:
+ find_lex $P454, "$/"
+ unless_null $P454, vivify_109
+ $P454 = root_new ['parrot';'Hash']
+ vivify_109:
+ set $P455, $P454["octint"]
+ unless_null $P455, vivify_110
+ new $P455, "Undef"
+ vivify_110:
+ set $P450, $P455
+ if_451_end:
+ $P459 = "ints_to_string"($P450)
+ $P460 = $P449."!make"($P459)
+.annotate "line", 167
+ .return ($P460)
+ control_446:
.local pmc exception
.get_results (exception)
- getattribute $P454, exception, "payload"
- .return ($P454)
+ getattribute $P461, exception, "payload"
+ .return ($P461)
.end
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>" :subid("41_1267204685.44293") :method :outer("11_1267204685.44293")
- .param pmc param_458
-.annotate "line", 170
- new $P457, 'ExceptionHandler'
- set_addr $P457, control_456
- $P457."handle_types"(58)
- push_eh $P457
+.sub "quote_escape:sym<chr>" :subid("42_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_465
+.annotate "line", 171
+ new $P464, 'ExceptionHandler'
+ set_addr $P464, control_463
+ $P464."handle_types"(57)
+ push_eh $P464
.lex "self", self
- .lex "$/", param_458
+ .lex "$/", param_465
+.annotate "line", 172
+ find_lex $P466, "$/"
+ find_lex $P467, "$/"
+ unless_null $P467, vivify_111
+ $P467 = root_new ['parrot';'Hash']
+ vivify_111:
+ set $P468, $P467["charspec"]
+ unless_null $P468, vivify_112
+ new $P468, "Undef"
+ vivify_112:
+ $P469 = $P468."ast"()
+ $P470 = $P466."!make"($P469)
.annotate "line", 171
- find_lex $P459, "$/"
- find_lex $P460, "$/"
- unless_null $P460, vivify_108
- $P460 = root_new ['parrot';'Hash']
- vivify_108:
- set $P461, $P460["charspec"]
- unless_null $P461, vivify_109
- new $P461, "Undef"
- vivify_109:
- $P462 = $P461."ast"()
- $P463 = $P459."!make"($P462)
-.annotate "line", 170
- .return ($P463)
- control_456:
+ .return ($P470)
+ control_463:
.local pmc exception
.get_results (exception)
- getattribute $P464, exception, "payload"
- .return ($P464)
+ getattribute $P471, exception, "payload"
+ .return ($P471)
.end
.namespace ["HLL";"Actions"]
-.sub "charname" :subid("42_1267204685.44293") :method :outer("11_1267204685.44293")
- .param pmc param_468
-.annotate "line", 174
- new $P467, 'ExceptionHandler'
- set_addr $P467, control_466
- $P467."handle_types"(58)
- push_eh $P467
- .lex "self", self
- .lex "$/", param_468
+.sub "quote_escape:sym<0>" :subid("43_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_475
.annotate "line", 175
- new $P469, "Undef"
- .lex "$codepoint", $P469
-.annotate "line", 176
- find_lex $P472, "$/"
- unless_null $P472, vivify_110
- $P472 = root_new ['parrot';'Hash']
- vivify_110:
- set $P473, $P472["integer"]
- unless_null $P473, vivify_111
- new $P473, "Undef"
- vivify_111:
- if $P473, if_471
-.annotate "line", 177
- $P477 = new ['CodeString']
- find_lex $P478, "$/"
- set $S479, $P478
- $P480 = $P477."charname_to_ord"($S479)
- set $P470, $P480
+ new $P474, 'ExceptionHandler'
+ set_addr $P474, control_473
+ $P474."handle_types"(57)
+ push_eh $P474
+ .lex "self", self
+ .lex "$/", param_475
.annotate "line", 176
- goto if_471_end
- if_471:
- find_lex $P474, "$/"
- unless_null $P474, vivify_112
- $P474 = root_new ['parrot';'Hash']
- vivify_112:
- set $P475, $P474["integer"]
- unless_null $P475, vivify_113
- new $P475, "Undef"
+ find_lex $P476, "$/"
+ $P477 = $P476."!make"(unicode:"\x{0}")
+.annotate "line", 175
+ .return ($P477)
+ control_473:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P478, exception, "payload"
+ .return ($P478)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<misc>" :subid("44_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_482
+.annotate "line", 179
+ new $P481, 'ExceptionHandler'
+ set_addr $P481, control_480
+ $P481."handle_types"(57)
+ push_eh $P481
+ .lex "self", self
+ .lex "$/", param_482
+.annotate "line", 180
+ find_lex $P483, "$/"
+ find_lex $P486, "$/"
+ unless_null $P486, vivify_113
+ $P486 = root_new ['parrot';'Hash']
vivify_113:
- $P476 = $P475."ast"()
- set $P470, $P476
- if_471_end:
- store_lex "$codepoint", $P470
-.annotate "line", 178
- find_lex $P482, "$codepoint"
- set $N483, $P482
- islt $I484, $N483, 0.0
- unless $I484, if_481_end
- find_lex $P485, "$/"
- $P486 = $P485."CURSOR"()
- new $P487, 'String'
- set $P487, "Unrecognized character name "
- find_lex $P488, "$/"
- concat $P489, $P487, $P488
- $P486."panic"($P489)
- if_481_end:
+ set $P487, $P486["textq"]
+ unless_null $P487, vivify_114
+ new $P487, "Undef"
+ vivify_114:
+ if $P487, if_485
+ find_lex $P493, "$/"
+ unless_null $P493, vivify_115
+ $P493 = root_new ['parrot';'Hash']
+ vivify_115:
+ set $P494, $P493["textqq"]
+ unless_null $P494, vivify_116
+ new $P494, "Undef"
+ vivify_116:
+ $P495 = $P494."Str"()
+ set $P484, $P495
+ goto if_485_end
+ if_485:
+ new $P488, "String"
+ assign $P488, "\\"
+ find_lex $P489, "$/"
+ unless_null $P489, vivify_117
+ $P489 = root_new ['parrot';'Hash']
+ vivify_117:
+ set $P490, $P489["textq"]
+ unless_null $P490, vivify_118
+ new $P490, "Undef"
+ vivify_118:
+ $S491 = $P490."Str"()
+ concat $P492, $P488, $S491
+ set $P484, $P492
+ if_485_end:
+ $P496 = $P483."!make"($P484)
.annotate "line", 179
- find_lex $P490, "$/"
- find_lex $P491, "$codepoint"
- set $I492, $P491
- chr $S493, $I492
- $P494 = $P490."!make"($S493)
-.annotate "line", 174
- .return ($P494)
- control_466:
+ .return ($P496)
+ control_480:
.local pmc exception
.get_results (exception)
- getattribute $P495, exception, "payload"
- .return ($P495)
+ getattribute $P497, exception, "payload"
+ .return ($P497)
.end
.namespace ["HLL";"Actions"]
-.sub "charnames" :subid("43_1267204685.44293") :method :outer("11_1267204685.44293")
- .param pmc param_499
-.annotate "line", 182
- .const 'Sub' $P508 = "44_1267204685.44293"
- capture_lex $P508
- new $P498, 'ExceptionHandler'
- set_addr $P498, control_497
- $P498."handle_types"(58)
- push_eh $P498
- .lex "self", self
- .lex "$/", param_499
+.sub "charname" :subid("45_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_501
.annotate "line", 183
- new $P500, "Undef"
- .lex "$str", $P500
- new $P501, "String"
- assign $P501, ""
- store_lex "$str", $P501
+ new $P500, 'ExceptionHandler'
+ set_addr $P500, control_499
+ $P500."handle_types"(57)
+ push_eh $P500
+ .lex "self", self
+ .lex "$/", param_501
.annotate "line", 184
- find_lex $P503, "$/"
- unless_null $P503, vivify_114
- $P503 = root_new ['parrot';'Hash']
- vivify_114:
- set $P504, $P503["charname"]
- unless_null $P504, vivify_115
- new $P504, "Undef"
- vivify_115:
- defined $I505, $P504
- unless $I505, for_undef_116
- iter $P502, $P504
- new $P515, 'ExceptionHandler'
- set_addr $P515, loop514_handler
- $P515."handle_types"(65, 67, 66)
- push_eh $P515
- loop514_test:
- unless $P502, loop514_done
- shift $P506, $P502
- loop514_redo:
- .const 'Sub' $P508 = "44_1267204685.44293"
- capture_lex $P508
- $P508($P506)
- loop514_next:
- goto loop514_test
- loop514_handler:
- .local pmc exception
- .get_results (exception)
- getattribute $P516, exception, 'type'
- eq $P516, 65, loop514_next
- eq $P516, 67, loop514_redo
- loop514_done:
- pop_eh
- for_undef_116:
+ new $P502, "Undef"
+ .lex "$codepoint", $P502
+.annotate "line", 185
+ find_lex $P505, "$/"
+ unless_null $P505, vivify_119
+ $P505 = root_new ['parrot';'Hash']
+ vivify_119:
+ set $P506, $P505["integer"]
+ unless_null $P506, vivify_120
+ new $P506, "Undef"
+ vivify_120:
+ if $P506, if_504
+.annotate "line", 186
+ $P510 = new ['CodeString']
+ find_lex $P511, "$/"
+ set $S512, $P511
+ $P513 = $P510."charname_to_ord"($S512)
+ set $P503, $P513
.annotate "line", 185
- find_lex $P517, "$/"
- find_lex $P518, "$str"
- $P519 = $P517."!make"($P518)
-.annotate "line", 182
- .return ($P519)
- control_497:
+ goto if_504_end
+ if_504:
+ find_lex $P507, "$/"
+ unless_null $P507, vivify_121
+ $P507 = root_new ['parrot';'Hash']
+ vivify_121:
+ set $P508, $P507["integer"]
+ unless_null $P508, vivify_122
+ new $P508, "Undef"
+ vivify_122:
+ $P509 = $P508."ast"()
+ set $P503, $P509
+ if_504_end:
+ store_lex "$codepoint", $P503
+.annotate "line", 187
+ find_lex $P515, "$codepoint"
+ set $N516, $P515
+ islt $I517, $N516, 0.0
+ unless $I517, if_514_end
+ find_lex $P518, "$/"
+ $P519 = $P518."CURSOR"()
+ new $P520, 'String'
+ set $P520, "Unrecognized character name "
+ find_lex $P521, "$/"
+ concat $P522, $P520, $P521
+ $P519."panic"($P522)
+ if_514_end:
+.annotate "line", 188
+ find_lex $P523, "$/"
+ find_lex $P524, "$codepoint"
+ set $I525, $P524
+ chr $S526, $I525
+ $P527 = $P523."!make"($S526)
+.annotate "line", 183
+ .return ($P527)
+ control_499:
.local pmc exception
.get_results (exception)
- getattribute $P520, exception, "payload"
- .return ($P520)
+ getattribute $P528, exception, "payload"
+ .return ($P528)
.end
.namespace ["HLL";"Actions"]
-.sub "_block507" :anon :subid("44_1267204685.44293") :outer("43_1267204685.44293")
- .param pmc param_509
-.annotate "line", 184
- .lex "$_", param_509
- find_lex $P510, "$str"
- find_lex $P511, "$_"
- $S512 = $P511."ast"()
- concat $P513, $P510, $S512
- store_lex "$str", $P513
- .return ($P513)
+.sub "charnames" :subid("46_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_532
+.annotate "line", 191
+ .const 'Sub' $P541 = "47_1272816831.39278"
+ capture_lex $P541
+ new $P531, 'ExceptionHandler'
+ set_addr $P531, control_530
+ $P531."handle_types"(57)
+ push_eh $P531
+ .lex "self", self
+ .lex "$/", param_532
+.annotate "line", 192
+ new $P533, "Undef"
+ .lex "$str", $P533
+ new $P534, "String"
+ assign $P534, ""
+ store_lex "$str", $P534
+.annotate "line", 193
+ find_lex $P536, "$/"
+ unless_null $P536, vivify_123
+ $P536 = root_new ['parrot';'Hash']
+ vivify_123:
+ set $P537, $P536["charname"]
+ unless_null $P537, vivify_124
+ new $P537, "Undef"
+ vivify_124:
+ defined $I538, $P537
+ unless $I538, for_undef_125
+ iter $P535, $P537
+ new $P548, 'ExceptionHandler'
+ set_addr $P548, loop547_handler
+ $P548."handle_types"(64, 66, 65)
+ push_eh $P548
+ loop547_test:
+ unless $P535, loop547_done
+ shift $P539, $P535
+ loop547_redo:
+ .const 'Sub' $P541 = "47_1272816831.39278"
+ capture_lex $P541
+ $P541($P539)
+ loop547_next:
+ goto loop547_test
+ loop547_handler:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P549, exception, 'type'
+ eq $P549, 64, loop547_next
+ eq $P549, 66, loop547_redo
+ loop547_done:
+ pop_eh
+ for_undef_125:
+.annotate "line", 194
+ find_lex $P550, "$/"
+ find_lex $P551, "$str"
+ $P552 = $P550."!make"($P551)
+.annotate "line", 191
+ .return ($P552)
+ control_530:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P553, exception, "payload"
+ .return ($P553)
.end
.namespace ["HLL";"Actions"]
-.sub "charspec" :subid("45_1267204685.44293") :method :outer("11_1267204685.44293")
- .param pmc param_524
-.annotate "line", 188
- new $P523, 'ExceptionHandler'
- set_addr $P523, control_522
- $P523."handle_types"(58)
- push_eh $P523
+.sub "_block540" :anon :subid("47_1272816831.39278") :outer("46_1272816831.39278")
+ .param pmc param_542
+.annotate "line", 193
+ .lex "$_", param_542
+ find_lex $P543, "$str"
+ find_lex $P544, "$_"
+ $S545 = $P544."ast"()
+ concat $P546, $P543, $S545
+ store_lex "$str", $P546
+ .return ($P546)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "charspec" :subid("48_1272816831.39278") :method :outer("11_1272816831.39278")
+ .param pmc param_557
+.annotate "line", 197
+ new $P556, 'ExceptionHandler'
+ set_addr $P556, control_555
+ $P556."handle_types"(57)
+ push_eh $P556
.lex "self", self
- .lex "$/", param_524
-.annotate "line", 189
- find_lex $P525, "$/"
- find_lex $P528, "$/"
- unless_null $P528, vivify_117
- $P528 = root_new ['parrot';'Hash']
- vivify_117:
- set $P529, $P528["charnames"]
- unless_null $P529, vivify_118
- new $P529, "Undef"
- vivify_118:
- if $P529, if_527
- find_lex $P533, "$/"
- $I534 = "string_to_int"($P533, 10)
- chr $S535, $I534
- new $P526, 'String'
- set $P526, $S535
- goto if_527_end
- if_527:
- find_lex $P530, "$/"
- unless_null $P530, vivify_119
- $P530 = root_new ['parrot';'Hash']
- vivify_119:
- set $P531, $P530["charnames"]
- unless_null $P531, vivify_120
- new $P531, "Undef"
- vivify_120:
- $P532 = $P531."ast"()
- set $P526, $P532
- if_527_end:
- $P536 = $P525."!make"($P526)
-.annotate "line", 188
- .return ($P536)
- control_522:
+ .lex "$/", param_557
+.annotate "line", 198
+ find_lex $P558, "$/"
+ find_lex $P561, "$/"
+ unless_null $P561, vivify_126
+ $P561 = root_new ['parrot';'Hash']
+ vivify_126:
+ set $P562, $P561["charnames"]
+ unless_null $P562, vivify_127
+ new $P562, "Undef"
+ vivify_127:
+ if $P562, if_560
+ find_lex $P566, "$/"
+ $I567 = "string_to_int"($P566, 10)
+ chr $S568, $I567
+ new $P559, 'String'
+ set $P559, $S568
+ goto if_560_end
+ if_560:
+ find_lex $P563, "$/"
+ unless_null $P563, vivify_128
+ $P563 = root_new ['parrot';'Hash']
+ vivify_128:
+ set $P564, $P563["charnames"]
+ unless_null $P564, vivify_129
+ new $P564, "Undef"
+ vivify_129:
+ $P565 = $P564."ast"()
+ set $P559, $P565
+ if_560_end:
+ $P569 = $P558."!make"($P559)
+.annotate "line", 197
+ .return ($P569)
+ control_555:
.local pmc exception
.get_results (exception)
- getattribute $P537, exception, "payload"
- .return ($P537)
+ getattribute $P570, exception, "payload"
+ .return ($P570)
.end
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1267204686.55407")
+.sub "_block11" :anon :subid("10_1272816832.1082")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
@@ -5921,9 +6441,9 @@
.namespace []
-.sub "" :load :init :subid("post25") :outer("10_1267204686.55407")
+.sub "" :load :init :subid("post25") :outer("10_1272816832.1082")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1267204686.55407"
+ .const 'Sub' $P12 = "10_1272816832.1082"
.local pmc block
set block, $P12
.annotate "line", 2
@@ -5937,28 +6457,28 @@
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1267204686.55407") :outer("10_1267204686.55407")
+.sub "_block13" :subid("11_1272816832.1082") :outer("10_1272816832.1082")
.annotate "line", 6
- .const 'Sub' $P187 = "20_1267204686.55407"
+ .const 'Sub' $P187 = "20_1272816832.1082"
capture_lex $P187
- .const 'Sub' $P152 = "18_1267204686.55407"
+ .const 'Sub' $P152 = "18_1272816832.1082"
capture_lex $P152
- .const 'Sub' $P137 = "17_1267204686.55407"
+ .const 'Sub'