[svn:parrot] r36699 - in branches/rename_pccinvoke: . compilers/imcc compilers/pirc compilers/pirc/heredoc compilers/pirc/macro compilers/pirc/src compilers/tge config/auto config/auto/format config/auto/neg_0 config/gen config/gen/config_h config/gen/makefiles docs docs/book docs/dev docs/pct docs/pdds docs/pdds/draft docs/project examples/c examples/pir ext/Parrot-Embed/lib/Parrot ext/Parrot-Embed/t include/parrot languages languages/PIR languages/PIR/src/pasm languages/abc languages/befunge languages/dotnet/pmc languages/ecmascript/t/sanity_pt languages/lua languages/pipp languages/pipp/docs languages/pipp/src/classes languages/pipp/src/common languages/pipp/src/pmc languages/pipp/t/embed languages/pipp/t/php languages/pod/src/Pod/DocTree languages/pod/src/parser languages/pynie languages/squaak/doc languages/t lib/Parrot lib/Parrot/Configure/Step lib/Parrot/Docs/Section lib/Parrot/Harness src src/call src/dynpmc src/gc src/ops src/packfile src/pmc t/codingstd t/c ompilers/imcc/imcpasm t/compilers/tge t/dynpmc t/native_pbc t/op t/perl t/pmc t/src t/steps tools/build tools/dev tools/install tools/util xconf/samples
whiteknight at svn.parrot.org
whiteknight at svn.parrot.org
Fri Feb 13 23:29:55 UTC 2009
Author: whiteknight
Date: Fri Feb 13 23:29:44 2009
New Revision: 36699
URL: https://trac.parrot.org/parrot/changeset/36699
Log:
[rename_pccinvoke] update to trunk r36697. Was failing two tests. Updated, now I'm failing a differen two
Added:
branches/rename_pccinvoke/config/auto/neg_0/
- copied from r36697, trunk/config/auto/neg_0/
branches/rename_pccinvoke/config/auto/neg_0.pm
- copied unchanged from r36697, trunk/config/auto/neg_0.pm
branches/rename_pccinvoke/t/steps/auto_neg_0-01.t
- copied unchanged from r36697, trunk/t/steps/auto_neg_0-01.t
branches/rename_pccinvoke/tools/dev/mk_inno_language.pl
- copied unchanged from r36697, trunk/tools/dev/mk_inno_language.pl
Replaced:
branches/rename_pccinvoke/config/auto/neg_0/test_c.in
- copied unchanged from r36697, trunk/config/auto/neg_0/test_c.in
Deleted:
branches/rename_pccinvoke/languages/lua/
Modified:
branches/rename_pccinvoke/ (props changed)
branches/rename_pccinvoke/CREDITS
branches/rename_pccinvoke/Configure.pl
branches/rename_pccinvoke/DEPRECATED.pod
branches/rename_pccinvoke/MANIFEST
branches/rename_pccinvoke/MANIFEST.SKIP
branches/rename_pccinvoke/MANIFEST.generated
branches/rename_pccinvoke/Makefile.PL
branches/rename_pccinvoke/NEWS
branches/rename_pccinvoke/RESPONSIBLE_PARTIES
branches/rename_pccinvoke/compilers/imcc/main.c
branches/rename_pccinvoke/compilers/imcc/optimizer.c
branches/rename_pccinvoke/compilers/imcc/parser_util.c
branches/rename_pccinvoke/compilers/imcc/pbc.c
branches/rename_pccinvoke/compilers/pirc/README.pod
branches/rename_pccinvoke/compilers/pirc/heredoc/heredocmain.c
branches/rename_pccinvoke/compilers/pirc/macro/lexer.h
branches/rename_pccinvoke/compilers/pirc/macro/macro.h
branches/rename_pccinvoke/compilers/pirc/macro/macro.l
branches/rename_pccinvoke/compilers/pirc/macro/macro.y
branches/rename_pccinvoke/compilers/pirc/macro/macrolexer.c
branches/rename_pccinvoke/compilers/pirc/macro/macroparser.c
branches/rename_pccinvoke/compilers/pirc/src/bcgen.c
branches/rename_pccinvoke/compilers/pirc/src/bcgen.h
branches/rename_pccinvoke/compilers/pirc/src/hdocprep.c
branches/rename_pccinvoke/compilers/pirc/src/hdocprep.l
branches/rename_pccinvoke/compilers/pirc/src/main.c
branches/rename_pccinvoke/compilers/pirc/src/pir.l
branches/rename_pccinvoke/compilers/pirc/src/pir.y
branches/rename_pccinvoke/compilers/pirc/src/pircapi.c
branches/rename_pccinvoke/compilers/pirc/src/pircapi.h
branches/rename_pccinvoke/compilers/pirc/src/pircompiler.c
branches/rename_pccinvoke/compilers/pirc/src/pircompiler.h
branches/rename_pccinvoke/compilers/pirc/src/pircompunit.c
branches/rename_pccinvoke/compilers/pirc/src/pircompunit.h
branches/rename_pccinvoke/compilers/pirc/src/pirdefines.h
branches/rename_pccinvoke/compilers/pirc/src/piremit.c
branches/rename_pccinvoke/compilers/pirc/src/piremit.h
branches/rename_pccinvoke/compilers/pirc/src/pirerr.c
branches/rename_pccinvoke/compilers/pirc/src/pirerr.h
branches/rename_pccinvoke/compilers/pirc/src/pirheredoc.h
branches/rename_pccinvoke/compilers/pirc/src/pirlexer.c
branches/rename_pccinvoke/compilers/pirc/src/pirlexer.h
branches/rename_pccinvoke/compilers/pirc/src/pirmacro.c
branches/rename_pccinvoke/compilers/pirc/src/pirmacro.h
branches/rename_pccinvoke/compilers/pirc/src/pirop.c
branches/rename_pccinvoke/compilers/pirc/src/pirop.h
branches/rename_pccinvoke/compilers/pirc/src/pirparser.c
branches/rename_pccinvoke/compilers/pirc/src/pirparser.h
branches/rename_pccinvoke/compilers/pirc/src/pirpcc.c
branches/rename_pccinvoke/compilers/pirc/src/pirpcc.h
branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.c
branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.h
branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.c
branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.h
branches/rename_pccinvoke/compilers/pirc/src/piryy.h
branches/rename_pccinvoke/compilers/tge/tgc.pir
branches/rename_pccinvoke/config/auto/format/intval_maxmin_c.in (props changed)
branches/rename_pccinvoke/config/auto/jit.pm
branches/rename_pccinvoke/config/gen/config_h/feature_h.in
branches/rename_pccinvoke/config/gen/languages.pm
branches/rename_pccinvoke/config/gen/makefiles/languages.in
branches/rename_pccinvoke/config/gen/makefiles/root.in
branches/rename_pccinvoke/docs/book/ch01_overview.pod
branches/rename_pccinvoke/docs/book/ch02_getting_started.pod
branches/rename_pccinvoke/docs/book/ch07_testing_and_debugging.pod (props changed)
branches/rename_pccinvoke/docs/book/ch08_architecture.pod (props changed)
branches/rename_pccinvoke/docs/book/ch09_pct.pod (props changed)
branches/rename_pccinvoke/docs/book/ch10_hlls.pod (props changed)
branches/rename_pccinvoke/docs/book/ch11_pmcs.pod (props changed)
branches/rename_pccinvoke/docs/book/ch12_opcodes.pod (props changed)
branches/rename_pccinvoke/docs/book/ch13_reference.pod (contents, props changed)
branches/rename_pccinvoke/docs/debugger.pod
branches/rename_pccinvoke/docs/dev/c_functions.pod (props changed)
branches/rename_pccinvoke/docs/dev/infant.pod
branches/rename_pccinvoke/docs/dev/pmc_freeze.pod
branches/rename_pccinvoke/docs/embed.pod
branches/rename_pccinvoke/docs/gettingstarted.pod
branches/rename_pccinvoke/docs/intro.pod
branches/rename_pccinvoke/docs/memory_internals.pod
branches/rename_pccinvoke/docs/pct/gettingstarted.pod
branches/rename_pccinvoke/docs/pdds/draft/pdd06_pasm.pod
branches/rename_pccinvoke/docs/pdds/draft/pdd10_embedding.pod
branches/rename_pccinvoke/docs/pdds/draft/pdd11_extending.pod
branches/rename_pccinvoke/docs/pdds/pdd09_gc.pod
branches/rename_pccinvoke/docs/pdds/pdd17_pmc.pod
branches/rename_pccinvoke/docs/pmc.pod
branches/rename_pccinvoke/docs/project/ticket_wrangler_guide.pod
branches/rename_pccinvoke/docs/running.pod
branches/rename_pccinvoke/docs/submissions.pod
branches/rename_pccinvoke/examples/c/test_main.c
branches/rename_pccinvoke/examples/pir/pirric.pir
branches/rename_pccinvoke/ext/Parrot-Embed/lib/Parrot/Embed.xs
branches/rename_pccinvoke/ext/Parrot-Embed/t/interp.t
branches/rename_pccinvoke/ext/Parrot-Embed/t/languages.t
branches/rename_pccinvoke/include/parrot/call.h (contents, props changed)
branches/rename_pccinvoke/include/parrot/embed.h
branches/rename_pccinvoke/include/parrot/extend.h
branches/rename_pccinvoke/include/parrot/gc_api.h (contents, props changed)
branches/rename_pccinvoke/include/parrot/gc_mark_sweep.h (props changed)
branches/rename_pccinvoke/include/parrot/gc_pools.h (props changed)
branches/rename_pccinvoke/include/parrot/interpreter.h
branches/rename_pccinvoke/include/parrot/oo.h
branches/rename_pccinvoke/include/parrot/packfile.h
branches/rename_pccinvoke/include/parrot/pobj.h
branches/rename_pccinvoke/include/parrot/resources.h
branches/rename_pccinvoke/include/parrot/settings.h
branches/rename_pccinvoke/include/parrot/thread.h
branches/rename_pccinvoke/languages/ (props changed)
branches/rename_pccinvoke/languages/PIR/pir.pir (props changed)
branches/rename_pccinvoke/languages/PIR/src/pasm/pasm_core.pg
branches/rename_pccinvoke/languages/abc/abc.pir
branches/rename_pccinvoke/languages/befunge/Configure.pl (props changed)
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassembly.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassemblyref.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetbytecode.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetclassmetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotneteh.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetfieldmetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmemberrefmetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmethodmetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnetparammetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/dotnettyperefmetadata.pmc
branches/rename_pccinvoke/languages/dotnet/pmc/managedpointer.pmc
branches/rename_pccinvoke/languages/ecmascript/t/sanity_pt/03-boolean.t (props changed)
branches/rename_pccinvoke/languages/pipp/docs/internals.pod (props changed)
branches/rename_pccinvoke/languages/pipp/pipp.pir (props changed)
branches/rename_pccinvoke/languages/pipp/src/classes/Object.pir (props changed)
branches/rename_pccinvoke/languages/pipp/src/common/php_filesystem.pir (props changed)
branches/rename_pccinvoke/languages/pipp/src/pmc/pipp_hash.c (props changed)
branches/rename_pccinvoke/languages/pipp/src/pmc/pipp_hash.h (props changed)
branches/rename_pccinvoke/languages/pipp/t/embed/eval.t (props changed)
branches/rename_pccinvoke/languages/pipp/t/php/filesystem.t (props changed)
branches/rename_pccinvoke/languages/pod/src/Pod/DocTree/Node.pir
branches/rename_pccinvoke/languages/pod/src/parser/actions.pm
branches/rename_pccinvoke/languages/pod/src/parser/grammar.pg
branches/rename_pccinvoke/languages/pynie/TODO (props changed)
branches/rename_pccinvoke/languages/squaak/doc/tutorial_episode_1.pod
branches/rename_pccinvoke/languages/t/harness
branches/rename_pccinvoke/lib/Parrot/Configure/Step/List.pm
branches/rename_pccinvoke/lib/Parrot/Distribution.pm
branches/rename_pccinvoke/lib/Parrot/Docs/Section/Languages.pm
branches/rename_pccinvoke/lib/Parrot/Harness/Options.pm
branches/rename_pccinvoke/parrotbug
branches/rename_pccinvoke/src/byteorder.c
branches/rename_pccinvoke/src/call/ (props changed)
branches/rename_pccinvoke/src/call/ops.c (props changed)
branches/rename_pccinvoke/src/call/pcc.c (contents, props changed)
branches/rename_pccinvoke/src/datatypes.c
branches/rename_pccinvoke/src/debug.c
branches/rename_pccinvoke/src/dynext.c
branches/rename_pccinvoke/src/dynpmc/pair.pmc (props changed)
branches/rename_pccinvoke/src/dynpmc/rational.pmc
branches/rename_pccinvoke/src/embed.c
branches/rename_pccinvoke/src/events.c
branches/rename_pccinvoke/src/exceptions.c
branches/rename_pccinvoke/src/exec.c
branches/rename_pccinvoke/src/exec_save.c
branches/rename_pccinvoke/src/exec_save.h
branches/rename_pccinvoke/src/exec_start.c
branches/rename_pccinvoke/src/exit.c
branches/rename_pccinvoke/src/extend.c
branches/rename_pccinvoke/src/gc/api.c (contents, props changed)
branches/rename_pccinvoke/src/gc/gc_malloc.c
branches/rename_pccinvoke/src/gc/generational_ms.c (contents, props changed)
branches/rename_pccinvoke/src/gc/incremental_ms.c (contents, props changed)
branches/rename_pccinvoke/src/gc/mark_sweep.c (contents, props changed)
branches/rename_pccinvoke/src/gc/pools.c (props changed)
branches/rename_pccinvoke/src/gc/res_lea.c
branches/rename_pccinvoke/src/gc/resources.c
branches/rename_pccinvoke/src/gc/system.c (props changed)
branches/rename_pccinvoke/src/global.c
branches/rename_pccinvoke/src/global_setup.c
branches/rename_pccinvoke/src/hash.c
branches/rename_pccinvoke/src/hll.c
branches/rename_pccinvoke/src/inter_cb.c
branches/rename_pccinvoke/src/inter_create.c
branches/rename_pccinvoke/src/inter_misc.c
branches/rename_pccinvoke/src/interp_guts.h
branches/rename_pccinvoke/src/interpreter.c
branches/rename_pccinvoke/src/jit.c
branches/rename_pccinvoke/src/jit.h
branches/rename_pccinvoke/src/jit_debug.c
branches/rename_pccinvoke/src/jit_debug_xcoff.c
branches/rename_pccinvoke/src/key.c
branches/rename_pccinvoke/src/library.c
branches/rename_pccinvoke/src/list.c
branches/rename_pccinvoke/src/longopt.c
branches/rename_pccinvoke/src/main.c
branches/rename_pccinvoke/src/malloc-trace.c
branches/rename_pccinvoke/src/misc.c
branches/rename_pccinvoke/src/multidispatch.c
branches/rename_pccinvoke/src/nci_test.c
branches/rename_pccinvoke/src/oo.c
branches/rename_pccinvoke/src/ops/core.ops
branches/rename_pccinvoke/src/ops/io.ops
branches/rename_pccinvoke/src/ops/pmc.ops
branches/rename_pccinvoke/src/packdump.c
branches/rename_pccinvoke/src/packfile.c
branches/rename_pccinvoke/src/packfile/pf_items.c
branches/rename_pccinvoke/src/packout.c
branches/rename_pccinvoke/src/parrot_debugger.c
branches/rename_pccinvoke/src/pbc_disassemble.c
branches/rename_pccinvoke/src/pbc_dump.c
branches/rename_pccinvoke/src/pbc_info.c
branches/rename_pccinvoke/src/pbc_merge.c
branches/rename_pccinvoke/src/pic.c
branches/rename_pccinvoke/src/pic_jit.c
branches/rename_pccinvoke/src/pmc.c
branches/rename_pccinvoke/src/pmc/addrregistry.pmc
branches/rename_pccinvoke/src/pmc/bigint.pmc
branches/rename_pccinvoke/src/pmc/class.pmc
branches/rename_pccinvoke/src/pmc/continuation.pmc
branches/rename_pccinvoke/src/pmc/default.pmc
branches/rename_pccinvoke/src/pmc/eval.pmc
branches/rename_pccinvoke/src/pmc/exception.pmc
branches/rename_pccinvoke/src/pmc/exporter.pmc
branches/rename_pccinvoke/src/pmc/float.pmc
branches/rename_pccinvoke/src/pmc/hash.pmc
branches/rename_pccinvoke/src/pmc/iterator.pmc
branches/rename_pccinvoke/src/pmc/key.pmc
branches/rename_pccinvoke/src/pmc/object.pmc
branches/rename_pccinvoke/src/pmc/packfile.pmc
branches/rename_pccinvoke/src/pmc/parrotinterpreter.pmc
branches/rename_pccinvoke/src/pmc/parrotthread.pmc
branches/rename_pccinvoke/src/pmc/pmcproxy.pmc
branches/rename_pccinvoke/src/pmc/role.pmc
branches/rename_pccinvoke/src/pmc/scheduler.pmc
branches/rename_pccinvoke/src/pmc/schedulermessage.pmc
branches/rename_pccinvoke/src/pmc/task.pmc
branches/rename_pccinvoke/src/pmc/timer.pmc
branches/rename_pccinvoke/src/pmc_freeze.c
branches/rename_pccinvoke/src/runops_cores.c
branches/rename_pccinvoke/src/runops_cores.h
branches/rename_pccinvoke/src/scheduler.c
branches/rename_pccinvoke/src/spf_render.c
branches/rename_pccinvoke/src/spf_vtable.c
branches/rename_pccinvoke/src/stacks.c
branches/rename_pccinvoke/src/sub.c
branches/rename_pccinvoke/src/thread.c
branches/rename_pccinvoke/src/trace.c
branches/rename_pccinvoke/src/trace.h
branches/rename_pccinvoke/src/tsq.c
branches/rename_pccinvoke/src/utils.c
branches/rename_pccinvoke/src/vtables.c
branches/rename_pccinvoke/src/warnings.c
branches/rename_pccinvoke/t/codingstd/linelength.t
branches/rename_pccinvoke/t/compilers/imcc/imcpasm/opt1.t
branches/rename_pccinvoke/t/compilers/tge/NoneGrammar.tg (props changed)
branches/rename_pccinvoke/t/dynpmc/pair.t (props changed)
branches/rename_pccinvoke/t/native_pbc/header.t
branches/rename_pccinvoke/t/native_pbc/integer.t
branches/rename_pccinvoke/t/native_pbc/number.t
branches/rename_pccinvoke/t/native_pbc/string.t
branches/rename_pccinvoke/t/op/arithmetics.t
branches/rename_pccinvoke/t/op/gc.t
branches/rename_pccinvoke/t/op/interp.t
branches/rename_pccinvoke/t/op/jitn.t
branches/rename_pccinvoke/t/op/number.t
branches/rename_pccinvoke/t/op/string_mem.t
branches/rename_pccinvoke/t/perl/Parrot_Distribution.t
branches/rename_pccinvoke/t/pmc/float.t
branches/rename_pccinvoke/t/pmc/io.t
branches/rename_pccinvoke/t/pmc/os.t
branches/rename_pccinvoke/t/src/embed.t (contents, props changed)
branches/rename_pccinvoke/t/src/extend.t
branches/rename_pccinvoke/tools/build/vtable_extend.pl
branches/rename_pccinvoke/tools/dev/mk_gitignore.pl (props changed)
branches/rename_pccinvoke/tools/dev/mk_inno.pl
branches/rename_pccinvoke/tools/dev/mk_native_pbc
branches/rename_pccinvoke/tools/dev/pbc_to_exe.pir
branches/rename_pccinvoke/tools/install/smoke.pl
branches/rename_pccinvoke/tools/util/dump_pbc.pl
branches/rename_pccinvoke/tools/util/perlcritic-cage.conf (props changed)
branches/rename_pccinvoke/tools/util/templates.json
branches/rename_pccinvoke/xconf/samples/testfoobar
branches/rename_pccinvoke/xconf/samples/yourfoobar
Modified: branches/rename_pccinvoke/CREDITS
==============================================================================
--- branches/rename_pccinvoke/CREDITS Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/CREDITS Fri Feb 13 23:29:44 2009 (r36699)
@@ -535,12 +535,12 @@
D: Python PGE grammar, C99 PGE Grammar
D: Various Config Fixes, Compiler Warnings, etc
-N: Klaas-Jan Stol a.k.a. kj[s]?
+N: Klaas-Jan Stol
D: clean-ups of compilers/imcc and its documentation.
D: compilers/pirc and languages/PIR.
D: various updates to PCT-based languages (C99,Punie,Cardinal,Ecmascript)
-D: languages/json
-U: kjs
+D: languages/json, languages/squaak
+U: kj, kjs
E: parrotcode at gmail.com
N: Larry Wall
Modified: branches/rename_pccinvoke/Configure.pl
==============================================================================
--- branches/rename_pccinvoke/Configure.pl Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/Configure.pl Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
#! perl
-# Copyright (C) 2001-2008, The Perl Foundation.
+# Copyright (C) 2001-2008, Parrot Foundation.
# $Id$
use 5.008;
Modified: branches/rename_pccinvoke/DEPRECATED.pod
==============================================================================
--- branches/rename_pccinvoke/DEPRECATED.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/DEPRECATED.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -150,6 +150,11 @@
namespace entry by default. Use the C<:nsentry> flag to cause this
to happen. See RT #60586 and RT #53302.
+=item Parrot_readbc, Parrot_loadbc. [post 0.8.1]
+
+They have been renamed to C<Parrot_pbc_read>, C<Parrot_pbc_load>.
+C<Parrot_pbc_read> has one third int argument. See TT #266.
+
=back
=head1 Compiler tools
Modified: branches/rename_pccinvoke/MANIFEST
==============================================================================
--- branches/rename_pccinvoke/MANIFEST Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/MANIFEST Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Feb 11 20:03:30 2009 UT
+# generated by tools\dev\mk_manifest_and_skip.pl Fri Feb 13 21:28:33 2009 UT
#
# See tools/dev/install_files.pl for documentation on the
# format of this file.
@@ -273,6 +273,8 @@
config/auto/memalign/test_c.in []
config/auto/msvc.pm []
config/auto/msvc/test_c.in []
+config/auto/neg_0.pm []
+config/auto/neg_0/test_c.in []
config/auto/opengl.pm []
config/auto/opengl/opengl_c.in []
config/auto/ops.pm []
@@ -1594,224 +1596,6 @@
languages/lolcode/t/08-switch.t [lolcode]
languages/lolcode/t/99-four-fours.t [lolcode]
languages/lolcode/t/harness [lolcode]
-languages/lua/CREDITS [lua]
-languages/lua/Configure.pl [lua]
-languages/lua/MAINTAINER [lua]
-languages/lua/config/makefiles/root.in [lua]
-languages/lua/demo/triangle.lua [lua]
-languages/lua/doc/lua51.bnf [lua]
-languages/lua/doc/lua51.y [lua]
-languages/lua/doc/running.pod [lua]
-languages/lua/doc/status.pod [lua]
-languages/lua/lua.pir [lua]
-languages/lua/luac.pl [lua]
-languages/lua/luac2pir.pir [lua]
-languages/lua/luad.pir [lua]
-languages/lua/luap.pir [lua]
-languages/lua/src/PASTGrammar.tg [lua]
-languages/lua/src/POSTGrammar.tg [lua]
-languages/lua/src/build/translator.pl [lua]
-languages/lua/src/dumplex.tg [lua]
-languages/lua/src/grammar51.pir [lua]
-languages/lua/src/lib/_helpers.pir [lua]
-languages/lua/src/lib/alarm.pir [lua]
-languages/lua/src/lib/base64.pir [lua]
-languages/lua/src/lib/bc.pir [lua]
-languages/lua/src/lib/bit.pir [lua]
-languages/lua/src/lib/bitlib.pir [lua]
-languages/lua/src/lib/complex.pir [lua]
-languages/lua/src/lib/gl.lua [lua]
-languages/lua/src/lib/gl_binding.pir [lua]
-languages/lua/src/lib/glut.pir [lua]
-languages/lua/src/lib/lfs.pir [lua]
-languages/lua/src/lib/lpeg.pir [lua]
-languages/lua/src/lib/luaaux.pir [lua]
-languages/lua/src/lib/luabasic.pir [lua]
-languages/lua/src/lib/luabytecode.pir [lua]
-languages/lua/src/lib/luabytecode.rules [lua]
-languages/lua/src/lib/luacoroutine.pir [lua]
-languages/lua/src/lib/luadebug.pir [lua]
-languages/lua/src/lib/luafile.pir [lua]
-languages/lua/src/lib/luaio.pir [lua]
-languages/lua/src/lib/luamath.pir [lua]
-languages/lua/src/lib/luaos.pir [lua]
-languages/lua/src/lib/luapackage.pir [lua]
-languages/lua/src/lib/luaperl.pir [lua]
-languages/lua/src/lib/luaregex.pir [lua]
-languages/lua/src/lib/luastring.pir [lua]
-languages/lua/src/lib/luatable.pir [lua]
-languages/lua/src/lib/markdown.pir [lua]
-languages/lua/src/lib/mathx.pir [lua]
-languages/lua/src/lib/md5.pir [lua]
-languages/lua/src/lib/random.pir [lua]
-languages/lua/src/lib/struct.pir [lua]
-languages/lua/src/lib/uuid.pir [lua]
-languages/lua/src/lua51.pg [lua]
-languages/lua/src/lua51.pir [lua]
-languages/lua/src/lua51_testlex.pg [lua]
-languages/lua/src/nqp/actions.pm [lua]
-languages/lua/src/nqp/grammar.pg [lua]
-languages/lua/src/pmc/lua.pmc [lua]
-languages/lua/src/pmc/lua_private.h [lua]
-languages/lua/src/pmc/luaany.pmc [lua]
-languages/lua/src/pmc/luaboolean.pmc [lua]
-languages/lua/src/pmc/luabytecode.pmc [lua]
-languages/lua/src/pmc/luafunction.pmc [lua]
-languages/lua/src/pmc/luanil.pmc [lua]
-languages/lua/src/pmc/luanumber.pmc [lua]
-languages/lua/src/pmc/luastring.pmc [lua]
-languages/lua/src/pmc/luatable.pmc [lua]
-languages/lua/src/pmc/luathread.pmc [lua]
-languages/lua/src/pmc/luauserdata.pmc [lua]
-languages/lua/src/yapp/Lua/build.pm [lua]
-languages/lua/src/yapp/Lua/lexer.pm [lua]
-languages/lua/src/yapp/Lua/lua51.yp [lua]
-languages/lua/src/yapp/Lua/opcode.pm [lua]
-languages/lua/src/yapp/Lua/parser.pm [lua]
-languages/lua/src/yapp/Lua/pir.pm [lua]
-languages/lua/src/yapp/Lua/symbtab.pm [lua]
-languages/lua/t/Parrot/Test/Lua.pm [lua]
-languages/lua/t/Parrot/Test/Lua_lex.pm [lua]
-languages/lua/t/Parrot/Test/Luad.pm [lua]
-languages/lua/t/alarm.t [lua]
-languages/lua/t/assign.t [lua]
-languages/lua/t/base64.t [lua]
-languages/lua/t/basic.t [lua]
-languages/lua/t/bc.t [lua]
-languages/lua/t/bit.t [lua]
-languages/lua/t/bit/bittest.lua [lua]
-languages/lua/t/bit/nsievebits.lua [lua]
-languages/lua/t/bitlib.t [lua]
-languages/lua/t/boolean.t [lua]
-languages/lua/t/closure.t [lua]
-languages/lua/t/complex.t [lua]
-languages/lua/t/constructor.t [lua]
-languages/lua/t/coroutine.t [lua]
-languages/lua/t/debug.t [lua]
-languages/lua/t/examples.t [lua]
-languages/lua/t/expr.t [lua]
-languages/lua/t/forlist.t [lua]
-languages/lua/t/fornum.t [lua]
-languages/lua/t/function.t [lua]
-languages/lua/t/functions.t [lua]
-languages/lua/t/gl.t [lua]
-languages/lua/t/harness [lua]
-languages/lua/t/if.t [lua]
-languages/lua/t/io.t [lua]
-languages/lua/t/iterator.t [lua]
-languages/lua/t/lexico.t [lua]
-languages/lua/t/lfs.t [lua]
-languages/lua/t/lpeg.t [lua]
-languages/lua/t/luad.t [lua]
-languages/lua/t/markdown.t [lua]
-languages/lua/t/math.t [lua]
-languages/lua/t/mathx.t [lua]
-languages/lua/t/md5.t [lua]
-languages/lua/t/metatable.t [lua]
-languages/lua/t/nil.t [lua]
-languages/lua/t/number.t [lua]
-languages/lua/t/object.t [lua]
-languages/lua/t/os.t [lua]
-languages/lua/t/package.t [lua]
-languages/lua/t/pmc/boolean.t [lua]
-languages/lua/t/pmc/function.t [lua]
-languages/lua/t/pmc/nil.t [lua]
-languages/lua/t/pmc/number.t [lua]
-languages/lua/t/pmc/string.t [lua]
-languages/lua/t/pmc/table.t [lua]
-languages/lua/t/pmc/thread.t [lua]
-languages/lua/t/pmc/userdata.t [lua]
-languages/lua/t/random.t [lua]
-languages/lua/t/regex.t [lua]
-languages/lua/t/repeat.t [lua]
-languages/lua/t/rx_captures [lua]
-languages/lua/t/rx_charclass [lua]
-languages/lua/t/rx_metachars [lua]
-languages/lua/t/scope.t [lua]
-languages/lua/t/sha1.t [lua]
-languages/lua/t/shootout.t [lua]
-languages/lua/t/shootout/binarytrees-output.txt [lua]
-languages/lua/t/shootout/binarytrees_lua-3.lua [lua]
-languages/lua/t/shootout/chameneos-output.txt [lua]
-languages/lua/t/shootout/chameneos.lua [lua]
-languages/lua/t/shootout/fannkuch-output.txt [lua]
-languages/lua/t/shootout/fannkuch_lua-3.lua [lua]
-languages/lua/t/shootout/fasta-output.txt [lua]
-languages/lua/t/shootout/fasta_lua-2.lua [lua]
-languages/lua/t/shootout/hello-output.txt [lua]
-languages/lua/t/shootout/hello.lua [lua]
-languages/lua/t/shootout/knucleotide-input.txt [lua]
-languages/lua/t/shootout/knucleotide-output.txt [lua]
-languages/lua/t/shootout/knucleotide_lua-2.lua [lua]
-languages/lua/t/shootout/mandelbrot-output.txt [lua]
-languages/lua/t/shootout/mandelbrot_lua-2.lua [lua]
-languages/lua/t/shootout/message-output.txt [lua]
-languages/lua/t/shootout/message_lua-2.lua [lua]
-languages/lua/t/shootout/meteor-output.txt [lua]
-languages/lua/t/shootout/meteor_lua-4.lua [lua]
-languages/lua/t/shootout/nbody-output.txt [lua]
-languages/lua/t/shootout/nbody_lua-2.lua [lua]
-languages/lua/t/shootout/nsieve-output.txt [lua]
-languages/lua/t/shootout/nsieve_lua-3.lua [lua]
-languages/lua/t/shootout/nsievebits-output.txt [lua]
-languages/lua/t/shootout/nsievebits.lua [lua]
-languages/lua/t/shootout/partialsums-output.txt [lua]
-languages/lua/t/shootout/partialsums_lua-3.lua [lua]
-languages/lua/t/shootout/pidigits-output.txt [lua]
-languages/lua/t/shootout/pidigits_lua-2.lua [lua]
-languages/lua/t/shootout/recursive-output.txt [lua]
-languages/lua/t/shootout/recursive.lua [lua]
-languages/lua/t/shootout/regexdna-input.txt [lua]
-languages/lua/t/shootout/regexdna-output.txt [lua]
-languages/lua/t/shootout/regexdna_lua-3.lua [lua]
-languages/lua/t/shootout/revcomp-input.txt [lua]
-languages/lua/t/shootout/revcomp-output.txt [lua]
-languages/lua/t/shootout/revcomp_lua-3.lua [lua]
-languages/lua/t/shootout/spectralnorm-output.txt [lua]
-languages/lua/t/shootout/spectralnorm_lua-3.lua [lua]
-languages/lua/t/shootout/sumcol-input.txt [lua]
-languages/lua/t/shootout/sumcol-output.txt [lua]
-languages/lua/t/shootout/sumcol.lua [lua]
-languages/lua/t/standalone.t [lua]
-languages/lua/t/string.t [lua]
-languages/lua/t/strings.t [lua]
-languages/lua/t/struct.t [lua]
-languages/lua/t/table.t [lua]
-languages/lua/t/tables.t [lua]
-languages/lua/t/test-from-lua.t [lua]
-languages/lua/t/test/bisect-output-unix.txt [lua]
-languages/lua/t/test/bisect-output-win32.txt [lua]
-languages/lua/t/test/bisect.lua [lua]
-languages/lua/t/test/cf-output.txt [lua]
-languages/lua/t/test/cf.lua [lua]
-languages/lua/t/test/echo.lua [lua]
-languages/lua/t/test/env.lua [lua]
-languages/lua/t/test/factorial-output.txt [lua]
-languages/lua/t/test/factorial.lua [lua]
-languages/lua/t/test/fib.lua [lua]
-languages/lua/t/test/fibfor-output.txt [lua]
-languages/lua/t/test/fibfor.lua [lua]
-languages/lua/t/test/globals.lua [lua]
-languages/lua/t/test/hello.lua [lua]
-languages/lua/t/test/life-output.txt [lua]
-languages/lua/t/test/life.lua [lua]
-languages/lua/t/test/luac.lua [lua]
-languages/lua/t/test/printf.lua [lua]
-languages/lua/t/test/readonly.lua [lua]
-languages/lua/t/test/sieve-output.txt [lua]
-languages/lua/t/test/sieve.lua [lua]
-languages/lua/t/test/sort-output.txt [lua]
-languages/lua/t/test/sort.lua [lua]
-languages/lua/t/test/table.lua [lua]
-languages/lua/t/test/trace-calls.lua [lua]
-languages/lua/t/test/trace-globals.lua [lua]
-languages/lua/t/test/xd.lua [lua]
-languages/lua/t/test_lex.t [lua]
-languages/lua/t/threads.t [lua]
-languages/lua/t/userdata.t [lua]
-languages/lua/t/uuid.t [lua]
-languages/lua/t/while.t [lua]
-languages/lua/test_lex.pir [lua]
languages/ook/Changes [ook]
languages/ook/MAINTAINER [ook]
languages/ook/README [ook]
@@ -3248,6 +3032,7 @@
t/steps/auto_macports-02.t []
t/steps/auto_memalign-01.t []
t/steps/auto_msvc-01.t []
+t/steps/auto_neg_0-01.t []
t/steps/auto_opengl-01.t []
t/steps/auto_ops-01.t []
t/steps/auto_pcre-01.t []
@@ -3365,6 +3150,7 @@
tools/dev/manicheck.pl [devel]
tools/dev/mk_gitignore.pl [devel]
tools/dev/mk_inno.pl [devel]
+tools/dev/mk_inno_language.pl [devel]
tools/dev/mk_language_shell.pl [devel]
tools/dev/mk_manifest_and_skip.pl [devel]
tools/dev/mk_native_pbc [devel]
Modified: branches/rename_pccinvoke/MANIFEST.SKIP
==============================================================================
--- branches/rename_pccinvoke/MANIFEST.SKIP Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/MANIFEST.SKIP Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Tue Feb 10 19:40:38 2009 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Fri Feb 13 09:49:01 2009 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -230,6 +230,8 @@
^compilers/pirc/Makefile/
^compilers/pirc/pirc$
^compilers/pirc/pirc/
+^compilers/pirc/pirc\.exe$
+^compilers/pirc/pirc\.exe/
# generated from svn:ignore of 'compilers/pirc/t/'
^compilers/pirc/t/basic_?\.pir$
^compilers/pirc/t/basic_?\.pir/
@@ -411,6 +413,8 @@
^languages/languages_smoke\.html/
^languages/lazy-k$
^languages/lazy-k/
+^languages/lua$
+^languages/lua/
^languages/m4$
^languages/m4/
^languages/markdown$
@@ -777,87 +781,6 @@
^languages/lolcode/src/gen_builtins\.pir/
^languages/lolcode/src/gen_grammar\.pir$
^languages/lolcode/src/gen_grammar\.pir/
-# generated from svn:ignore of 'languages/lua/'
-^languages/lua/.*\.pbc$
-^languages/lua/.*\.pbc/
-^languages/lua/Makefile$
-^languages/lua/Makefile/
-^languages/lua/lua$
-^languages/lua/lua/
-^languages/lua/lua\.c$
-^languages/lua/lua\.c/
-^languages/lua/lua\.exe$
-^languages/lua/lua\.exe/
-^languages/lua/lua_test_run\.tar\.gz$
-^languages/lua/lua_test_run\.tar\.gz/
-# generated from svn:ignore of 'languages/lua/src/'
-^languages/lua/src/.*\.pbc$
-^languages/lua/src/.*\.pbc/
-^languages/lua/src/PASTGrammar_gen\.pir$
-^languages/lua/src/PASTGrammar_gen\.pir/
-^languages/lua/src/POSTGrammar_gen\.pir$
-^languages/lua/src/POSTGrammar_gen\.pir/
-^languages/lua/src/dumplex_gen\.pir$
-^languages/lua/src/dumplex_gen\.pir/
-^languages/lua/src/lua51_gen\.pir$
-^languages/lua/src/lua51_gen\.pir/
-^languages/lua/src/lua51_testlex_gen\.pir$
-^languages/lua/src/lua51_testlex_gen\.pir/
-# generated from svn:ignore of 'languages/lua/src/lib/'
-^languages/lua/src/lib/.*\.pbc$
-^languages/lua/src/lib/.*\.pbc/
-^languages/lua/src/lib/gl\.pir$
-^languages/lua/src/lib/gl\.pir/
-^languages/lua/src/lib/luabytecode_gen\.pir$
-^languages/lua/src/lib/luabytecode_gen\.pir/
-^languages/lua/src/lib/sha1\.pir$
-^languages/lua/src/lib/sha1\.pir/
-# generated from svn:ignore of 'languages/lua/src/pmc/'
-^languages/lua/src/pmc/.*\.bundle$
-^languages/lua/src/pmc/.*\.bundle/
-^languages/lua/src/pmc/.*\.c$
-^languages/lua/src/pmc/.*\.c/
-^languages/lua/src/pmc/.*\.def$
-^languages/lua/src/pmc/.*\.def/
-^languages/lua/src/pmc/.*\.dll$
-^languages/lua/src/pmc/.*\.dll/
-^languages/lua/src/pmc/.*\.dump$
-^languages/lua/src/pmc/.*\.dump/
-^languages/lua/src/pmc/.*\.exp$
-^languages/lua/src/pmc/.*\.exp/
-^languages/lua/src/pmc/.*\.h$
-^languages/lua/src/pmc/.*\.h/
-^languages/lua/src/pmc/.*\.ilk$
-^languages/lua/src/pmc/.*\.ilk/
-^languages/lua/src/pmc/.*\.lib$
-^languages/lua/src/pmc/.*\.lib/
-^languages/lua/src/pmc/.*\.manifest$
-^languages/lua/src/pmc/.*\.manifest/
-^languages/lua/src/pmc/.*\.o$
-^languages/lua/src/pmc/.*\.o/
-^languages/lua/src/pmc/.*\.obj$
-^languages/lua/src/pmc/.*\.obj/
-^languages/lua/src/pmc/.*\.pdb$
-^languages/lua/src/pmc/.*\.pdb/
-^languages/lua/src/pmc/.*\.so$
-^languages/lua/src/pmc/.*\.so/
-# generated from svn:ignore of 'languages/lua/src/yapp/Lua/'
-^languages/lua/src/yapp/Lua/.*\.output$
-^languages/lua/src/yapp/Lua/.*\.output/
-# generated from svn:ignore of 'languages/lua/t/'
-^languages/lua/t/.*\.lua$
-^languages/lua/t/.*\.lua/
-^languages/lua/t/.*\.luac$
-^languages/lua/t/.*\.luac/
-^languages/lua/t/.*\.orig_out$
-^languages/lua/t/.*\.orig_out/
-^languages/lua/t/.*\.parrot_out$
-^languages/lua/t/.*\.parrot_out/
-^languages/lua/t/.*\.pir$
-^languages/lua/t/.*\.pir/
-# generated from svn:ignore of 'languages/lua/t/pmc/'
-^languages/lua/t/pmc/.*\.pir$
-^languages/lua/t/pmc/.*\.pir/
# generated from svn:ignore of 'languages/ook/'
^languages/ook/.*\.pbc$
^languages/ook/.*\.pbc/
@@ -1269,6 +1192,9 @@
^src/atomic/.*\.gcda/
^src/atomic/.*\.o$
^src/atomic/.*\.o/
+# generated from svn:ignore of 'src/call/'
+^src/call/.*\.str$
+^src/call/.*\.str/
# generated from svn:ignore of 'src/dynoplibs/'
^src/dynoplibs/.*\.bundle$
^src/dynoplibs/.*\.bundle/
Modified: branches/rename_pccinvoke/MANIFEST.generated
==============================================================================
--- branches/rename_pccinvoke/MANIFEST.generated Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/MANIFEST.generated Fri Feb 13 23:29:44 2009 (r36699)
@@ -86,6 +86,8 @@
pbc_to_exe.exe [main]bin
pdb [main]bin
pdb.exe [main]bin
+pirc [main]bin
+pirc.exe [main]bin
runtime/parrot/dynext/apl_group.bundle [library]
runtime/parrot/dynext/apl_group.dll [library]
runtime/parrot/dynext/apl_group.dylib [library]
@@ -134,10 +136,6 @@
runtime/parrot/dynext/libnci_test.dll [library]
runtime/parrot/dynext/libnci_test.dylib [library]
runtime/parrot/dynext/libnci_test.so [library]
-runtime/parrot/dynext/lua_group.bundle [library]
-runtime/parrot/dynext/lua_group.dll [library]
-runtime/parrot/dynext/lua_group.dylib [library]
-runtime/parrot/dynext/lua_group.so [library]
runtime/parrot/dynext/match_group.bundle [library]
runtime/parrot/dynext/match_group.dll [library]
runtime/parrot/dynext/match_group.dylib [library]
@@ -242,19 +240,6 @@
languages/forth/forth.pbc [main]
languages/lisp/lisp.pbc [main]
languages/lolcode/lolcode.pbc [main]
-languages/lua/alarm.pbc [main]
-languages/lua/base64.pbc [main]
-languages/lua/bc.pbc [main]
-languages/lua/bitlib.pbc [main]
-languages/lua/complex.pbc [main]
-languages/lua/lfs.pbc [main]
-languages/lua/lua.pbc [main]
-languages/lua/markdown.pbc [main]
-languages/lua/mathx.pbc [main]
-languages/lua/md5.pbc [main]
-languages/lua/random.pbc [main]
-languages/lua/sha1.pbc [main]
-languages/lua/uuid.pbc [main]
languages/ook/ook.pbc [main]
languages/pheme/pheme.pbc [main]
languages/PIR/pirc.pbc [main]
Modified: branches/rename_pccinvoke/Makefile.PL
==============================================================================
--- branches/rename_pccinvoke/Makefile.PL Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/Makefile.PL Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
#! perl
-# Copyright (C) 2007-2008, The Perl Foundation.
+# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
=head1 NAME
Modified: branches/rename_pccinvoke/NEWS
==============================================================================
--- branches/rename_pccinvoke/NEWS Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/NEWS Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,9 +1,69 @@
# $Id$
-New in February 2009 release
+New in February 2009 release (r35855 to r36683)
-- Cleanup
+- Implementation
+ + Support for portable 'Inf' and 'NaN'
+ + pbc_disassemble prints constants in constants table
+ + Removed (incomplete) Bignum implementation
+ + Pair is now a dynamic loadable PMC
+ + Various function name sanification
+ + New implementation of Strings component
+ + Replace various PMC value union access code by VTABLE method invocations
+ + Replace various PMC value unions by ATTRibutes
+ + Removed SArray PMC. Use FixedPMCArray instead.
+- Documentation
+ + Book
+ - updates to Chapter 2 (getting started)
+ - updates to Chapter 3 (PIR basics)
+ - updates to Chapter 4 (PIR subroutines)
+ - updates to Chapter 10 (HLLs)
+ - updates to Chapter 12 (opcodes)
+ + Function documentation
+ + Pod documentation style modernized; no longer Perl 5 style.
+ + PMC has an additional acronym: Poly Morphic Container
+ + The DOD (Dead Object Detection) acronym is no longer used;
+ use 'GC' to refer to the Garbage Collector component.
+- Compilers
+ + IMCC
+ - :named flag can now take string registers as argument
+ - A single '=cut' directive is now ignored (without initial Pod directive)
+ - :vtable subs now have proper access to 'self' pseudo variable
+- Languages
+ + add new 'Pod' documentation parser
+ + Pipp (PHP implementation):
+ - support for 'print', 'dirname', 'implode', 'str_replace', 'switch'
+ - various grammar fixes
+ + ECMAScript
+ + add 'quit', 'readline' builtins
+ + fix 'Boolean' type and 'print' builtin
+ + Lua
+ - left the nest and is now at http://github.com/fperrad/lua/
+ + Rakudo
+ - left the nest and is now at http://github.com/rakudo/rakudo/
+ - build instructions can be found at http://tinyurl.com/rakudo
+ + lazy-k
+ - left the nest and is now at http://github.com/bschmalhofer/lazy-k.git
+ + unlambda
+ - left the nest and is now at http://github.com/bschmalhofer/unlambda/
+ + WMLScript
+ - left the nest and is now at http://github.com/fperrad/wmlscript.git
+ removed Zcode implementation
+- Tools
+ + pmc2C
+ - ATTRs are now inherited automatically in subclassing PMCs
+- Deprecations
+ + Parrot_readbc, Parrot_loadbc renamed to Parrot_pbc_read, Parrot_pbc_load.
+ + .HLL_map directive in favour of 'hll_map' method on Parrot interpreter
+ + Data::Escape library
+- Tools
+ + pbc_disassemble options added
+ + pbc_dump renamed from pdump
+- Miscellaneous
+ + Parrot is now Copyright Parrot Foundation
+ + Parrot's SVN repository is now hosted at https://svn.parrot.org
+ + Various code cleanups, consting, 64-bit incompatibilities and other bug fixes
+
New in January 2009 release (0.9.0)
- Implementation
Modified: branches/rename_pccinvoke/RESPONSIBLE_PARTIES
==============================================================================
--- branches/rename_pccinvoke/RESPONSIBLE_PARTIES Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/RESPONSIBLE_PARTIES Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2008, The Perl Foundation.
+# Copyright (C) 2002-2009, Parrot Foundation.
# $Id$
This is a list of project roles, with a partial list of the folks who have
@@ -23,6 +23,7 @@
chromatic
Will Coleda
Andrew Whitworth
+ Klaas-Jan Stol
Metacommitter Allison Randal
Jerry Gay
Modified: branches/rename_pccinvoke/compilers/imcc/main.c
==============================================================================
--- branches/rename_pccinvoke/compilers/imcc/main.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/imcc/main.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -4,7 +4,7 @@
* Intermediate Code Compiler for Parrot.
*
* Copyright (C) 2002 Melvin Smith <melvin.smith at mindspring.com>
- * Copyright (C) 2003-2008, The Perl Foundation.
+ * Copyright (C) 2003-2009, Parrot Foundation.
*/
/*
@@ -269,7 +269,7 @@
ASSERT_ARGS(Parrot_version)
printf("This is parrot version " PARROT_VERSION);
printf(" built for " PARROT_ARCHNAME ".\n");
- printf("Copyright (C) 2001-2008, The Perl Foundation.\n\
+ printf("Copyright (C) 2001-2009, Parrot Foundation.\n\
\n\
This code is distributed under the terms of the Artistic License 2.0.\
\n\
@@ -413,6 +413,9 @@
"\n\nhelp: parrot -h\n", opt.opt_arg);
break;
case 'b':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -b option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_FLAG(PARROT_BOUNDS_FLAG);
break;
case 'p':
@@ -425,18 +428,33 @@
SET_TRACE(PARROT_TRACE_OPS_FLAG);
break;
case 'j':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -j option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_CORE(PARROT_JIT_CORE);
break;
case 'S':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -S option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_CORE(PARROT_SWITCH_CORE);
break;
case 'C':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -C option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_CORE(PARROT_CGP_CORE);
break;
case 'f':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -f option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_CORE(PARROT_FAST_CORE);
break;
case 'g':
+ Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG,
+ "The -g option is deprecated, use the -R or "
+ "--runcore options instead.");
SET_CORE(PARROT_CGOTO_CORE);
break;
case 'd':
@@ -972,7 +990,7 @@
opt_desc, opt_level);
pf = PackFile_new(interp, 0);
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
IMCC_push_parser_state(interp);
IMCC_INFO(interp)->state->file = sourcefile;
@@ -1076,11 +1094,11 @@
/* If the input file is Parrot bytecode, then we simply read it
into a packfile, which Parrot then loads */
if (STATE_LOAD_PBC(interp)) {
- PackFile * const pf = Parrot_readbc(interp, sourcefile);
+ PackFile * const pf = Parrot_pbc_read(interp, sourcefile, 0);
if (!pf)
IMCC_fatal_standalone(interp, 1, "main: Packfile loading failed\n");
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
}
else
compile_to_bytecode(interp, sourcefile, output_file);
@@ -1098,10 +1116,10 @@
PackFile *pf;
IMCC_info(interp, 1, "Loading %s\n", output_file);
- pf = Parrot_readbc(interp, output_file);
+ pf = Parrot_pbc_read(interp, output_file, 0);
if (!pf)
IMCC_fatal_standalone(interp, 1, "Packfile loading failed\n");
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
SET_STATE_LOAD_PBC(interp);
}
}
Modified: branches/rename_pccinvoke/compilers/imcc/optimizer.c
==============================================================================
--- branches/rename_pccinvoke/compilers/imcc/optimizer.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/imcc/optimizer.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -910,14 +910,28 @@
const char *debug_fmt = NULL; /* gcc -O uninit warn */
int found, branched;
- /* construct a FLOATVAL_FMT with needed precision */
+ /* construct a FLOATVAL_FMT with needed precision.
+ TT #308 XXX Should use Configure.pl to figure these out,
+ but it's not clear just what is needed.
+ The value of '16' for NUMVAL_SIZE == 8 was one larger than the
+ default FLOATVAL_FMT of '15' determined by Configure.pl. The
+ reason for this difference, if there is one, should be documented.
+ The values of.18Lg and .31Lg are guesses.
+ */
#if NUMVAL_SIZE == 8
fmt = "%0.16g";
#elif NUMVAL_SIZE == 12
fmt = "%0.18Lg";
+#elif NUMVAL_SIZE == 16
+ fmt = "%0.31Lg";
#else
fmt = FLOATVAL_FMT;
- IMCC_warning(interp, "subs_constants", "used default FLOATVAL_FMT\n");
+ /* Since it's not clear why this is needed, it's not clear what to
+ do if it's an unknown case.
+ */
+ IMCC_fatal(interp, 0,
+ "IMCC_subst_constants: unexpected NUMVAL_SIZE = %d\n",
+ NUMVAL_SIZE);
#endif
tmp = NULL;
Modified: branches/rename_pccinvoke/compilers/imcc/parser_util.c
==============================================================================
--- branches/rename_pccinvoke/compilers/imcc/parser_util.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/imcc/parser_util.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -625,7 +625,7 @@
do_yylex_init(interp, &yyscanner);
- /* we create not yet anchored PMCs - e.g. Subs: turn off DOD */
+ /* we create not yet anchored PMCs - e.g. Subs: turn off GC */
Parrot_block_GC_mark(interp);
if (IMCC_INFO(interp)->last_unit) {
@@ -934,7 +934,7 @@
IMCC_INFO(interp)->line = 1;
/*
- * the Parrot_str_compare() called from pmc_type() triggers DOD
+ * the Parrot_str_compare() called from pmc_type() triggers GC
* which can destroy packfiles under construction
*/
Parrot_block_GC_mark(interp);
Modified: branches/rename_pccinvoke/compilers/imcc/pbc.c
==============================================================================
--- branches/rename_pccinvoke/compilers/imcc/pbc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/imcc/pbc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1465,7 +1465,6 @@
else
sub->ns_entry_name = sub->name;
-
Parrot_store_sub_in_namespace(interp, sub_pmc);
pfc->type = PFC_PMC;
Modified: branches/rename_pccinvoke/compilers/pirc/README.pod
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/README.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/README.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, The Perl Foundation.
+# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
=head1 NAME
Modified: branches/rename_pccinvoke/compilers/pirc/heredoc/heredocmain.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/heredoc/heredocmain.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/heredoc/heredocmain.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdio.h>
Modified: branches/rename_pccinvoke/compilers/pirc/macro/lexer.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/lexer.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/lexer.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_LEXER_H_GUARD
#define PARROT_PIR_LEXER_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/macro/macro.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/macro.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/macro.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_MACRO_H_GUARD
#define PARROT_PIR_MACRO_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/macro/macro.l
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/macro.l Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/macro.l Fri Feb 13 23:29:44 2009 (r36699)
@@ -23,7 +23,7 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/compilers/pirc/macro/macro.y
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/macro.y Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/macro.y Fri Feb 13 23:29:44 2009 (r36699)
@@ -2,7 +2,7 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/macro/macrolexer.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/macrolexer.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/macrolexer.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -991,7 +991,7 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/compilers/pirc/macro/macroparser.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/macro/macroparser.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/macro/macroparser.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -135,7 +135,7 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/bcgen.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/bcgen.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/bcgen.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdio.h>
#include <assert.h>
@@ -380,7 +380,7 @@
/* Create a new packfile and load it into the parrot interpreter */
bc->packfile = PackFile_new(interp, 0);
- Parrot_loadbc(interp, bc->packfile);
+ Parrot_pbc_load(interp, bc->packfile);
/* store a pointer to the parrot interpreter, which saves passing around
* the interp as an extra argument.
Modified: branches/rename_pccinvoke/compilers/pirc/src/bcgen.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/bcgen.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/bcgen.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#ifndef PARROT_BCGEN_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/hdocprep.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/hdocprep.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/hdocprep.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -31,10 +31,18 @@
/* A lexical scanner generated by flex */
+/* %not-for-header */
+
+/* %if-c-only */
+/* %if-not-reentrant */
+/* %endif */
+/* %endif */
+/* %ok-for-header */
+
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 33
+#define YY_FLEX_SUBMINOR_VERSION 35
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -72,7 +80,7 @@
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-#if __STDC_VERSION__ >= 199901L
+#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.
@@ -140,11 +148,12 @@
#else /* ! __cplusplus */
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
#define YY_USE_CONST
-#endif /* __STDC__ */
+#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
#ifdef YY_USE_CONST
@@ -188,7 +197,6 @@
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
#define yy_flex_debug yyg->yy_flex_debug_r
-int yylex_init (yyscan_t* scanner);
/* %endif */
/* %if-not-reentrant */
@@ -272,14 +280,9 @@
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
-typedef unsigned int yy_size_t;
+typedef size_t yy_size_t;
#endif
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -663,7 +666,7 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -889,7 +892,7 @@
-#line 893 "hdocprep.c"
+#line 896 "hdocprep.c"
#define INITIAL 0
#define POD 1
@@ -960,8 +963,14 @@
/* %if-reentrant */
+int yylex_init (yyscan_t* scanner);
+
+int yylex_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. */
@@ -993,7 +1002,6 @@
/* %if-bison-bridge */
/* %endif */
-/* %endif End reentrant structures and macros. */
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -1054,7 +1062,7 @@
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
@@ -1069,7 +1077,7 @@
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -1183,7 +1191,7 @@
#line 283 "hdocprep.l"
-#line 1187 "hdocprep.c"
+#line 1195 "hdocprep.c"
if ( !yyg->yy_init )
{
@@ -1636,7 +1644,7 @@
#line 536 "hdocprep.l"
ECHO;
YY_BREAK
-#line 1640 "hdocprep.c"
+#line 1648 "hdocprep.c"
case YY_STATE_EOF(INCLUDE):
case YY_STATE_EOF(SAVE_REST_OF_LINE):
case YY_STATE_EOF(SAVE_REST_AGAIN):
@@ -1884,7 +1892,7 @@
/* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
- yyg->yy_n_chars, num_to_read );
+ yyg->yy_n_chars, (size_t) num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
}
@@ -1908,6 +1916,14 @@
else
ret_val = EOB_ACT_CONTINUE_SCAN;
+ if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ /* Extend the array by 50%, plus the number we really need. */
+ yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ }
+
yyg->yy_n_chars += number_to_move;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
@@ -2384,6 +2400,8 @@
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
+ if ( ! yyg->yy_buffer_stack )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
@@ -2402,6 +2420,8 @@
(yyg->yy_buffer_stack,
num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
+ if ( ! yyg->yy_buffer_stack )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
/* zero only the new slots.*/
memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -2450,7 +2470,7 @@
/* %if-c-only */
/** Setup the input buffer state to scan a string. The next call to yylex() will
* scan from a @e copy of @a str.
- * @param str a NUL-terminated string to scan
+ * @param yystr a NUL-terminated string to scan
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
@@ -2523,8 +2543,7 @@
yyg->yy_start_stack = (int *) yyrealloc((void *) yyg->yy_start_stack,new_size ,yyscanner );
if ( ! yyg->yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
+ YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
}
yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START;
@@ -2765,7 +2784,43 @@
return yy_init_globals ( *ptr_yy_globals );
}
-/* %endif */
+/* yylex_init_extra has the same functionality as yylex_init, but follows the
+ * convention of taking the scanner as the last argument. Note however, that
+ * this is a *pointer* to a scanner, as it will be allocated by this call (and
+ * is the reason, too, why this function also must handle its own declaration).
+ * The user defined value in the first argument will be available to yyalloc in
+ * the yyextra field.
+ */
+
+int yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
+
+{
+ struct yyguts_t dummy_yyguts;
+
+ yyset_extra (yy_user_defined, &dummy_yyguts);
+
+ if (ptr_yy_globals == NULL){
+ errno = EINVAL;
+ return 1;
+ }
+
+ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
+
+ if (*ptr_yy_globals == NULL){
+ errno = ENOMEM;
+ return 1;
+ }
+
+ /* By setting to 0xAA, we expose bugs in
+ yy_init_globals. Leave at 0x00 for releases. */
+ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
+
+ yyset_extra (yy_user_defined, *ptr_yy_globals);
+
+ return yy_init_globals ( *ptr_yy_globals );
+}
+
+/* %endif if-c-only */
/* %if-c-only */
static int yy_init_globals (yyscan_t yyscanner)
Modified: branches/rename_pccinvoke/compilers/pirc/src/hdocprep.l
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/hdocprep.l Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/hdocprep.l Fri Feb 13 23:29:44 2009 (r36699)
@@ -28,7 +28,7 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/compilers/pirc/src/main.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/main.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/main.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/pir.l
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pir.l Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pir.l Fri Feb 13 23:29:44 2009 (r36699)
@@ -40,7 +40,7 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -341,7 +341,6 @@
".get_results" { return TK_GET_RESULTS; }
".globalconst" { return TK_GLOBALCONST; }
".HLL" { return TK_HLL; }
-".HLL_map" { return TK_HLL_MAP; }
".invocant" { return TK_INVOCANT; }
".lex" { return TK_LEX; }
".line" { return TK_LINE; }
Modified: branches/rename_pccinvoke/compilers/pirc/src/pir.y
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pir.y Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pir.y Fri Feb 13 23:29:44 2009 (r36699)
@@ -2,7 +2,7 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -254,7 +254,6 @@
%token TK_HLL ".HLL"
- TK_HLL_MAP ".HLL_map"
TK_LOADLIB ".loadlib"
%token TK_SUB ".sub"
@@ -588,7 +587,6 @@
| const_decl_chunk
| namespace_decl
| hll_specifier
- | hll_mapping
| loadlib
| location_directive
| macro_definition
@@ -678,10 +676,6 @@
{ set_hll(lexer, $2); }
;
-hll_mapping : ".HLL_map" TK_STRINGC '=' TK_STRINGC
- { set_hll_map(lexer, $2, $4); }
- ;
-
namespace_decl : ".namespace" '[' opt_namespace ']'
{ set_namespace(lexer, $3); }
;
@@ -3382,30 +3376,8 @@
}
else { /* it may be a constant, otherwise it's a label */
-/* XXX */
-#if 0
-/* experimental code to integrate constants. Doesn't work properly, this is only
- * 1 spot in which symbol lookups are done; needs to be done everywhere.
- * XXX possibly integrate constdecl and symbol, or represent constdecl's as symbols.
- */
- constdecl *c = find_global_constant(lexer, operand->expr.id);
-
- if (c) { /* it's a constant */
-
- /* convert the operand to a constant, copy the const value into this. */
- operand->type = EXPR_CONSTANT;
- /* allocate a new const; doesn't matter which type/value, overwritten later */
- operand->expr.c = new_const(lexer, INT_VAL, 0); /* dummy value */
- operand->expr.c->val = c->val; /* copy value union */
- operand->expr.c->type = c->type; /* copy value type */
- }
- else
-#endif
-/* XXX */
- {
- /* it must be a label */
- SET_BIT(label_bitmask, BIT(i));
- }
+ /* it must be a label */
+ SET_BIT(label_bitmask, BIT(i));
}
}
}
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircapi.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircapi.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircapi.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2009, The Perl Foundation.
+ * Copyright (C) 2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircapi.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircapi.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircapi.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2009, The Perl Foundation.
+ * Copyright (C) 2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRCAPI_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircompiler.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircompiler.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircompiler.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
#include <stdlib.h>
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircompiler.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircompiler.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircompiler.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRCOMPILER_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircompunit.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircompunit.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircompunit.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -2000,43 +2000,6 @@
}
-/*
-
-=item C<void
-set_hll_map(lexer_state * const lexer, char * const stdtype, char * const maptype)>
-
-Set a HLL PMC data type mapping; whenever Parrot needs to create a PMC object of
-a type that is mapped to a user type, user type will be instantiated. For instance,
-after the mapping:
-
- .HLL_map "Integer" = "Perl6Int"
-
-whenever Parrot needs to create a Integer PMC, a Perl6Int is created instead.
-
-Code taken from imcc.y; needs testing.
-
-=cut
-
-*/
-void
-set_hll_map(lexer_state * const lexer, char const * const stdtype, char const * const maptype) {
- Parrot_Context *ctx = CONTEXT(lexer->interp);
- STRING * const built_in_name = Parrot_str_new(lexer->interp, stdtype, strlen(stdtype));
- STRING * const language_name = Parrot_str_new(lexer->interp, maptype, strlen(maptype));
- int built_in_type = pmc_type(lexer->interp, built_in_name);
- int language_type = pmc_type(lexer->interp, language_name);
-
- /* check if both the built-in and language types exist. */
-
- if (built_in_type <= 0)
- yypirerror(lexer->yyscanner, lexer, "type '%s' is not a built-in type", stdtype);
-
- if (language_type <= 0)
- yypirerror(lexer->yyscanner, lexer, "user type '%s' cannot be found", maptype);
-
- Parrot_register_HLL_type(lexer->interp, ctx->current_HLL, built_in_type, language_type);
-}
-
/*
Modified: branches/rename_pccinvoke/compilers/pirc/src/pircompunit.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pircompunit.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pircompunit.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -455,8 +455,6 @@
void load_library(struct lexer_state * const lexer, char const * const library);
void set_hll(struct lexer_state * const lexer, char const * const hll);
-void set_hll_map(struct lexer_state * const lexer, char const * const stdtype,
- char const * const hlltype);
void set_sub_flag(struct lexer_state * const lexer, sub_flag flag);
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirdefines.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirdefines.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirdefines.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRDEFINES_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/piremit.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/piremit.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/piremit.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdio.h>
Modified: branches/rename_pccinvoke/compilers/pirc/src/piremit.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/piremit.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/piremit.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIREMIT_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirerr.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirerr.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirerr.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdio.h>
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirerr.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirerr.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirerr.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRERR_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirheredoc.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirheredoc.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirheredoc.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirlexer.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirlexer.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirlexer.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -485,8 +485,8 @@
yyg->yy_c_buf_p = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 210
-#define YY_END_OF_BUFFER 211
+#define YY_NUM_RULES 209
+#define YY_END_OF_BUFFER 210
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -494,99 +494,99 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[829] =
+static yyconst flex_int16_t yy_accept[825] =
{ 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, 211, 130, 2, 4, 2, 25,
- 130, 130, 130, 22, 130, 130, 28, 29, 23, 21,
- 30, 27, 130, 24, 123, 123, 130, 35, 15, 34,
- 16, 121, 121, 31, 32, 121, 121, 121, 121, 121,
- 121, 130, 26, 210, 137, 142, 137, 139, 140, 141,
- 138, 176, 174, 176, 176, 168, 166, 167, 166, 168,
- 162, 162, 162, 162, 162, 171, 210, 210, 210, 155,
- 147, 154, 147, 155, 155, 155, 149, 150, 155, 148,
-
- 155, 151, 151, 145, 152, 153, 135, 134, 135, 135,
- 135, 135, 135, 133, 133, 132, 130, 130, 121, 121,
- 121, 121, 121, 121, 121, 121, 210, 210, 210, 210,
- 151, 151, 1, 209, 207, 208, 207, 209, 209, 209,
- 209, 177, 209, 202, 202, 209, 200, 200, 200, 200,
- 200, 178, 179, 0, 4, 4, 12, 0, 111, 0,
+ 0, 0, 0, 0, 210, 129, 2, 4, 2, 25,
+ 129, 129, 129, 22, 129, 129, 28, 29, 23, 21,
+ 30, 27, 129, 24, 122, 122, 129, 35, 15, 34,
+ 16, 120, 120, 31, 32, 120, 120, 120, 120, 120,
+ 120, 129, 26, 209, 136, 141, 136, 138, 139, 140,
+ 137, 175, 173, 175, 175, 167, 165, 166, 165, 167,
+ 161, 161, 161, 161, 161, 170, 209, 209, 209, 154,
+ 146, 153, 146, 154, 154, 154, 148, 149, 154, 147,
+
+ 154, 150, 150, 144, 151, 152, 134, 133, 134, 134,
+ 134, 134, 134, 132, 132, 131, 129, 129, 120, 120,
+ 120, 120, 120, 120, 120, 120, 209, 209, 209, 209,
+ 150, 150, 1, 208, 206, 207, 206, 208, 208, 208,
+ 208, 176, 208, 201, 201, 208, 199, 199, 199, 199,
+ 199, 177, 178, 0, 4, 4, 12, 0, 110, 0,
0, 3, 0, 0, 0, 0, 0, 40, 18, 43,
- 0, 112, 0, 39, 0, 123, 36, 37, 127, 122,
- 46, 127, 127, 143, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 17,
-
- 38, 122, 0, 0, 0, 0, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 9, 13,
- 11, 10, 14, 8, 0, 121, 119, 120, 121, 47,
- 121, 121, 121, 121, 121, 42, 19, 45, 20, 142,
- 142, 138, 174, 174, 0, 0, 0, 167, 167, 163,
- 162, 162, 162, 162, 162, 171, 171, 0, 0, 170,
- 154, 154, 0, 151, 0, 0, 0, 0, 151, 151,
- 144, 151, 0, 0, 0, 0, 145, 0, 133, 0,
- 0, 0, 0, 133, 133, 133, 0, 0, 0, 0,
- 132, 0, 0, 0, 0, 0, 127, 121, 129, 120,
-
- 121, 47, 121, 121, 121, 121, 121, 208, 208, 0,
- 206, 0, 0, 0, 0, 202, 201, 193, 193, 193,
- 193, 193, 193, 201, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 200, 194, 198, 197, 196, 199, 128,
- 33, 3, 118, 117, 115, 116, 41, 0, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 44, 122, 125, 0, 122, 126, 124, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 7, 6,
-
- 0, 0, 0, 121, 51, 121, 52, 53, 121, 121,
- 0, 0, 0, 163, 158, 160, 159, 162, 146, 0,
- 144, 151, 151, 0, 151, 151, 151, 133, 0, 133,
- 133, 0, 133, 133, 133, 0, 165, 118, 117, 115,
- 116, 164, 172, 121, 51, 121, 52, 53, 121, 121,
- 195, 0, 193, 193, 193, 193, 193, 193, 193, 201,
- 204, 0, 201, 205, 203, 0, 0, 0, 0, 0,
- 0, 0, 122, 62, 143, 143, 143, 143, 58, 143,
- 143, 143, 143, 65, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 82, 143, 143, 110, 110, 110,
-
- 110, 110, 110, 95, 110, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 5, 0,
- 113, 0, 0, 0, 48, 50, 121, 121, 0, 0,
- 0, 162, 0, 151, 0, 133, 173, 164, 48, 50,
- 121, 121, 0, 201, 193, 187, 193, 193, 193, 193,
- 0, 0, 0, 0, 0, 0, 143, 143, 143, 76,
- 143, 143, 87, 59, 143, 143, 143, 66, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 143, 88,
- 107, 110, 89, 110, 110, 90, 110, 93, 110, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
-
- 0, 121, 121, 175, 0, 0, 162, 121, 121, 192,
- 191, 193, 193, 193, 183, 0, 182, 181, 180, 0,
- 143, 143, 143, 57, 143, 143, 143, 143, 143, 143,
- 143, 68, 136, 143, 143, 143, 72, 143, 143, 143,
- 143, 143, 83, 110, 110, 110, 110, 110, 98, 106,
- 110, 110, 110, 96, 110, 110, 99, 110, 110, 0,
- 114, 0, 54, 49, 156, 0, 161, 54, 49, 189,
- 193, 193, 0, 0, 143, 143, 143, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 81, 143,
- 143, 143, 143, 110, 110, 110, 110, 94, 110, 110,
-
- 110, 110, 105, 110, 97, 0, 193, 193, 193, 0,
- 0, 63, 143, 143, 143, 143, 143, 143, 143, 143,
- 143, 143, 67, 143, 143, 143, 143, 143, 56, 143,
- 143, 143, 110, 110, 110, 110, 101, 110, 110, 110,
- 110, 0, 193, 193, 186, 0, 0, 55, 143, 143,
- 143, 77, 143, 143, 143, 143, 64, 143, 143, 143,
- 143, 143, 71, 143, 143, 86, 110, 110, 108, 110,
- 104, 103, 91, 110, 0, 0, 193, 193, 0, 184,
- 143, 143, 143, 143, 79, 143, 143, 143, 143, 143,
- 69, 70, 143, 85, 92, 110, 109, 110, 0, 0,
-
- 193, 188, 185, 73, 143, 143, 78, 80, 143, 143,
- 143, 143, 84, 100, 102, 0, 0, 193, 143, 75,
- 60, 61, 131, 169, 157, 190, 74, 0
+ 0, 111, 0, 39, 0, 122, 36, 37, 126, 121,
+ 46, 126, 126, 142, 126, 126, 126, 126, 126, 126,
+ 126, 126, 126, 126, 126, 126, 126, 126, 126, 17,
+
+ 38, 121, 0, 0, 0, 0, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 9, 13,
+ 11, 10, 14, 8, 0, 120, 118, 119, 120, 47,
+ 120, 120, 120, 120, 120, 42, 19, 45, 20, 141,
+ 141, 137, 173, 173, 0, 0, 0, 166, 166, 162,
+ 161, 161, 161, 161, 161, 170, 170, 0, 0, 169,
+ 153, 153, 0, 150, 0, 0, 0, 0, 150, 150,
+ 143, 150, 0, 0, 0, 0, 144, 0, 132, 0,
+ 0, 0, 0, 132, 132, 132, 0, 0, 0, 0,
+ 131, 0, 0, 0, 0, 0, 126, 120, 128, 119,
+
+ 120, 47, 120, 120, 120, 120, 120, 207, 207, 0,
+ 205, 0, 0, 0, 0, 201, 200, 192, 192, 192,
+ 192, 192, 192, 200, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 199, 193, 197, 196, 195, 198, 127,
+ 33, 3, 117, 116, 114, 115, 41, 0, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+ 142, 142, 44, 121, 124, 0, 121, 125, 123, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 7, 6,
+
+ 0, 0, 0, 120, 51, 120, 52, 53, 120, 120,
+ 0, 0, 0, 162, 157, 159, 158, 161, 145, 0,
+ 143, 150, 150, 0, 150, 150, 150, 132, 0, 132,
+ 132, 0, 132, 132, 132, 0, 164, 117, 116, 114,
+ 115, 163, 171, 120, 51, 120, 52, 53, 120, 120,
+ 194, 0, 192, 192, 192, 192, 192, 192, 192, 200,
+ 203, 0, 200, 204, 202, 0, 0, 0, 0, 0,
+ 0, 0, 121, 62, 142, 142, 142, 142, 58, 142,
+ 142, 142, 142, 64, 142, 142, 142, 142, 142, 142,
+ 142, 142, 142, 142, 81, 142, 142, 109, 109, 109,
+
+ 109, 109, 109, 94, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 5, 0,
+ 112, 0, 0, 0, 48, 50, 120, 120, 0, 0,
+ 0, 161, 0, 150, 0, 132, 172, 163, 48, 50,
+ 120, 120, 0, 200, 192, 186, 192, 192, 192, 192,
+ 0, 0, 0, 0, 0, 0, 142, 142, 75, 142,
+ 142, 86, 59, 142, 142, 142, 65, 142, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 87, 106,
+ 109, 88, 109, 109, 89, 109, 92, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 0,
+
+ 120, 120, 174, 0, 0, 161, 120, 120, 191, 190,
+ 192, 192, 192, 182, 0, 181, 180, 179, 0, 142,
+ 142, 57, 142, 142, 142, 142, 142, 142, 142, 67,
+ 135, 142, 142, 142, 71, 142, 142, 142, 142, 142,
+ 82, 109, 109, 109, 109, 109, 97, 105, 109, 109,
+ 109, 95, 109, 109, 98, 109, 109, 0, 113, 0,
+ 54, 49, 155, 0, 160, 54, 49, 188, 192, 192,
+ 0, 0, 142, 142, 142, 142, 142, 142, 142, 142,
+ 142, 142, 142, 142, 142, 80, 142, 142, 142, 142,
+ 109, 109, 109, 109, 93, 109, 109, 109, 109, 104,
+
+ 109, 96, 0, 192, 192, 192, 0, 0, 142, 142,
+ 142, 142, 142, 142, 142, 142, 142, 142, 66, 142,
+ 142, 142, 142, 142, 56, 142, 142, 142, 109, 109,
+ 109, 109, 100, 109, 109, 109, 109, 0, 192, 192,
+ 185, 0, 0, 55, 142, 142, 142, 76, 142, 142,
+ 142, 142, 63, 142, 142, 142, 142, 142, 70, 142,
+ 142, 85, 109, 109, 107, 109, 103, 102, 90, 109,
+ 0, 0, 192, 192, 0, 183, 142, 142, 142, 142,
+ 78, 142, 142, 142, 142, 142, 68, 69, 142, 84,
+ 91, 109, 108, 109, 0, 0, 192, 187, 184, 72,
+
+ 142, 142, 77, 79, 142, 142, 142, 142, 83, 99,
+ 101, 0, 0, 192, 142, 74, 60, 61, 130, 168,
+ 156, 189, 73, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -633,209 +633,209 @@
11, 1, 11, 1
} ;
-static yyconst flex_int16_t yy_base[889] =
+static yyconst flex_int16_t yy_base[885] =
{ 0,
0, 0, 74, 0, 146, 147, 166, 0, 240, 0,
314, 0, 388, 0, 0, 0, 462, 0, 530, 543,
- 0, 0, 567, 0, 2396, 2397, 2376, 151, 537, 2366,
- 635, 152, 122, 2365, 530, 2380, 2397, 2397, 529, 624,
- 2397, 632, 674, 519, 726, 640, 723, 2397, 622, 629,
- 637, 520, 653, 2397, 2397, 728, 739, 736, 737, 654,
- 738, 616, 723, 2397, 2397, 665, 2388, 2397, 2397, 2397,
- 0, 2397, 682, 2387, 641, 2397, 2397, 765, 2386, 0,
- 0, 2328, 2320, 2327, 2319, 799, 2381, 0, 2358, 2397,
- 2397, 803, 2379, 765, 771, 2369, 2397, 2397, 794, 2397,
-
- 798, 804, 811, 0, 2397, 2397, 2397, 2397, 779, 810,
- 2368, 836, 817, 855, 847, 0, 845, 2370, 664, 887,
- 866, 872, 888, 901, 903, 904, 786, 2366, 916, 920,
- 0, 926, 2397, 2397, 2397, 859, 2374, 807, 916, 2364,
- 944, 2397, 949, 993, 958, 927, 2350, 971, 976, 997,
- 1006, 2397, 2397, 699, 890, 898, 2397, 822, 2397, 0,
- 156, 1001, 948, 1016, 1025, 1029, 1034, 2397, 2397, 2397,
- 2362, 2397, 2345, 2397, 1042, 1048, 2397, 2397, 2397, 1052,
- 2397, 0, 2335, 0, 2311, 2318, 712, 2309, 2312, 722,
- 2307, 793, 910, 926, 2318, 2313, 863, 2316, 2307, 2334,
-
- 2397, 1056, 669, 1070, 1012, 0, 0, 2301, 2302, 659,
- 862, 1035, 495, 1028, 2298, 946, 2298, 2291, 2397, 2397,
- 2397, 2397, 2397, 959, 2331, 857, 2348, 1088, 1078, 1043,
- 1080, 1089, 1099, 1097, 1098, 2397, 2397, 2397, 2397, 1116,
- 1123, 0, 1127, 1131, 2294, 2292, 2304, 1135, 1140, 0,
- 0, 2285, 2291, 2299, 2284, 1148, 1152, 2322, 2321, 2397,
- 1157, 1161, 939, 2397, 0, 1146, 2333, 1150, 1156, 1160,
- 0, 1164, 1002, 1178, 1169, 0, 0, 1037, 2397, 0,
- 1182, 2332, 1196, 1202, 1206, 1210, 1038, 1224, 1188, 0,
- 0, 2313, 1229, 1242, 1246, 1256, 0, 1219, 2317, 1266,
+ 0, 0, 567, 0, 2392, 2393, 2372, 151, 537, 2362,
+ 635, 152, 122, 2361, 530, 2376, 2393, 2393, 529, 624,
+ 2393, 632, 674, 519, 726, 640, 723, 2393, 622, 629,
+ 637, 520, 653, 2393, 2393, 728, 739, 736, 737, 654,
+ 738, 616, 723, 2393, 2393, 665, 2384, 2393, 2393, 2393,
+ 0, 2393, 682, 2383, 641, 2393, 2393, 765, 2382, 0,
+ 0, 2324, 2316, 2323, 2315, 799, 2377, 0, 2354, 2393,
+ 2393, 803, 2375, 765, 771, 2365, 2393, 2393, 794, 2393,
+
+ 798, 804, 811, 0, 2393, 2393, 2393, 2393, 779, 810,
+ 2364, 836, 817, 855, 847, 0, 845, 2366, 664, 887,
+ 866, 872, 888, 901, 903, 904, 786, 2362, 916, 920,
+ 0, 926, 2393, 2393, 2393, 859, 2370, 807, 916, 2360,
+ 944, 2393, 949, 993, 958, 927, 2346, 971, 976, 997,
+ 1006, 2393, 2393, 699, 890, 898, 2393, 822, 2393, 0,
+ 156, 1001, 948, 1016, 1025, 1029, 1034, 2393, 2393, 2393,
+ 2358, 2393, 2341, 2393, 1042, 1048, 2393, 2393, 2393, 1052,
+ 2393, 0, 2331, 0, 2307, 2314, 712, 2305, 2308, 722,
+ 2303, 793, 910, 926, 2314, 2309, 863, 2312, 2303, 2330,
+
+ 2393, 1056, 669, 1070, 1012, 0, 0, 2297, 2298, 659,
+ 862, 1035, 495, 1028, 2294, 946, 2294, 2287, 2393, 2393,
+ 2393, 2393, 2393, 959, 2327, 857, 2344, 1088, 1078, 1043,
+ 1080, 1089, 1099, 1097, 1098, 2393, 2393, 2393, 2393, 1116,
+ 1123, 0, 1127, 1131, 2290, 2288, 2300, 1135, 1140, 0,
+ 0, 2281, 2287, 2295, 2280, 1148, 1152, 2318, 2317, 2393,
+ 1157, 1161, 939, 2393, 0, 1146, 2329, 1150, 1156, 1160,
+ 0, 1164, 1002, 1178, 1169, 0, 0, 1037, 2393, 0,
+ 1182, 2328, 1196, 1202, 1206, 1210, 1038, 1224, 1188, 0,
+ 0, 2309, 1229, 1242, 1246, 1256, 0, 1219, 2313, 1266,
1267, 1275, 1276, 1277, 1290, 1286, 1294, 1320, 1324, 1090,
- 2397, 0, 1322, 2329, 1332, 1338, 1342, 0, 2284, 1075,
- 2291, 2290, 2287, 1346, 1192, 1360, 1234, 0, 2276, 1201,
- 2274, 2286, 2272, 2307, 2397, 1364, 1378, 1383, 1388, 2397,
- 2397, 1269, 1393, 1397, 1401, 1405, 2397, 1414, 0, 2294,
- 2270, 2275, 2270, 2267, 2275, 2267, 2258, 2262, 2254, 2252,
- 2260, 993, 2269, 2252, 2258, 2260, 2251, 2248, 2247, 2263,
- 2255, 2258, 2397, 1418, 1260, 1422, 1426, 1309, 0, 0,
- 2248, 2260, 2248, 1253, 2237, 1091, 2249, 2238, 2245, 2243,
- 2249, 2234, 2233, 2233, 2230, 2247, 2239, 2246, 2397, 2265,
+ 2393, 0, 1322, 2325, 1332, 1338, 1342, 0, 2280, 1075,
+ 2287, 2286, 2283, 1346, 1192, 1360, 1234, 0, 2272, 1201,
+ 2270, 2282, 2268, 2303, 2393, 1364, 1378, 1383, 1388, 2393,
+ 2393, 1269, 1393, 1397, 1401, 1405, 2393, 1414, 0, 2290,
+ 2266, 2271, 2266, 2263, 2271, 2263, 2254, 2258, 2250, 2248,
+ 2256, 993, 2265, 2248, 2254, 2256, 2247, 2244, 2243, 2259,
+ 2251, 2254, 2393, 1418, 1260, 1422, 1426, 1309, 0, 0,
+ 2244, 2256, 2244, 1253, 2233, 1091, 2245, 2234, 2241, 2239,
+ 2245, 2230, 2229, 2229, 2226, 2243, 2235, 2242, 2393, 2261,
- 2285, 1113, 2266, 1316, 1197, 1333, 1285, 1355, 1434, 1435,
- 2239, 2239, 2238, 0, 0, 0, 0, 2231, 1433, 1445,
+ 2281, 1113, 2262, 1316, 1197, 1333, 1285, 1355, 1434, 1435,
+ 2235, 2235, 2234, 0, 0, 0, 0, 2227, 1433, 1445,
0, 1450, 1277, 1454, 1458, 1316, 0, 1470, 1482, 1486,
- 1292, 1490, 1494, 1326, 0, 2256, 2260, 1499, 1503, 1513,
- 1518, 0, 2397, 1471, 1526, 1527, 1528, 1529, 1537, 1543,
- 1542, 1553, 0, 2226, 2214, 2222, 2231, 2221, 2229, 1557,
- 1371, 1565, 1575, 1374, 0, 2217, 2218, 2220, 2227, 2218,
- 2208, 1579, 1583, 2225, 2210, 2214, 2211, 2203, 1148, 2215,
- 2219, 2216, 2203, 0, 2211, 2211, 2213, 2196, 2204, 2206,
- 2210, 2208, 2188, 2207, 0, 2195, 2194, 2191, 2184, 2197,
-
- 2182, 2181, 2185, 0, 2194, 2187, 2183, 2187, 2175, 2188,
- 2179, 1439, 2186, 2171, 2172, 2179, 2171, 2184, 2397, 1191,
- 2397, 0, 2207, 2224, 1440, 1566, 1590, 1592, 2171, 2181,
- 2164, 2167, 1590, 1597, 1601, 1605, 2397, 0, 1612, 1613,
- 1614, 1615, 1625, 1630, 2174, 0, 2173, 2160, 2171, 2175,
- 2161, 2168, 2153, 2167, 2157, 2150, 2156, 2148, 2153, 0,
- 2146, 1591, 0, 0, 2147, 2162, 2159, 0, 2150, 2149,
- 2145, 2158, 2139, 2153, 2143, 2137, 1608, 2150, 2148, 0,
- 0, 2147, 0, 2149, 2146, 0, 2147, 0, 2133, 2137,
- 2141, 2125, 2137, 2128, 2124, 2137, 2124, 2134, 2117, 2125,
-
- 1628, 1640, 1641, 2397, 2124, 2120, 2126, 1645, 1646, 0,
- 0, 2118, 2113, 2112, 2397, 2125, 2397, 2397, 2397, 2125,
- 2126, 2125, 2125, 0, 2123, 2118, 2113, 2116, 2109, 2118,
- 2100, 0, 2104, 2100, 2083, 2090, 0, 2065, 2056, 2064,
- 2059, 2062, 0, 2053, 2038, 2039, 2016, 2015, 0, 0,
- 2001, 2004, 2001, 0, 1989, 1969, 0, 1982, 1981, 1653,
- 2397, 0, 1644, 1659, 2397, 1983, 0, 1661, 1663, 1982,
- 1962, 1956, 1962, 1951, 1949, 1940, 1632, 1947, 1934, 1947,
- 1929, 1943, 1932, 1942, 1225, 1938, 1931, 1914, 0, 1917,
- 1902, 1915, 1904, 1913, 1900, 1868, 1862, 0, 1838, 1859,
-
- 1848, 1826, 0, 1823, 0, 1811, 1808, 1799, 1793, 1793,
- 1777, 0, 1783, 1776, 1761, 1752, 1741, 1731, 1732, 1722,
- 1723, 1702, 0, 1685, 1436, 1652, 1659, 1650, 0, 1640,
- 1647, 1646, 1637, 1649, 1634, 1649, 0, 1641, 1634, 1628,
- 1625, 1522, 1626, 1635, 0, 1617, 1606, 0, 1609, 1570,
- 1582, 0, 1552, 1543, 1534, 1522, 0, 1512, 1511, 1500,
- 1491, 1479, 0, 1466, 1477, 0, 1447, 1427, 0, 1434,
- 0, 0, 0, 1412, 1413, 1384, 1373, 1379, 1322, 2397,
- 1314, 1261, 1259, 1181, 0, 1172, 1111, 1100, 1089, 1053,
- 0, 0, 1039, 0, 0, 1031, 0, 936, 909, 888,
-
- 855, 0, 2397, 0, 825, 821, 0, 777, 734, 728,
- 719, 708, 0, 0, 0, 694, 611, 497, 104, 0,
- 0, 0, 0, 2397, 2397, 0, 0, 2397, 1711, 1722,
- 1733, 1744, 1755, 1766, 1770, 1777, 1783, 1786, 1792, 1795,
- 1801, 1811, 1822, 1829, 1835, 1845, 1856, 1863, 1866, 1873,
- 1883, 1894, 1901, 1907, 1917, 1926, 1937, 1948, 1955, 1961,
- 1965, 1972, 1979, 1987, 1993, 1999, 2005, 2011, 2017, 2023,
- 2027, 2037, 2048, 2055, 2059, 2065, 2068, 2075, 2085, 2096,
- 2103, 2109, 2113, 2123, 2131, 2138, 2144, 2154
+ 1292, 1490, 1494, 1326, 0, 2252, 2256, 1499, 1503, 1513,
+ 1518, 0, 2393, 1471, 1526, 1527, 1528, 1529, 1537, 1543,
+ 1542, 1553, 0, 2222, 2210, 2218, 2227, 2217, 2225, 1557,
+ 1371, 1565, 1575, 1374, 0, 2213, 2214, 2216, 2223, 2214,
+ 2204, 1579, 1583, 0, 2207, 2211, 2208, 2200, 1148, 2212,
+ 2216, 2213, 2200, 0, 2208, 2208, 2210, 2193, 2201, 2203,
+ 2207, 2205, 2185, 2204, 0, 2192, 2191, 2188, 2181, 2194,
+
+ 2179, 2178, 2182, 0, 2191, 2184, 2180, 2184, 2172, 2185,
+ 2176, 1439, 2183, 2168, 2169, 2176, 2168, 2181, 2393, 1191,
+ 2393, 0, 2204, 2221, 1440, 1566, 1590, 1592, 2168, 2178,
+ 2161, 2164, 1590, 1597, 1601, 1605, 2393, 0, 1612, 1613,
+ 1614, 1615, 1625, 1630, 2171, 0, 2170, 2157, 2168, 2172,
+ 2158, 2165, 2150, 2164, 2154, 2147, 2146, 2151, 0, 2144,
+ 1591, 0, 0, 2145, 2160, 2157, 0, 2148, 2147, 2143,
+ 2156, 2137, 2151, 2141, 2135, 1608, 2148, 2146, 0, 0,
+ 2145, 0, 2147, 2144, 0, 2145, 0, 2131, 2135, 2139,
+ 2123, 2135, 2126, 2122, 2135, 2122, 2132, 2115, 2123, 1628,
+
+ 1640, 1641, 2393, 2122, 2118, 2124, 1645, 1646, 0, 0,
+ 2116, 2111, 2110, 2393, 2123, 2393, 2393, 2393, 2123, 2124,
+ 2124, 0, 2122, 2117, 2112, 2115, 2108, 2108, 2095, 0,
+ 2103, 2095, 2076, 2077, 0, 2060, 2052, 2063, 2054, 2061,
+ 0, 2042, 2027, 2023, 2011, 2014, 0, 0, 1998, 2003,
+ 1990, 0, 1978, 1964, 0, 1981, 1978, 1653, 2393, 0,
+ 1644, 1659, 2393, 1982, 0, 1661, 1663, 1977, 1961, 1951,
+ 1956, 1950, 1940, 1632, 1947, 1934, 1947, 1929, 1943, 1932,
+ 1942, 1225, 1938, 1931, 1914, 0, 1917, 1902, 1915, 1904,
+ 1913, 1900, 1868, 1862, 0, 1838, 1859, 1848, 1826, 0,
+
+ 1823, 0, 1811, 1808, 1799, 1793, 1793, 1777, 1783, 1776,
+ 1761, 1752, 1741, 1731, 1732, 1722, 1723, 1702, 0, 1685,
+ 1436, 1652, 1659, 1650, 0, 1640, 1647, 1646, 1637, 1649,
+ 1634, 1649, 0, 1641, 1634, 1628, 1625, 1522, 1626, 1635,
+ 0, 1617, 1606, 0, 1609, 1570, 1582, 0, 1552, 1543,
+ 1534, 1522, 0, 1512, 1511, 1500, 1491, 1479, 0, 1466,
+ 1477, 0, 1447, 1427, 0, 1434, 0, 0, 0, 1412,
+ 1413, 1384, 1373, 1379, 1322, 2393, 1314, 1261, 1259, 1181,
+ 0, 1172, 1111, 1100, 1089, 1053, 0, 0, 1039, 0,
+ 0, 1031, 0, 936, 909, 888, 855, 0, 2393, 0,
+
+ 825, 821, 0, 777, 734, 728, 719, 708, 0, 0,
+ 0, 694, 611, 497, 104, 0, 0, 0, 0, 2393,
+ 2393, 0, 0, 2393, 1711, 1722, 1733, 1744, 1755, 1766,
+ 1770, 1777, 1783, 1786, 1792, 1795, 1801, 1811, 1822, 1829,
+ 1835, 1845, 1856, 1863, 1866, 1873, 1883, 1894, 1901, 1907,
+ 1917, 1926, 1937, 1948, 1955, 1961, 1965, 1972, 1979, 1987,
+ 1993, 1999, 2005, 2011, 2017, 2023, 2027, 2037, 2048, 2055,
+ 2059, 2065, 2068, 2075, 2085, 2096, 2103, 2109, 2113, 2123,
+ 2131, 2138, 2144, 2154
} ;
-static yyconst flex_int16_t yy_def[889] =
+static yyconst flex_int16_t yy_def[885] =
{ 0,
- 828, 1, 828, 3, 829, 829, 828, 7, 828, 9,
- 828, 11, 828, 13, 1, 1, 828, 17, 830, 830,
- 831, 831, 828, 23, 828, 828, 828, 828, 828, 828,
- 832, 833, 828, 828, 828, 834, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 835, 828, 828, 828,
- 828, 836, 836, 828, 828, 836, 836, 836, 836, 836,
- 836, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 837, 828, 828, 828, 828, 828, 828, 828, 828, 838,
- 839, 839, 839, 839, 839, 828, 828, 840, 841, 828,
- 828, 828, 828, 842, 828, 843, 828, 828, 828, 828,
-
- 844, 828, 828, 845, 828, 828, 828, 828, 846, 828,
- 847, 828, 828, 828, 828, 848, 849, 43, 850, 850,
- 850, 850, 850, 850, 850, 850, 842, 843, 828, 828,
- 102, 828, 828, 828, 828, 828, 828, 851, 828, 852,
- 828, 828, 853, 828, 828, 828, 854, 854, 854, 854,
- 854, 828, 828, 855, 828, 828, 828, 856, 828, 856,
- 857, 828, 857, 828, 828, 828, 828, 828, 828, 828,
- 858, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 828,
-
- 828, 828, 828, 828, 828, 860, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 828, 828,
- 828, 828, 828, 828, 862, 863, 864, 863, 863, 863,
- 863, 863, 863, 863, 863, 828, 828, 828, 828, 828,
- 828, 865, 828, 828, 828, 828, 828, 828, 828, 866,
- 867, 867, 867, 867, 867, 828, 828, 868, 868, 828,
- 828, 828, 842, 828, 842, 828, 843, 828, 828, 828,
- 869, 828, 828, 828, 828, 870, 871, 872, 828, 872,
- 828, 873, 828, 828, 828, 828, 828, 828, 828, 874,
- 875, 876, 876, 876, 876, 876, 877, 878, 828, 878,
-
- 878, 878, 878, 878, 878, 878, 878, 828, 828, 879,
- 828, 879, 828, 880, 828, 828, 828, 881, 881, 881,
- 881, 881, 881, 828, 828, 828, 828, 882, 828, 828,
- 828, 828, 828, 883, 828, 883, 883, 883, 883, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 828, 828, 828, 828, 828, 828, 860, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 828, 828,
-
- 864, 884, 885, 886, 886, 886, 886, 886, 886, 886,
- 828, 828, 828, 866, 867, 867, 867, 867, 828, 828,
- 869, 828, 828, 828, 828, 828, 870, 828, 828, 828,
- 828, 828, 828, 828, 874, 876, 828, 876, 876, 876,
- 876, 887, 828, 878, 878, 878, 878, 878, 878, 878,
- 828, 828, 881, 881, 881, 881, 881, 881, 881, 828,
- 828, 828, 828, 828, 882, 828, 828, 828, 828, 828,
- 828, 828, 828, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 861, 861, 861,
-
- 861, 861, 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 828, 884,
- 828, 884, 885, 828, 886, 886, 886, 886, 828, 828,
- 828, 867, 828, 828, 828, 828, 828, 887, 878, 878,
- 878, 878, 828, 828, 881, 881, 881, 881, 881, 881,
- 828, 828, 828, 828, 828, 828, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 861, 861,
-
- 888, 886, 886, 828, 828, 828, 867, 878, 878, 881,
- 881, 881, 881, 881, 828, 828, 828, 828, 828, 828,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 861, 861, 861, 861, 861, 888,
- 828, 888, 886, 886, 828, 828, 867, 878, 878, 881,
- 881, 881, 828, 828, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 861, 861, 861, 861, 861, 861, 861,
-
- 861, 861, 861, 861, 861, 828, 881, 881, 881, 828,
- 828, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 861, 861, 861, 861, 861, 861, 861, 861,
- 861, 828, 881, 881, 881, 828, 828, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 859, 859, 861, 861, 861, 861,
- 861, 861, 861, 861, 828, 828, 881, 881, 828, 828,
- 859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 859, 861, 861, 861, 861, 828, 828,
-
- 881, 881, 828, 859, 859, 859, 859, 859, 859, 859,
- 859, 859, 859, 861, 861, 828, 828, 881, 859, 859,
- 859, 859, 859, 828, 828, 881, 859, 0, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828
+ 824, 1, 824, 3, 825, 825, 824, 7, 824, 9,
+ 824, 11, 824, 13, 1, 1, 824, 17, 826, 826,
+ 827, 827, 824, 23, 824, 824, 824, 824, 824, 824,
+ 828, 829, 824, 824, 824, 830, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 831, 824, 824, 824,
+ 824, 832, 832, 824, 824, 832, 832, 832, 832, 832,
+ 832, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 833, 824, 824, 824, 824, 824, 824, 824, 824, 834,
+ 835, 835, 835, 835, 835, 824, 824, 836, 837, 824,
+ 824, 824, 824, 838, 824, 839, 824, 824, 824, 824,
+
+ 840, 824, 824, 841, 824, 824, 824, 824, 842, 824,
+ 843, 824, 824, 824, 824, 844, 845, 43, 846, 846,
+ 846, 846, 846, 846, 846, 846, 838, 839, 824, 824,
+ 102, 824, 824, 824, 824, 824, 824, 847, 824, 848,
+ 824, 824, 849, 824, 824, 824, 850, 850, 850, 850,
+ 850, 824, 824, 851, 824, 824, 824, 852, 824, 852,
+ 853, 824, 853, 824, 824, 824, 824, 824, 824, 824,
+ 854, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 824,
+
+ 824, 824, 824, 824, 824, 856, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 824, 824,
+ 824, 824, 824, 824, 858, 859, 860, 859, 859, 859,
+ 859, 859, 859, 859, 859, 824, 824, 824, 824, 824,
+ 824, 861, 824, 824, 824, 824, 824, 824, 824, 862,
+ 863, 863, 863, 863, 863, 824, 824, 864, 864, 824,
+ 824, 824, 838, 824, 838, 824, 839, 824, 824, 824,
+ 865, 824, 824, 824, 824, 866, 867, 868, 824, 868,
+ 824, 869, 824, 824, 824, 824, 824, 824, 824, 870,
+ 871, 872, 872, 872, 872, 872, 873, 874, 824, 874,
+
+ 874, 874, 874, 874, 874, 874, 874, 824, 824, 875,
+ 824, 875, 824, 876, 824, 824, 824, 877, 877, 877,
+ 877, 877, 877, 824, 824, 824, 824, 878, 824, 824,
+ 824, 824, 824, 879, 824, 879, 879, 879, 879, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 824, 824, 824, 824, 824, 824, 856, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 824, 824,
+
+ 860, 880, 881, 882, 882, 882, 882, 882, 882, 882,
+ 824, 824, 824, 862, 863, 863, 863, 863, 824, 824,
+ 865, 824, 824, 824, 824, 824, 866, 824, 824, 824,
+ 824, 824, 824, 824, 870, 872, 824, 872, 872, 872,
+ 872, 883, 824, 874, 874, 874, 874, 874, 874, 874,
+ 824, 824, 877, 877, 877, 877, 877, 877, 877, 824,
+ 824, 824, 824, 824, 878, 824, 824, 824, 824, 824,
+ 824, 824, 824, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 857, 857, 857,
+
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 824, 880,
+ 824, 880, 881, 824, 882, 882, 882, 882, 824, 824,
+ 824, 863, 824, 824, 824, 824, 824, 883, 874, 874,
+ 874, 874, 824, 824, 877, 877, 877, 877, 877, 877,
+ 824, 824, 824, 824, 824, 824, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 884,
+
+ 882, 882, 824, 824, 824, 863, 874, 874, 877, 877,
+ 877, 877, 877, 824, 824, 824, 824, 824, 824, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 884, 824, 884,
+ 882, 882, 824, 824, 863, 874, 874, 877, 877, 877,
+ 824, 824, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+
+ 857, 857, 824, 877, 877, 877, 824, 824, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 857, 857,
+ 857, 857, 857, 857, 857, 857, 857, 824, 877, 877,
+ 877, 824, 824, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 855, 857, 857, 857, 857, 857, 857, 857, 857,
+ 824, 824, 877, 877, 824, 824, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 857, 857, 857, 857, 824, 824, 877, 877, 824, 855,
+
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 857,
+ 857, 824, 824, 877, 855, 855, 855, 855, 855, 824,
+ 824, 877, 855, 0, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824
} ;
-static yyconst flex_int16_t yy_nxt[2472] =
+static yyconst flex_int16_t yy_nxt[2468] =
{ 0,
26, 27, 28, 27, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
@@ -854,7 +854,7 @@
71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 64, 64, 64, 64, 73, 73,
74, 74, 155, 155, 162, 155, 163, 164, 162, 165,
- 163, 166, 167, 827, 75, 75, 76, 77, 78, 77,
+ 163, 166, 167, 823, 75, 75, 76, 77, 78, 77,
79, 76, 76, 76, 80, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 81, 81, 81, 81,
@@ -898,7 +898,7 @@
119, 119, 26, 62, 26, 63, 127, 225, 200, 156,
169, 128, 390, 173, 227, 129, 201, 129, 130, 127,
131, 132, 132, 132, 128, 154, 174, 170, 129, 391,
- 129, 130, 826, 131, 132, 132, 132, 134, 135, 136,
+ 129, 130, 822, 131, 132, 132, 132, 134, 135, 136,
135, 137, 134, 138, 134, 139, 134, 134, 140, 134,
134, 134, 141, 142, 141, 143, 134, 144, 145, 145,
145, 146, 134, 134, 134, 134, 134, 147, 147, 147,
@@ -909,7 +909,7 @@
147, 147, 147, 147, 147, 147, 147, 134, 134, 134,
134, 159, 175, 236, 176, 176, 176, 176, 219, 220,
175, 177, 176, 176, 176, 176, 221, 222, 202, 178,
- 176, 176, 176, 176, 223, 224, 240, 240, 825, 240,
+ 176, 176, 176, 176, 223, 224, 240, 240, 821, 240,
225, 225, 204, 228, 228, 228, 228, 227, 227, 160,
179, 225, 179, 243, 243, 179, 243, 237, 227, 375,
375, 204, 245, 299, 180, 180, 180, 180, 246, 247,
@@ -919,32 +919,32 @@
184, 185, 186, 187, 182, 188, 189, 190, 182, 191,
182, 192, 193, 194, 182, 195, 182, 196, 197, 198,
182, 182, 182, 199, 202, 225, 176, 176, 176, 176,
- 238, 824, 227, 225, 225, 225, 225, 203, 204, 353,
- 227, 227, 227, 227, 205, 563, 248, 248, 206, 248,
- 208, 264, 354, 357, 203, 209, 563, 204, 210, 358,
+ 238, 820, 227, 225, 225, 225, 225, 203, 204, 353,
+ 227, 227, 227, 227, 205, 562, 248, 248, 206, 248,
+ 208, 264, 354, 357, 203, 209, 562, 204, 210, 358,
211, 212, 213, 214, 215, 279, 205, 216, 229, 217,
- 218, 230, 264, 823, 206, 233, 239, 235, 231, 822,
+ 218, 230, 264, 819, 206, 233, 239, 235, 231, 818,
256, 256, 232, 256, 261, 261, 266, 261, 266, 265,
266, 266, 268, 311, 269, 269, 269, 269, 270, 270,
270, 270, 272, 280, 269, 269, 269, 269, 159, 272,
265, 269, 269, 269, 269, 273, 274, 285, 285, 285,
- 285, 821, 275, 274, 360, 281, 276, 281, 361, 281,
+ 285, 817, 275, 274, 360, 281, 276, 281, 361, 281,
281, 312, 273, 362, 283, 274, 284, 284, 284, 284,
308, 308, 274, 308, 275, 286, 160, 284, 284, 284,
- 284, 820, 276, 286, 225, 284, 284, 284, 284, 288,
- 293, 227, 294, 225, 295, 296, 287, 288, 819, 225,
+ 284, 816, 276, 286, 225, 284, 284, 284, 284, 288,
+ 293, 227, 294, 225, 295, 296, 287, 288, 815, 225,
227, 155, 155, 289, 155, 299, 227, 290, 288, 155,
155, 299, 155, 287, 225, 225, 288, 300, 300, 300,
- 300, 227, 227, 385, 369, 289, 299, 299, 225, 818,
+ 300, 227, 227, 385, 369, 289, 299, 299, 225, 814,
225, 225, 386, 290, 302, 227, 301, 227, 227, 370,
- 299, 303, 299, 299, 268, 817, 269, 269, 269, 269,
+ 299, 303, 299, 299, 268, 813, 269, 269, 269, 269,
270, 270, 270, 270, 272, 264, 269, 269, 269, 269,
162, 313, 163, 313, 304, 313, 313, 363, 274, 305,
- 816, 364, 315, 307, 316, 316, 316, 316, 306, 317,
+ 812, 364, 315, 307, 316, 316, 316, 316, 306, 317,
317, 317, 317, 365, 329, 366, 324, 274, 316, 316,
- 316, 316, 330, 265, 331, 332, 399, 400, 333, 815,
+ 316, 316, 330, 265, 331, 332, 399, 400, 333, 811,
326, 336, 336, 336, 336, 335, 337, 337, 337, 337,
335, 319, 342, 395, 342, 342, 320, 321, 322, 326,
@@ -955,163 +955,162 @@
345, 345, 345, 327, 346, 346, 346, 346, 431, 431,
225, 328, 180, 180, 180, 180, 202, 227, 176, 176,
176, 176, 180, 180, 180, 180, 374, 374, 374, 374,
- 204, 280, 387, 814, 348, 376, 388, 376, 348, 392,
- 377, 377, 377, 377, 393, 225, 311, 225, 813, 204,
+ 204, 280, 387, 810, 348, 376, 388, 376, 348, 392,
+ 377, 377, 377, 377, 393, 225, 311, 225, 809, 204,
- 812, 389, 227, 348, 227, 225, 225, 348, 228, 228,
+ 808, 389, 227, 348, 227, 225, 225, 348, 228, 228,
228, 228, 227, 227, 225, 225, 225, 240, 240, 521,
240, 227, 227, 227, 240, 240, 455, 240, 243, 243,
456, 243, 243, 243, 312, 243, 248, 248, 505, 248,
- 811, 248, 248, 404, 248, 405, 406, 407, 408, 256,
+ 807, 248, 248, 404, 248, 405, 406, 407, 408, 256,
256, 506, 256, 256, 256, 410, 256, 522, 261, 261,
- 409, 261, 261, 261, 810, 261, 419, 419, 419, 419,
- 270, 270, 270, 270, 272, 809, 269, 269, 269, 269,
+ 409, 261, 261, 261, 806, 261, 419, 419, 419, 419,
+ 270, 270, 270, 270, 272, 805, 269, 269, 269, 269,
270, 270, 270, 270, 422, 422, 422, 422, 274, 426,
- 426, 426, 420, 424, 562, 424, 420, 521, 425, 425,
+ 426, 426, 420, 424, 561, 424, 420, 521, 425, 425,
- 425, 425, 428, 428, 428, 428, 563, 274, 434, 434,
+ 425, 425, 428, 428, 428, 428, 562, 274, 434, 434,
434, 420, 461, 461, 225, 420, 285, 285, 285, 285,
286, 227, 284, 284, 284, 284, 285, 285, 285, 285,
- 430, 430, 430, 430, 288, 522, 225, 808, 429, 432,
- 807, 432, 429, 227, 433, 433, 433, 433, 299, 438,
+ 430, 430, 430, 430, 288, 522, 225, 804, 429, 432,
+ 803, 432, 429, 227, 433, 433, 433, 433, 299, 438,
438, 438, 438, 288, 464, 464, 464, 429, 437, 467,
468, 429, 439, 439, 439, 439, 440, 440, 440, 440,
- 342, 437, 342, 342, 724, 437, 441, 441, 441, 441,
- 375, 375, 725, 225, 225, 437, 300, 300, 300, 300,
+ 342, 437, 342, 342, 720, 437, 441, 441, 441, 441,
+ 375, 375, 721, 225, 225, 437, 300, 300, 300, 300,
227, 227, 225, 225, 225, 299, 299, 423, 423, 227,
227, 227, 225, 225, 299, 299, 299, 225, 501, 227,
- 227, 225, 431, 431, 227, 299, 806, 502, 227, 299,
- 503, 308, 308, 299, 308, 308, 308, 805, 308, 378,
+ 227, 225, 431, 431, 227, 299, 802, 502, 227, 299,
+ 503, 308, 308, 299, 308, 308, 308, 801, 308, 378,
378, 378, 444, 225, 446, 447, 426, 426, 426, 448,
227, 445, 451, 451, 451, 451, 434, 434, 434, 449,
225, 450, 317, 317, 317, 317, 324, 227, 316, 316,
316, 316, 317, 317, 317, 317, 460, 460, 460, 460,
- 326, 804, 225, 803, 452, 462, 525, 462, 452, 227,
+ 326, 800, 225, 799, 452, 462, 525, 462, 452, 227,
463, 463, 463, 463, 336, 336, 336, 336, 335, 326,
526, 461, 461, 452, 464, 464, 464, 452, 337, 337,
337, 337, 335, 338, 338, 338, 338, 335, 339, 339,
339, 339, 335, 343, 343, 343, 343, 344, 344, 344,
344, 345, 345, 345, 345, 346, 346, 346, 346, 472,
- 802, 472, 801, 800, 473, 473, 473, 473, 374, 374,
+ 798, 472, 797, 796, 473, 473, 473, 473, 374, 374,
374, 374, 377, 377, 377, 377, 377, 377, 377, 377,
348, 225, 225, 419, 419, 419, 419, 225, 227, 227,
- 533, 799, 533, 798, 227, 534, 534, 534, 534, 348,
+ 533, 795, 533, 794, 227, 534, 534, 534, 534, 348,
422, 422, 422, 422, 425, 425, 425, 425, 425, 425,
- 425, 425, 420, 759, 797, 593, 528, 796, 225, 527,
- 428, 428, 428, 428, 594, 227, 760, 535, 795, 535,
+ 425, 425, 420, 755, 793, 592, 528, 792, 225, 527,
+ 428, 428, 428, 428, 593, 227, 756, 535, 791, 535,
299, 420, 536, 536, 536, 536, 430, 430, 430, 430,
433, 433, 433, 433, 433, 433, 433, 433, 429, 438,
- 438, 438, 438, 439, 439, 439, 439, 794, 437, 793,
- 792, 539, 437, 440, 440, 440, 440, 429, 441, 441,
- 441, 441, 437, 225, 225, 225, 225, 437, 791, 790,
- 227, 227, 227, 227, 225, 299, 299, 299, 299, 789,
- 225, 227, 451, 451, 451, 451, 299, 227, 543, 775,
- 543, 788, 299, 544, 544, 544, 544, 460, 460, 460,
- 460, 787, 776, 225, 540, 463, 463, 463, 463, 452,
- 227, 786, 541, 785, 542, 463, 463, 463, 463, 473,
+ 438, 438, 438, 439, 439, 439, 439, 790, 437, 789,
+ 788, 539, 437, 440, 440, 440, 440, 429, 441, 441,
+ 441, 441, 437, 225, 225, 225, 225, 437, 787, 786,
+ 227, 227, 227, 227, 225, 299, 299, 299, 299, 785,
+ 225, 227, 451, 451, 451, 451, 299, 227, 543, 771,
+ 543, 784, 299, 544, 544, 544, 544, 460, 460, 460,
+ 460, 783, 772, 225, 540, 463, 463, 463, 463, 452,
+ 227, 782, 541, 781, 542, 463, 463, 463, 463, 473,
473, 473, 473, 473, 473, 473, 473, 225, 452, 225,
- 534, 534, 534, 534, 227, 784, 227, 534, 534, 534,
+ 534, 534, 534, 534, 227, 780, 227, 534, 534, 534,
534, 536, 536, 536, 536, 536, 536, 536, 536, 225,
- 225, 225, 225, 783, 661, 782, 227, 227, 227, 227,
- 625, 299, 299, 299, 299, 544, 544, 544, 544, 602,
- 544, 544, 544, 544, 626, 639, 603, 225, 225, 661,
- 627, 225, 225, 225, 227, 227, 781, 780, 227, 227,
- 227, 640, 662, 608, 299, 299, 225, 641, 225, 609,
- 225, 714, 779, 227, 778, 227, 777, 227, 774, 773,
- 299, 772, 299, 663, 771, 715, 770, 662, 668, 769,
+ 225, 225, 225, 779, 659, 778, 227, 227, 227, 227,
+ 623, 299, 299, 299, 299, 544, 544, 544, 544, 601,
+ 544, 544, 544, 544, 624, 637, 602, 225, 225, 659,
+ 625, 225, 225, 225, 227, 227, 777, 776, 227, 227,
+ 227, 638, 660, 607, 299, 299, 225, 639, 225, 608,
+ 225, 710, 775, 227, 774, 227, 773, 227, 770, 769,
+ 299, 768, 299, 661, 767, 711, 766, 660, 666, 765,
- 768, 716, 767, 766, 765, 664, 764, 763, 762, 761,
- 669, 72, 72, 72, 72, 72, 72, 72, 72, 72,
+ 764, 712, 763, 762, 761, 662, 760, 759, 758, 757,
+ 667, 72, 72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 158, 758, 158, 158, 158, 158,
+ 133, 133, 133, 133, 158, 754, 158, 158, 158, 158,
158, 158, 158, 158, 158, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 171, 757, 171, 171,
+ 161, 161, 161, 161, 161, 161, 171, 753, 171, 171,
171, 171, 171, 171, 171, 171, 171, 207, 207, 207,
- 226, 226, 226, 756, 226, 226, 226, 242, 755, 754,
- 242, 242, 242, 250, 250, 250, 251, 753, 752, 251,
+ 226, 226, 226, 752, 226, 226, 226, 242, 751, 750,
+ 242, 242, 242, 250, 250, 250, 251, 749, 748, 251,
- 251, 251, 258, 258, 258, 259, 259, 751, 259, 259,
- 259, 263, 750, 263, 263, 263, 263, 263, 263, 263,
- 263, 263, 267, 749, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 271, 748, 747, 271, 271, 271, 277,
- 746, 745, 277, 277, 277, 278, 744, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 282, 743, 282, 282,
- 282, 282, 282, 282, 282, 282, 282, 291, 742, 741,
+ 251, 251, 258, 258, 258, 259, 259, 747, 259, 259,
+ 259, 263, 746, 263, 263, 263, 263, 263, 263, 263,
+ 263, 263, 267, 745, 267, 267, 267, 267, 267, 267,
+ 267, 267, 267, 271, 744, 743, 271, 271, 271, 277,
+ 742, 741, 277, 277, 277, 278, 740, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 282, 739, 282, 282,
+ 282, 282, 282, 282, 282, 282, 282, 291, 738, 737,
291, 291, 291, 292, 292, 292, 298, 298, 298, 298,
- 298, 298, 298, 310, 740, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 314, 739, 314, 314, 314, 314,
+ 298, 298, 298, 310, 736, 310, 310, 310, 310, 310,
+ 310, 310, 310, 310, 314, 735, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 318, 738, 737, 318, 318,
- 318, 334, 334, 736, 334, 334, 334, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 158, 735, 158, 158,
+ 314, 314, 314, 314, 314, 318, 734, 733, 318, 318,
+ 318, 334, 334, 732, 334, 334, 334, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 158, 731, 158, 158,
158, 158, 158, 158, 158, 158, 158, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161, 171, 734,
+ 161, 161, 161, 161, 161, 161, 161, 161, 171, 730,
171, 171, 171, 171, 171, 171, 171, 171, 171, 349,
- 733, 732, 349, 349, 349, 379, 731, 730, 379, 380,
- 729, 728, 380, 380, 380, 225, 225, 225, 727, 225,
- 225, 225, 226, 226, 226, 726, 226, 226, 226, 403,
- 723, 722, 721, 720, 403, 403, 403, 242, 719, 718,
-
- 242, 242, 242, 414, 717, 713, 414, 414, 414, 251,
- 712, 711, 251, 251, 251, 259, 259, 710, 259, 259,
- 259, 421, 709, 708, 421, 421, 421, 427, 707, 706,
- 427, 277, 705, 704, 277, 277, 277, 278, 703, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 282, 702,
+ 729, 728, 349, 349, 349, 379, 727, 726, 379, 380,
+ 725, 724, 380, 380, 380, 225, 225, 225, 723, 225,
+ 225, 225, 226, 226, 226, 722, 226, 226, 226, 403,
+ 719, 718, 717, 716, 403, 403, 403, 242, 715, 714,
+
+ 242, 242, 242, 414, 713, 709, 414, 414, 414, 251,
+ 708, 707, 251, 251, 251, 259, 259, 706, 259, 259,
+ 259, 421, 705, 704, 421, 421, 421, 427, 703, 702,
+ 427, 277, 701, 700, 277, 277, 277, 278, 699, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278, 282, 698,
282, 282, 282, 282, 282, 282, 282, 282, 282, 435,
- 701, 700, 435, 291, 699, 698, 291, 291, 291, 436,
- 697, 436, 436, 436, 436, 442, 442, 442, 298, 298,
- 298, 298, 298, 298, 298, 310, 696, 310, 310, 310,
- 310, 310, 310, 310, 310, 310, 314, 695, 314, 314,
-
- 314, 314, 314, 314, 314, 314, 314, 453, 694, 693,
- 453, 453, 453, 465, 692, 691, 465, 334, 334, 690,
- 334, 334, 334, 520, 689, 520, 520, 520, 520, 520,
- 520, 520, 520, 520, 523, 523, 523, 688, 523, 523,
- 523, 226, 226, 226, 687, 226, 226, 226, 538, 686,
- 685, 538, 538, 538, 660, 684, 660, 660, 660, 660,
- 660, 660, 660, 660, 660, 683, 682, 681, 680, 679,
- 678, 677, 676, 675, 674, 673, 672, 671, 670, 667,
- 666, 665, 659, 658, 657, 656, 655, 654, 653, 652,
- 651, 650, 649, 648, 647, 646, 645, 644, 643, 642,
-
- 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
- 628, 624, 623, 622, 621, 620, 619, 618, 617, 616,
- 615, 614, 613, 612, 611, 610, 607, 606, 605, 604,
- 601, 524, 600, 599, 598, 597, 596, 595, 592, 591,
- 590, 589, 588, 587, 586, 585, 584, 583, 582, 581,
- 580, 579, 578, 577, 576, 575, 574, 573, 572, 571,
- 570, 569, 568, 567, 566, 565, 564, 561, 560, 559,
- 558, 557, 556, 555, 554, 553, 552, 551, 550, 549,
- 548, 547, 546, 545, 537, 437, 532, 531, 530, 529,
- 524, 402, 519, 518, 517, 516, 515, 514, 513, 512,
-
- 511, 510, 509, 508, 507, 504, 500, 499, 498, 497,
- 496, 495, 494, 493, 492, 491, 490, 489, 488, 485,
- 484, 483, 482, 481, 480, 479, 478, 477, 476, 475,
- 474, 335, 471, 470, 469, 466, 459, 458, 457, 454,
- 311, 443, 437, 279, 264, 260, 260, 418, 417, 416,
- 415, 413, 412, 411, 402, 401, 398, 397, 394, 382,
- 381, 373, 372, 371, 368, 367, 359, 356, 355, 352,
- 351, 350, 347, 172, 335, 311, 309, 264, 297, 279,
- 264, 262, 260, 257, 255, 254, 253, 252, 249, 244,
- 241, 172, 168, 157, 154, 828, 25, 828, 828, 828,
-
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828
+ 697, 696, 435, 291, 695, 694, 291, 291, 291, 436,
+ 693, 436, 436, 436, 436, 442, 442, 442, 298, 298,
+ 298, 298, 298, 298, 298, 310, 692, 310, 310, 310,
+ 310, 310, 310, 310, 310, 310, 314, 691, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 453, 690, 689,
+ 453, 453, 453, 465, 688, 687, 465, 334, 334, 686,
+ 334, 334, 334, 520, 685, 520, 520, 520, 520, 520,
+ 520, 520, 520, 520, 523, 523, 523, 684, 523, 523,
+ 523, 226, 226, 226, 683, 226, 226, 226, 538, 682,
+ 681, 538, 538, 538, 658, 680, 658, 658, 658, 658,
+ 658, 658, 658, 658, 658, 679, 678, 677, 676, 675,
+ 674, 673, 672, 671, 670, 669, 668, 665, 664, 663,
+ 657, 656, 655, 654, 653, 652, 651, 650, 649, 648,
+ 647, 646, 645, 644, 643, 642, 641, 640, 636, 635,
+
+ 634, 633, 632, 631, 630, 629, 628, 627, 626, 622,
+ 621, 620, 619, 618, 617, 616, 615, 614, 613, 612,
+ 611, 610, 609, 606, 605, 604, 603, 600, 524, 599,
+ 598, 597, 596, 595, 594, 591, 590, 589, 588, 587,
+ 586, 585, 584, 583, 582, 581, 580, 579, 578, 577,
+ 576, 575, 574, 573, 572, 571, 570, 569, 568, 567,
+ 566, 565, 564, 563, 560, 559, 558, 557, 556, 555,
+ 554, 553, 552, 551, 550, 549, 548, 547, 546, 545,
+ 537, 437, 532, 531, 530, 529, 524, 402, 519, 518,
+ 517, 516, 515, 514, 513, 512, 511, 510, 509, 508,
+
+ 507, 504, 500, 499, 498, 497, 496, 495, 494, 493,
+ 492, 491, 490, 489, 488, 485, 484, 483, 482, 481,
+ 480, 479, 478, 477, 476, 475, 474, 335, 471, 470,
+ 469, 466, 459, 458, 457, 454, 311, 443, 437, 279,
+ 264, 260, 260, 418, 417, 416, 415, 413, 412, 411,
+ 402, 401, 398, 397, 394, 382, 381, 373, 372, 371,
+ 368, 367, 359, 356, 355, 352, 351, 350, 347, 172,
+ 335, 311, 309, 264, 297, 279, 264, 262, 260, 257,
+ 255, 254, 253, 252, 249, 244, 241, 172, 168, 157,
+ 154, 824, 25, 824, 824, 824, 824, 824, 824, 824,
+
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824
} ;
-static yyconst flex_int16_t yy_chk[2472] =
+static yyconst flex_int16_t yy_chk[2468] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1130,7 +1129,7 @@
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 5, 6,
5, 6, 28, 28, 32, 28, 32, 33, 161, 33,
- 161, 33, 33, 819, 5, 6, 7, 7, 7, 7,
+ 161, 33, 33, 815, 5, 6, 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,
@@ -1174,7 +1173,7 @@
17, 17, 17, 17, 17, 17, 19, 52, 44, 29,
35, 19, 213, 39, 52, 19, 44, 19, 19, 20,
19, 19, 19, 19, 20, 29, 39, 35, 20, 213,
- 20, 20, 818, 20, 20, 20, 20, 23, 23, 23,
+ 20, 20, 814, 20, 20, 20, 20, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
@@ -1185,7 +1184,7 @@
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 31, 40, 62, 40, 40, 40, 40, 49, 49,
42, 40, 42, 42, 42, 42, 50, 50, 46, 42,
- 46, 46, 46, 46, 51, 51, 66, 66, 817, 66,
+ 46, 46, 46, 46, 51, 51, 66, 66, 813, 66,
53, 60, 46, 53, 53, 53, 53, 53, 60, 31,
43, 119, 43, 73, 73, 43, 73, 62, 119, 203,
203, 46, 75, 119, 43, 43, 43, 43, 75, 75,
@@ -1195,32 +1194,32 @@
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 45, 56, 45, 45, 45, 45,
- 63, 816, 56, 58, 59, 61, 57, 45, 45, 187,
- 58, 59, 61, 57, 45, 812, 78, 78, 45, 78,
- 47, 94, 187, 190, 45, 47, 811, 45, 47, 190,
+ 63, 812, 56, 58, 59, 61, 57, 45, 45, 187,
+ 58, 59, 61, 57, 45, 808, 78, 78, 45, 78,
+ 47, 94, 187, 190, 45, 47, 807, 45, 47, 190,
47, 47, 47, 47, 47, 109, 45, 47, 56, 47,
- 47, 57, 127, 810, 45, 59, 63, 61, 57, 809,
+ 47, 57, 127, 806, 45, 59, 63, 61, 57, 805,
86, 86, 58, 86, 92, 92, 95, 92, 95, 94,
95, 95, 99, 138, 99, 99, 99, 99, 101, 101,
101, 101, 102, 109, 102, 102, 102, 102, 158, 103,
127, 103, 103, 103, 103, 102, 102, 113, 113, 113,
- 113, 808, 102, 103, 192, 110, 102, 110, 192, 110,
+ 113, 804, 102, 103, 192, 110, 102, 110, 192, 110,
110, 138, 102, 192, 112, 102, 112, 112, 112, 112,
136, 136, 103, 136, 102, 115, 158, 115, 115, 115,
- 115, 806, 102, 114, 226, 114, 114, 114, 114, 115,
- 117, 226, 117, 121, 117, 117, 114, 114, 805, 122,
+ 115, 802, 102, 114, 226, 114, 114, 114, 114, 115,
+ 117, 226, 117, 121, 117, 117, 114, 114, 801, 122,
121, 155, 155, 114, 155, 121, 122, 114, 115, 156,
156, 122, 156, 114, 120, 123, 114, 120, 120, 120,
- 120, 120, 123, 211, 197, 114, 120, 123, 124, 801,
+ 120, 120, 123, 211, 197, 114, 120, 123, 124, 797,
125, 126, 211, 114, 122, 124, 121, 125, 126, 197,
- 124, 122, 125, 126, 129, 800, 129, 129, 129, 129,
+ 124, 122, 125, 126, 129, 796, 129, 129, 129, 129,
130, 130, 130, 130, 132, 263, 132, 132, 132, 132,
163, 139, 163, 139, 123, 139, 139, 193, 132, 124,
- 799, 193, 141, 126, 141, 141, 141, 141, 125, 143,
+ 795, 193, 141, 126, 141, 141, 141, 141, 125, 143,
143, 143, 143, 194, 146, 194, 145, 132, 145, 145,
- 145, 145, 146, 263, 146, 146, 224, 224, 146, 798,
+ 145, 145, 146, 263, 146, 146, 224, 224, 146, 794,
145, 148, 148, 148, 148, 148, 149, 149, 149, 149,
149, 143, 162, 216, 162, 162, 143, 143, 143, 145,
@@ -1231,164 +1230,163 @@
166, 166, 166, 144, 167, 167, 167, 167, 287, 287,
230, 144, 175, 175, 175, 175, 176, 230, 176, 176,
176, 176, 180, 180, 180, 180, 202, 202, 202, 202,
- 176, 278, 212, 796, 180, 204, 212, 204, 202, 214,
- 204, 204, 204, 204, 214, 229, 310, 231, 793, 176,
+ 176, 278, 212, 792, 180, 204, 212, 204, 202, 214,
+ 204, 204, 204, 204, 214, 229, 310, 231, 789, 176,
- 790, 212, 229, 180, 231, 228, 232, 202, 228, 228,
+ 786, 212, 229, 180, 231, 228, 232, 202, 228, 228,
228, 228, 228, 232, 234, 235, 233, 240, 240, 402,
240, 234, 235, 233, 241, 241, 320, 241, 243, 243,
320, 243, 244, 244, 310, 244, 248, 248, 386, 248,
- 789, 249, 249, 229, 249, 231, 232, 232, 233, 256,
+ 785, 249, 249, 229, 249, 231, 232, 232, 233, 256,
256, 386, 256, 257, 257, 235, 257, 402, 261, 261,
- 234, 261, 262, 262, 788, 262, 266, 266, 266, 266,
- 268, 268, 268, 268, 269, 787, 269, 269, 269, 269,
+ 234, 261, 262, 262, 784, 262, 266, 266, 266, 266,
+ 268, 268, 268, 268, 269, 783, 269, 269, 269, 269,
270, 270, 270, 270, 272, 272, 272, 272, 269, 275,
275, 275, 270, 274, 479, 274, 272, 520, 274, 274,
274, 274, 281, 281, 281, 281, 479, 269, 289, 289,
289, 270, 325, 325, 405, 272, 283, 283, 283, 283,
284, 405, 284, 284, 284, 284, 285, 285, 285, 285,
- 286, 286, 286, 286, 284, 520, 298, 786, 285, 288,
- 784, 288, 286, 298, 288, 288, 288, 288, 298, 293,
+ 286, 286, 286, 286, 284, 520, 298, 782, 285, 288,
+ 780, 288, 286, 298, 288, 288, 288, 288, 298, 293,
293, 293, 293, 284, 327, 327, 327, 285, 293, 330,
330, 286, 294, 294, 294, 294, 295, 295, 295, 295,
- 342, 294, 342, 342, 685, 295, 296, 296, 296, 296,
- 375, 375, 685, 300, 301, 296, 300, 300, 300, 300,
+ 342, 294, 342, 342, 682, 295, 296, 296, 296, 296,
+ 375, 375, 682, 300, 301, 296, 300, 300, 300, 300,
300, 301, 302, 303, 304, 300, 301, 423, 423, 302,
303, 304, 407, 306, 302, 303, 304, 305, 384, 407,
- 306, 307, 431, 431, 305, 306, 783, 384, 307, 305,
- 384, 308, 308, 307, 308, 309, 309, 782, 309, 378,
+ 306, 307, 431, 431, 305, 306, 779, 384, 307, 305,
+ 384, 308, 308, 307, 308, 309, 309, 778, 309, 378,
378, 378, 301, 404, 304, 304, 426, 426, 426, 305,
404, 303, 313, 313, 313, 313, 434, 434, 434, 306,
406, 307, 315, 315, 315, 315, 316, 406, 316, 316,
316, 316, 317, 317, 317, 317, 324, 324, 324, 324,
- 316, 781, 408, 779, 317, 326, 404, 326, 324, 408,
+ 316, 777, 408, 775, 317, 326, 404, 326, 324, 408,
326, 326, 326, 326, 336, 336, 336, 336, 336, 316,
406, 461, 461, 317, 464, 464, 464, 324, 337, 337,
337, 337, 337, 338, 338, 338, 338, 338, 339, 339,
339, 339, 339, 343, 343, 343, 343, 344, 344, 344,
344, 345, 345, 345, 345, 346, 346, 346, 346, 348,
- 778, 348, 777, 776, 348, 348, 348, 348, 374, 374,
+ 774, 348, 773, 772, 348, 348, 348, 348, 374, 374,
374, 374, 376, 376, 376, 376, 377, 377, 377, 377,
374, 409, 410, 419, 419, 419, 419, 525, 409, 410,
- 420, 775, 420, 774, 525, 420, 420, 420, 420, 374,
+ 420, 771, 420, 770, 525, 420, 420, 420, 420, 374,
422, 422, 422, 422, 424, 424, 424, 424, 425, 425,
- 425, 425, 422, 725, 770, 512, 410, 768, 444, 409,
- 428, 428, 428, 428, 512, 444, 725, 429, 767, 429,
+ 425, 425, 422, 721, 766, 512, 410, 764, 444, 409,
+ 428, 428, 428, 428, 512, 444, 721, 429, 763, 429,
444, 422, 429, 429, 429, 429, 430, 430, 430, 430,
432, 432, 432, 432, 433, 433, 433, 433, 430, 438,
- 438, 438, 438, 439, 439, 439, 439, 765, 438, 764,
- 762, 444, 439, 440, 440, 440, 440, 430, 441, 441,
- 441, 441, 440, 445, 446, 447, 448, 441, 761, 760,
- 445, 446, 447, 448, 449, 445, 446, 447, 448, 759,
- 450, 449, 451, 451, 451, 451, 449, 450, 452, 742,
- 452, 758, 450, 452, 452, 452, 452, 460, 460, 460,
- 460, 756, 742, 526, 446, 462, 462, 462, 462, 460,
- 526, 755, 449, 754, 450, 463, 463, 463, 463, 472,
+ 438, 438, 438, 439, 439, 439, 439, 761, 438, 760,
+ 758, 444, 439, 440, 440, 440, 440, 430, 441, 441,
+ 441, 441, 440, 445, 446, 447, 448, 441, 757, 756,
+ 445, 446, 447, 448, 449, 445, 446, 447, 448, 755,
+ 450, 449, 451, 451, 451, 451, 449, 450, 452, 738,
+ 452, 754, 450, 452, 452, 452, 452, 460, 460, 460,
+ 460, 752, 738, 526, 446, 462, 462, 462, 462, 460,
+ 526, 751, 449, 750, 450, 463, 463, 463, 463, 472,
472, 472, 472, 473, 473, 473, 473, 527, 460, 528,
- 533, 533, 533, 533, 527, 753, 528, 534, 534, 534,
+ 533, 533, 533, 533, 527, 749, 528, 534, 534, 534,
534, 535, 535, 535, 535, 536, 536, 536, 536, 539,
- 540, 541, 542, 751, 601, 750, 539, 540, 541, 542,
- 562, 539, 540, 541, 542, 543, 543, 543, 543, 527,
- 544, 544, 544, 544, 562, 577, 528, 602, 603, 660,
- 562, 663, 608, 609, 602, 603, 749, 747, 663, 608,
- 609, 577, 601, 541, 608, 609, 664, 577, 668, 542,
- 669, 677, 746, 664, 744, 668, 743, 669, 741, 740,
- 668, 739, 669, 602, 738, 677, 736, 660, 608, 735,
-
- 734, 677, 733, 732, 731, 603, 730, 728, 727, 726,
- 609, 829, 829, 829, 829, 829, 829, 829, 829, 829,
- 829, 829, 830, 830, 830, 830, 830, 830, 830, 830,
- 830, 830, 830, 831, 831, 831, 831, 831, 831, 831,
- 831, 831, 831, 831, 832, 724, 832, 832, 832, 832,
- 832, 832, 832, 832, 832, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 833, 834, 722, 834, 834,
- 834, 834, 834, 834, 834, 834, 834, 835, 835, 835,
- 836, 836, 836, 721, 836, 836, 836, 837, 720, 719,
- 837, 837, 837, 838, 838, 838, 839, 718, 717, 839,
-
- 839, 839, 840, 840, 840, 841, 841, 716, 841, 841,
- 841, 842, 715, 842, 842, 842, 842, 842, 842, 842,
- 842, 842, 843, 714, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 844, 713, 711, 844, 844, 844, 845,
- 710, 709, 845, 845, 845, 846, 708, 846, 846, 846,
- 846, 846, 846, 846, 846, 846, 847, 707, 847, 847,
- 847, 847, 847, 847, 847, 847, 847, 848, 706, 704,
- 848, 848, 848, 849, 849, 849, 850, 850, 850, 850,
- 850, 850, 850, 851, 702, 851, 851, 851, 851, 851,
- 851, 851, 851, 851, 852, 701, 852, 852, 852, 852,
-
- 852, 852, 852, 852, 852, 853, 700, 699, 853, 853,
- 853, 854, 854, 697, 854, 854, 854, 855, 855, 855,
- 855, 855, 855, 855, 855, 855, 856, 696, 856, 856,
- 856, 856, 856, 856, 856, 856, 856, 857, 857, 857,
- 857, 857, 857, 857, 857, 857, 857, 857, 858, 695,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 859,
- 694, 693, 859, 859, 859, 860, 692, 691, 860, 861,
- 690, 688, 861, 861, 861, 862, 862, 862, 687, 862,
- 862, 862, 863, 863, 863, 686, 863, 863, 863, 864,
- 684, 683, 682, 681, 864, 864, 864, 865, 680, 679,
-
- 865, 865, 865, 866, 678, 676, 866, 866, 866, 867,
- 675, 674, 867, 867, 867, 868, 868, 673, 868, 868,
- 868, 869, 672, 671, 869, 869, 869, 870, 670, 666,
- 870, 871, 659, 658, 871, 871, 871, 872, 656, 872,
- 872, 872, 872, 872, 872, 872, 872, 872, 873, 655,
- 873, 873, 873, 873, 873, 873, 873, 873, 873, 874,
- 653, 652, 874, 875, 651, 648, 875, 875, 875, 876,
- 647, 876, 876, 876, 876, 877, 877, 877, 878, 878,
- 878, 878, 878, 878, 878, 879, 646, 879, 879, 879,
- 879, 879, 879, 879, 879, 879, 880, 645, 880, 880,
-
- 880, 880, 880, 880, 880, 880, 880, 881, 644, 642,
- 881, 881, 881, 882, 641, 640, 882, 883, 883, 639,
- 883, 883, 883, 884, 638, 884, 884, 884, 884, 884,
- 884, 884, 884, 884, 885, 885, 885, 636, 885, 885,
- 885, 886, 886, 886, 635, 886, 886, 886, 887, 634,
- 633, 887, 887, 887, 888, 631, 888, 888, 888, 888,
- 888, 888, 888, 888, 888, 630, 629, 628, 627, 626,
- 625, 623, 622, 621, 620, 616, 614, 613, 612, 607,
- 606, 605, 600, 599, 598, 597, 596, 595, 594, 593,
- 592, 591, 590, 589, 587, 585, 584, 582, 579, 578,
-
- 576, 575, 574, 573, 572, 571, 570, 569, 567, 566,
- 565, 561, 559, 558, 557, 556, 555, 554, 553, 552,
- 551, 550, 549, 548, 547, 545, 532, 531, 530, 529,
- 524, 523, 518, 517, 516, 515, 514, 513, 511, 510,
- 509, 508, 507, 506, 505, 503, 502, 501, 500, 499,
- 498, 497, 496, 494, 493, 492, 491, 490, 489, 488,
- 487, 486, 485, 483, 482, 481, 480, 478, 477, 476,
- 475, 474, 471, 470, 469, 468, 467, 466, 459, 458,
- 457, 456, 455, 454, 437, 436, 418, 413, 412, 411,
- 403, 401, 400, 398, 397, 396, 395, 394, 393, 392,
-
- 391, 390, 389, 388, 387, 385, 383, 382, 381, 372,
- 371, 370, 369, 368, 367, 366, 365, 364, 363, 361,
- 360, 359, 358, 357, 356, 355, 354, 353, 352, 351,
- 350, 334, 333, 332, 331, 329, 323, 322, 321, 319,
- 314, 299, 292, 282, 267, 259, 258, 255, 254, 253,
- 252, 247, 246, 245, 227, 225, 218, 217, 215, 209,
- 208, 200, 199, 198, 196, 195, 191, 189, 188, 186,
- 185, 183, 173, 171, 147, 140, 137, 128, 118, 111,
- 96, 93, 89, 87, 85, 84, 83, 82, 79, 74,
- 67, 36, 34, 30, 27, 25, 828, 828, 828, 828,
-
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
- 828
+ 540, 541, 542, 747, 600, 746, 539, 540, 541, 542,
+ 561, 539, 540, 541, 542, 543, 543, 543, 543, 527,
+ 544, 544, 544, 544, 561, 576, 528, 601, 602, 658,
+ 561, 661, 607, 608, 601, 602, 745, 743, 661, 607,
+ 608, 576, 600, 541, 607, 608, 662, 576, 666, 542,
+ 667, 674, 742, 662, 740, 666, 739, 667, 737, 736,
+ 666, 735, 667, 601, 734, 674, 732, 658, 607, 731,
+
+ 730, 674, 729, 728, 727, 602, 726, 724, 723, 722,
+ 608, 825, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 826, 826, 826, 826, 826, 826, 826, 826,
+ 826, 826, 826, 827, 827, 827, 827, 827, 827, 827,
+ 827, 827, 827, 827, 828, 720, 828, 828, 828, 828,
+ 828, 828, 828, 828, 828, 829, 829, 829, 829, 829,
+ 829, 829, 829, 829, 829, 829, 830, 718, 830, 830,
+ 830, 830, 830, 830, 830, 830, 830, 831, 831, 831,
+ 832, 832, 832, 717, 832, 832, 832, 833, 716, 715,
+ 833, 833, 833, 834, 834, 834, 835, 714, 713, 835,
+
+ 835, 835, 836, 836, 836, 837, 837, 712, 837, 837,
+ 837, 838, 711, 838, 838, 838, 838, 838, 838, 838,
+ 838, 838, 839, 710, 839, 839, 839, 839, 839, 839,
+ 839, 839, 839, 840, 709, 708, 840, 840, 840, 841,
+ 707, 706, 841, 841, 841, 842, 705, 842, 842, 842,
+ 842, 842, 842, 842, 842, 842, 843, 704, 843, 843,
+ 843, 843, 843, 843, 843, 843, 843, 844, 703, 701,
+ 844, 844, 844, 845, 845, 845, 846, 846, 846, 846,
+ 846, 846, 846, 847, 699, 847, 847, 847, 847, 847,
+ 847, 847, 847, 847, 848, 698, 848, 848, 848, 848,
+
+ 848, 848, 848, 848, 848, 849, 697, 696, 849, 849,
+ 849, 850, 850, 694, 850, 850, 850, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 852, 693, 852, 852,
+ 852, 852, 852, 852, 852, 852, 852, 853, 853, 853,
+ 853, 853, 853, 853, 853, 853, 853, 853, 854, 692,
+ 854, 854, 854, 854, 854, 854, 854, 854, 854, 855,
+ 691, 690, 855, 855, 855, 856, 689, 688, 856, 857,
+ 687, 685, 857, 857, 857, 858, 858, 858, 684, 858,
+ 858, 858, 859, 859, 859, 683, 859, 859, 859, 860,
+ 681, 680, 679, 678, 860, 860, 860, 861, 677, 676,
+
+ 861, 861, 861, 862, 675, 673, 862, 862, 862, 863,
+ 672, 671, 863, 863, 863, 864, 864, 670, 864, 864,
+ 864, 865, 669, 668, 865, 865, 865, 866, 664, 657,
+ 866, 867, 656, 654, 867, 867, 867, 868, 653, 868,
+ 868, 868, 868, 868, 868, 868, 868, 868, 869, 651,
+ 869, 869, 869, 869, 869, 869, 869, 869, 869, 870,
+ 650, 649, 870, 871, 646, 645, 871, 871, 871, 872,
+ 644, 872, 872, 872, 872, 873, 873, 873, 874, 874,
+ 874, 874, 874, 874, 874, 875, 643, 875, 875, 875,
+ 875, 875, 875, 875, 875, 875, 876, 642, 876, 876,
+
+ 876, 876, 876, 876, 876, 876, 876, 877, 640, 639,
+ 877, 877, 877, 878, 638, 637, 878, 879, 879, 636,
+ 879, 879, 879, 880, 634, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 881, 881, 881, 633, 881, 881,
+ 881, 882, 882, 882, 632, 882, 882, 882, 883, 631,
+ 629, 883, 883, 883, 884, 628, 884, 884, 884, 884,
+ 884, 884, 884, 884, 884, 627, 626, 625, 624, 623,
+ 621, 620, 619, 615, 613, 612, 611, 606, 605, 604,
+ 599, 598, 597, 596, 595, 594, 593, 592, 591, 590,
+ 589, 588, 586, 584, 583, 581, 578, 577, 575, 574,
+
+ 573, 572, 571, 570, 569, 568, 566, 565, 564, 560,
+ 558, 557, 556, 555, 554, 553, 552, 551, 550, 549,
+ 548, 547, 545, 532, 531, 530, 529, 524, 523, 518,
+ 517, 516, 515, 514, 513, 511, 510, 509, 508, 507,
+ 506, 505, 503, 502, 501, 500, 499, 498, 497, 496,
+ 494, 493, 492, 491, 490, 489, 488, 487, 486, 485,
+ 483, 482, 481, 480, 478, 477, 476, 475, 471, 470,
+ 469, 468, 467, 466, 459, 458, 457, 456, 455, 454,
+ 437, 436, 418, 413, 412, 411, 403, 401, 400, 398,
+ 397, 396, 395, 394, 393, 392, 391, 390, 389, 388,
+
+ 387, 385, 383, 382, 381, 372, 371, 370, 369, 368,
+ 367, 366, 365, 364, 363, 361, 360, 359, 358, 357,
+ 356, 355, 354, 353, 352, 351, 350, 334, 333, 332,
+ 331, 329, 323, 322, 321, 319, 314, 299, 292, 282,
+ 267, 259, 258, 255, 254, 253, 252, 247, 246, 245,
+ 227, 225, 218, 217, 215, 209, 208, 200, 199, 198,
+ 196, 195, 191, 189, 188, 186, 185, 183, 173, 171,
+ 147, 140, 137, 128, 118, 111, 96, 93, 89, 87,
+ 85, 84, 83, 82, 79, 74, 67, 36, 34, 30,
+ 27, 25, 824, 824, 824, 824, 824, 824, 824, 824,
+
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 824
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[211] =
+static yyconst flex_int32_t yy_rule_can_match_eol[210] =
{ 0,
1, 0, 1, 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,
@@ -1396,13 +1394,13 @@
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, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 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, 1, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
-static yyconst flex_int16_t yy_rule_linenum[210] =
+static yyconst flex_int16_t yy_rule_linenum[209] =
{ 0,
226, 248, 250, 252, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 287, 288, 289, 290,
@@ -1410,23 +1408,23 @@
302, 303, 305, 310, 311, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 325, 326, 327, 328,
330, 331, 332, 333, 335, 336, 337, 338, 339, 341,
- 342, 343, 344, 345, 346, 347, 348, 349, 351, 352,
+ 342, 343, 344, 345, 346, 347, 348, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 371, 378, 379, 380,
+ 363, 364, 365, 366, 367, 370, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
- 391, 393, 394, 395, 396, 397, 398, 399, 400, 402,
- 406, 423, 428, 457, 505, 506, 507, 508, 510, 515,
- 527, 555, 556, 557, 558, 559, 561, 569, 620, 633,
- 655, 660, 665, 672, 673, 688, 693, 694, 699, 700,
- 701, 703, 719, 773, 801, 806, 811, 812, 813, 814,
- 819, 830, 831, 833, 835, 846, 860, 865, 866, 867,
- 868, 870, 885, 899, 928, 953, 955, 960, 970, 975,
- 993, 999, 1006, 1039, 1041, 1046, 1082, 1083, 1084, 1086,
- 1087, 1088, 1089, 1090, 1091, 1093, 1094, 1095, 1097, 1102,
- 1107, 1108, 1111, 1145, 1150, 1153, 1154, 1155, 1156, 1158,
+ 392, 393, 394, 395, 396, 397, 398, 399, 401, 405,
+ 422, 427, 456, 504, 505, 506, 507, 509, 514, 526,
+ 554, 555, 556, 557, 558, 560, 568, 619, 632, 654,
+ 659, 664, 671, 672, 687, 692, 693, 698, 699, 700,
+ 702, 718, 772, 800, 805, 810, 811, 812, 813, 818,
+ 829, 830, 832, 834, 845, 859, 864, 865, 866, 867,
+ 869, 884, 898, 927, 952, 954, 959, 969, 974, 992,
+ 998, 1005, 1038, 1040, 1045, 1081, 1082, 1083, 1085, 1086,
+ 1087, 1088, 1089, 1090, 1092, 1093, 1094, 1096, 1101, 1106,
+ 1107, 1110, 1144, 1149, 1152, 1153, 1154, 1155, 1157, 1162,
- 1163, 1164, 1165, 1166, 1167, 1169, 1174, 1176, 1178
+ 1163, 1164, 1165, 1166, 1168, 1173, 1175, 1177
} ;
/* The intent behind this definition is that it'll catch
@@ -1546,7 +1544,7 @@
/* The PASM state is an exclusive state, recognizing ONLY PASM tokens. */
-#line 1550 "pirlexer.c"
+#line 1548 "pirlexer.c"
#define INITIAL 0
#define MACROHEAD 1
@@ -1863,7 +1861,7 @@
-#line 1867 "pirlexer.c"
+#line 1865 "pirlexer.c"
yylval = yylval_param;
@@ -1928,13 +1926,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 >= 829 )
+ if ( yy_current_state >= 825 )
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 != 828 );
+ while ( yy_current_state != 824 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1965,13 +1963,13 @@
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 210 )
+ else if ( yy_act < 209 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 210 )
+ else if ( yy_act == 209 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 211 )
+ else if ( yy_act == 210 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -2345,251 +2343,246 @@
case 63:
YY_RULE_SETUP
#line 344 "pir.l"
-{ return TK_HLL_MAP; }
+{ return TK_INVOCANT; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 345 "pir.l"
-{ return TK_INVOCANT; }
+{ return TK_LEX; }
YY_BREAK
case 65:
YY_RULE_SETUP
#line 346 "pir.l"
-{ return TK_LEX; }
+{ return TK_LINE; }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 347 "pir.l"
-{ return TK_LINE; }
+{ return TK_LOADLIB; }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 348 "pir.l"
-{ return TK_LOADLIB; }
+{ return TK_LOCAL; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 349 "pir.l"
-{ return TK_LOCAL; }
+#line 350 "pir.l"
+{ return TK_METH_CALL; }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 351 "pir.l"
-{ return TK_METH_CALL; }
+{ return TK_NAMESPACE; }
YY_BREAK
case 70:
YY_RULE_SETUP
#line 352 "pir.l"
-{ return TK_NAMESPACE; }
+{ return TK_NCI_CALL; }
YY_BREAK
case 71:
YY_RULE_SETUP
#line 353 "pir.l"
-{ return TK_NCI_CALL; }
+{ return TK_PARAM; }
YY_BREAK
case 72:
YY_RULE_SETUP
#line 354 "pir.l"
-{ return TK_PARAM; }
+{ return TK_BEGIN_CALL; }
YY_BREAK
case 73:
YY_RULE_SETUP
#line 355 "pir.l"
-{ return TK_BEGIN_CALL; }
+{ return TK_BEGIN_RETURN; }
YY_BREAK
case 74:
YY_RULE_SETUP
#line 356 "pir.l"
-{ return TK_BEGIN_RETURN; }
+{ return TK_BEGIN_YIELD; }
YY_BREAK
case 75:
YY_RULE_SETUP
#line 357 "pir.l"
-{ return TK_BEGIN_YIELD; }
+{ return TK_CALL; }
YY_BREAK
case 76:
YY_RULE_SETUP
#line 358 "pir.l"
-{ return TK_CALL; }
+{ return TK_END_CALL; }
YY_BREAK
case 77:
YY_RULE_SETUP
#line 359 "pir.l"
-{ return TK_END_CALL; }
+{ return TK_END_RETURN; }
YY_BREAK
case 78:
YY_RULE_SETUP
#line 360 "pir.l"
-{ return TK_END_RETURN; }
+{ return TK_END_YIELD; }
YY_BREAK
case 79:
YY_RULE_SETUP
#line 361 "pir.l"
-{ return TK_END_YIELD; }
+{ return TK_GET_RESULT; }
YY_BREAK
case 80:
YY_RULE_SETUP
#line 362 "pir.l"
-{ return TK_GET_RESULT; }
+{ return TK_RETURN; }
YY_BREAK
case 81:
YY_RULE_SETUP
#line 363 "pir.l"
-{ return TK_RETURN; }
+{ return TK_SUB; }
YY_BREAK
case 82:
YY_RULE_SETUP
#line 364 "pir.l"
-{ return TK_SUB; }
+{ return TK_YIELD; }
YY_BREAK
case 83:
YY_RULE_SETUP
#line 365 "pir.l"
-{ return TK_YIELD; }
+{ return TK_SET_RETURN; }
YY_BREAK
case 84:
YY_RULE_SETUP
#line 366 "pir.l"
-{ return TK_SET_RETURN; }
+{ return TK_SET_YIELD; }
YY_BREAK
case 85:
YY_RULE_SETUP
#line 367 "pir.l"
-{ return TK_SET_YIELD; }
- YY_BREAK
-case 86:
-YY_RULE_SETUP
-#line 368 "pir.l"
{ return TK_TAILCALL; }
YY_BREAK
-case 87:
+case 86:
YY_RULE_SETUP
-#line 371 "pir.l"
+#line 370 "pir.l"
{ /* make sure these are not used outside macro defs */
yypirerror(yyscanner, yypirget_extra(yyscanner),
"cannot use '%s' outside of macro definitions", yytext);
}
YY_BREAK
+case 87:
+YY_RULE_SETUP
+#line 377 "pir.l"
+{ return TK_FLAG_ANON; }
+ YY_BREAK
case 88:
YY_RULE_SETUP
#line 378 "pir.l"
-{ return TK_FLAG_ANON; }
+{ return TK_FLAG_INIT; }
YY_BREAK
case 89:
YY_RULE_SETUP
#line 379 "pir.l"
-{ return TK_FLAG_INIT; }
+{ return TK_FLAG_LOAD; }
YY_BREAK
case 90:
YY_RULE_SETUP
#line 380 "pir.l"
-{ return TK_FLAG_LOAD; }
+{ return TK_FLAG_POSTCOMP; }
YY_BREAK
case 91:
YY_RULE_SETUP
#line 381 "pir.l"
-{ return TK_FLAG_POSTCOMP; }
+{ return TK_FLAG_IMMEDIATE; }
YY_BREAK
case 92:
YY_RULE_SETUP
#line 382 "pir.l"
-{ return TK_FLAG_IMMEDIATE; }
+{ return TK_FLAG_MAIN; }
YY_BREAK
case 93:
YY_RULE_SETUP
#line 383 "pir.l"
-{ return TK_FLAG_MAIN; }
+{ return TK_FLAG_METHOD; }
YY_BREAK
case 94:
YY_RULE_SETUP
#line 384 "pir.l"
-{ return TK_FLAG_METHOD; }
+{ return TK_FLAG_LEX; }
YY_BREAK
case 95:
YY_RULE_SETUP
#line 385 "pir.l"
-{ return TK_FLAG_LEX; }
+{ return TK_FLAG_OUTER; }
YY_BREAK
case 96:
YY_RULE_SETUP
#line 386 "pir.l"
-{ return TK_FLAG_OUTER; }
+{ return TK_FLAG_VTABLE; }
YY_BREAK
case 97:
YY_RULE_SETUP
#line 387 "pir.l"
-{ return TK_FLAG_VTABLE; }
+{ return TK_FLAG_MULTI; }
YY_BREAK
case 98:
YY_RULE_SETUP
#line 388 "pir.l"
-{ return TK_FLAG_MULTI; }
+{ return TK_FLAG_SUBID; }
YY_BREAK
case 99:
YY_RULE_SETUP
#line 389 "pir.l"
-{ return TK_FLAG_SUBID; }
+{ return TK_FLAG_INSTANCEOF; }
YY_BREAK
case 100:
YY_RULE_SETUP
#line 390 "pir.l"
-{ return TK_FLAG_INSTANCEOF; }
+{ return TK_FLAG_NSENTRY; }
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 391 "pir.l"
-{ return TK_FLAG_NSENTRY; }
+#line 392 "pir.l"
+{ return TK_FLAG_UNIQUE_REG; }
YY_BREAK
case 102:
YY_RULE_SETUP
#line 393 "pir.l"
-{ return TK_FLAG_UNIQUE_REG; }
+{ return TK_FLAG_OPTIONAL; }
YY_BREAK
case 103:
YY_RULE_SETUP
#line 394 "pir.l"
-{ return TK_FLAG_OPTIONAL; }
+{ return TK_FLAG_OPT_FLAG; }
YY_BREAK
case 104:
YY_RULE_SETUP
#line 395 "pir.l"
-{ return TK_FLAG_OPT_FLAG; }
+{ return TK_FLAG_SLURPY; }
YY_BREAK
case 105:
YY_RULE_SETUP
#line 396 "pir.l"
-{ return TK_FLAG_SLURPY; }
+{ return TK_FLAG_NAMED; }
YY_BREAK
case 106:
YY_RULE_SETUP
#line 397 "pir.l"
-{ return TK_FLAG_NAMED; }
+{ return TK_FLAG_FLAT; }
YY_BREAK
case 107:
YY_RULE_SETUP
#line 398 "pir.l"
-{ return TK_FLAG_FLAT; }
+{ return TK_FLAG_INVOCANT; }
YY_BREAK
case 108:
YY_RULE_SETUP
#line 399 "pir.l"
-{ return TK_FLAG_INVOCANT; }
- YY_BREAK
-case 109:
-YY_RULE_SETUP
-#line 400 "pir.l"
{ return TK_FLAG_LOOKAHEAD; }
YY_BREAK
-case 110:
+case 109:
YY_RULE_SETUP
-#line 402 "pir.l"
+#line 401 "pir.l"
{ yypirerror(yyscanner, yypirget_extra(yyscanner),
"unrecognized flag: '%s'", yytext);
}
YY_BREAK
-case 111:
+case 110:
YY_RULE_SETUP
-#line 406 "pir.l"
+#line 405 "pir.l"
{ /* XXX this is a bit hacky. First the string is unescaped, but that
* returns a STRING * object; that's not what we want at this point.
* So, convert it back to a C string, and return that. Later, that
@@ -2607,17 +2600,17 @@
return TK_STRINGC;
}
YY_BREAK
-case 112:
+case 111:
YY_RULE_SETUP
-#line 423 "pir.l"
+#line 422 "pir.l"
{ /* copy the string, remove the quotes. */
yylval->sval = dupstrn(yypirget_extra(yyscanner), yytext + 1, yyleng - 2);
return TK_STRINGC;
}
YY_BREAK
-case 113:
+case 112:
YY_RULE_SETUP
-#line 428 "pir.l"
+#line 427 "pir.l"
{ /* XXX these double-quoted strings are not unescaped (yet) */
/* parse yytext, which contains the charset, a ':', and the quoted string */
char *colon = strchr(yytext, ':');
@@ -2647,9 +2640,9 @@
return TK_USTRINGC;
}
YY_BREAK
-case 114:
+case 113:
YY_RULE_SETUP
-#line 457 "pir.l"
+#line 456 "pir.l"
{ /* XXX these double-quoted strings are not unescaped (yet) */
/* parse yytext, which contains the encoding, a ':', a charset,
* a ':', and the quoted string
@@ -2697,37 +2690,37 @@
}
YY_BREAK
+case 114:
+YY_RULE_SETUP
+#line 504 "pir.l"
+{ yylval->ival = atoi(yytext + 2); return TK_PREG; }
+ YY_BREAK
case 115:
YY_RULE_SETUP
#line 505 "pir.l"
-{ yylval->ival = atoi(yytext + 2); return TK_PREG; }
+{ yylval->ival = atoi(yytext + 2); return TK_SREG; }
YY_BREAK
case 116:
YY_RULE_SETUP
#line 506 "pir.l"
-{ yylval->ival = atoi(yytext + 2); return TK_SREG; }
+{ yylval->ival = atoi(yytext + 2); return TK_NREG; }
YY_BREAK
case 117:
YY_RULE_SETUP
#line 507 "pir.l"
-{ yylval->ival = atoi(yytext + 2); return TK_NREG; }
- YY_BREAK
-case 118:
-YY_RULE_SETUP
-#line 508 "pir.l"
{ yylval->ival = atoi(yytext + 2); return TK_IREG; }
YY_BREAK
-case 119:
+case 118:
YY_RULE_SETUP
-#line 510 "pir.l"
+#line 509 "pir.l"
{ /* make the label Id available in the parser. remove the ":" first. */
yylval->sval = dupstrn(yypirget_extra(yyscanner), yytext, yyleng - 1);
return TK_LABEL;
}
YY_BREAK
-case 120:
+case 119:
YY_RULE_SETUP
-#line 515 "pir.l"
+#line 514 "pir.l"
{ /* give a warning when using PASM registers as PIR identifiers */
lexer_state * const lexer = yypirget_extra(yyscanner);
@@ -2740,9 +2733,9 @@
return TK_IDENT;
}
YY_BREAK
-case 121:
+case 120:
YY_RULE_SETUP
-#line 527 "pir.l"
+#line 526 "pir.l"
{ /* identifier; can be a global (sub or const), local or parrot op */
lexer_state * const lexer = yypirget_extra(yyscanner);
constdecl * const c = find_global_constant(lexer, yytext);
@@ -2771,10 +2764,15 @@
return TK_IDENT;
}
YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 554 "pir.l"
+{ yylval->dval = atof(yytext); return TK_NUMC; }
+ YY_BREAK
case 122:
YY_RULE_SETUP
#line 555 "pir.l"
-{ yylval->dval = atof(yytext); return TK_NUMC; }
+{ yylval->ival = atoi(yytext); return TK_INTC; }
YY_BREAK
case 123:
YY_RULE_SETUP
@@ -2792,16 +2790,11 @@
{ yylval->ival = atoi(yytext); return TK_INTC; }
YY_BREAK
case 126:
-YY_RULE_SETUP
-#line 559 "pir.l"
-{ yylval->ival = atoi(yytext); return TK_INTC; }
- YY_BREAK
-case 127:
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
yyg->yy_c_buf_p = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 561 "pir.l"
+#line 560 "pir.l"
{ /* Make sure the dot is followed by a character that
* starts a method object. $ for registers,
* quotes for quoted strings, and letters for identifiers.
@@ -2810,10 +2803,10 @@
return '.';
}
YY_BREAK
-case 128:
-/* rule 128 can match eol */
+case 127:
+/* rule 127 can match eol */
YY_RULE_SETUP
-#line 569 "pir.l"
+#line 568 "pir.l"
{ yypirerror(yyscanner, yypirget_extra(yyscanner),
"no space allowed before a methodcall dot, "
"or space expected after the '.' operator");
@@ -2836,7 +2829,7 @@
case YY_STATE_EOF(SCANSTR):
-#line 591 "pir.l"
+#line 590 "pir.l"
{ /* switch back from .macro_const buffer to file. */
lexer_state * const lexer = yypirget_extra(yyscanner);
yy_pop_state(yyscanner);
@@ -2844,7 +2837,7 @@
}
YY_BREAK
case YY_STATE_EOF(SCANMACRO):
-#line 597 "pir.l"
+#line 596 "pir.l"
{ /* override the default <<EOF>> action; go back to normal state and
* switch back to the saved file.
*/
@@ -2868,9 +2861,9 @@
}
YY_BREAK
-case 129:
+case 128:
YY_RULE_SETUP
-#line 620 "pir.l"
+#line 619 "pir.l"
{ /* when scanning a macro body, the @ marker indicates the {IDENT} must
* be munged.
*/
@@ -2881,14 +2874,14 @@
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 629 "pir.l"
+#line 628 "pir.l"
{ /* end of file, stop scanning. */
yyterminate();
}
YY_BREAK
-case 130:
+case 129:
YY_RULE_SETUP
-#line 633 "pir.l"
+#line 632 "pir.l"
{ /* any character not covered in the rules above is an error. */
yypirerror(yyscanner, yypirget_extra(yyscanner),
"unexpected character: '%c'", yytext[0]);
@@ -2907,25 +2900,25 @@
/********************** .macro_const ****************************************/
-case 131:
+case 130:
YY_RULE_SETUP
-#line 655 "pir.l"
+#line 654 "pir.l"
{
yy_push_state(MACROCONST, yyscanner);
return TK_MACRO_CONST;
}
YY_BREAK
-case 132:
+case 131:
YY_RULE_SETUP
-#line 660 "pir.l"
+#line 659 "pir.l"
{
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_IDENT;
}
YY_BREAK
-case 133:
+case 132:
YY_RULE_SETUP
-#line 665 "pir.l"
+#line 664 "pir.l"
{
/* only these tokens can be macro constant values */
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
@@ -2933,21 +2926,21 @@
return TK_MACRO_CONST_VAL;
}
YY_BREAK
-case 134:
+case 133:
YY_RULE_SETUP
-#line 672 "pir.l"
+#line 671 "pir.l"
{ /* ignore whitespace */ }
YY_BREAK
-case 135:
+case 134:
YY_RULE_SETUP
-#line 673 "pir.l"
+#line 672 "pir.l"
{
yypirerror(yyscanner, yypirget_extra(yyscanner),
"unknown character: '%c'", yytext[0]);
}
YY_BREAK
case YY_STATE_EOF(MACROCONST):
-#line 677 "pir.l"
+#line 676 "pir.l"
{
yypirerror(yyscanner, yypirget_extra(yyscanner),
"read end of file during .macro_const definition");
@@ -2958,46 +2951,46 @@
/**************** macro header (.macro <ident> <parameters> ) ***************/
-case 136:
+case 135:
YY_RULE_SETUP
-#line 688 "pir.l"
+#line 687 "pir.l"
{ /* start a macro definition */
yy_push_state(MACROHEAD, yyscanner);
return TK_MACRO;
}
YY_BREAK
-case 137:
+case 136:
YY_RULE_SETUP
-#line 693 "pir.l"
+#line 692 "pir.l"
{ /* ignore whitespace */ }
YY_BREAK
-case 138:
+case 137:
YY_RULE_SETUP
-#line 694 "pir.l"
+#line 693 "pir.l"
{
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_IDENT;
}
YY_BREAK
-case 139:
+case 138:
YY_RULE_SETUP
-#line 699 "pir.l"
+#line 698 "pir.l"
{ return '('; }
YY_BREAK
-case 140:
+case 139:
YY_RULE_SETUP
-#line 700 "pir.l"
+#line 699 "pir.l"
{ return ')'; }
YY_BREAK
-case 141:
+case 140:
YY_RULE_SETUP
-#line 701 "pir.l"
+#line 700 "pir.l"
{ return ','; }
YY_BREAK
-case 142:
-/* rule 142 can match eol */
+case 141:
+/* rule 141 can match eol */
YY_RULE_SETUP
-#line 703 "pir.l"
+#line 702 "pir.l"
{ /* a set of continuous newlines yields a single newline token. */
yy_pop_state(yyscanner); /* remove MACROHEAD state */
yy_push_state(MACROBODY, yyscanner); /* enter MACROBODY state */
@@ -3013,9 +3006,9 @@
*/
-case 143:
+case 142:
YY_RULE_SETUP
-#line 719 "pir.l"
+#line 718 "pir.l"
{ /* .foo; it can be a macro, macro_local, or just $P0.foo(),
* but we need to check that.
*/
@@ -3070,9 +3063,9 @@
}
}
YY_BREAK
-case 144:
+case 143:
YY_RULE_SETUP
-#line 773 "pir.l"
+#line 772 "pir.l"
{ /* expand a .macro_const or parameter in argument list */
lexer_state * const lexer = yypirget_extra(yyscanner);
macro_def * const macro = find_macro(lexer->macros, yytext + 1);
@@ -3101,80 +3094,80 @@
yypirerror(yyscanner, lexer, "'%s' is not a macro", yytext + 1);
}
YY_BREAK
-case 145:
+case 144:
YY_RULE_SETUP
-#line 801 "pir.l"
+#line 800 "pir.l"
{
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_MACRO_ARG_IDENT;
}
YY_BREAK
-case 146:
+case 145:
YY_RULE_SETUP
-#line 806 "pir.l"
+#line 805 "pir.l"
{
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_MACRO_ARG_OTHER;
}
YY_BREAK
+case 146:
+YY_RULE_SETUP
+#line 810 "pir.l"
+{ /* ignore whitespace */ }
+ YY_BREAK
case 147:
YY_RULE_SETUP
#line 811 "pir.l"
-{ /* ignore whitespace */ }
+{ return ','; }
YY_BREAK
case 148:
YY_RULE_SETUP
#line 812 "pir.l"
-{ return ','; }
+{ return '('; }
YY_BREAK
case 149:
YY_RULE_SETUP
#line 813 "pir.l"
-{ return '('; }
- YY_BREAK
-case 150:
-YY_RULE_SETUP
-#line 814 "pir.l"
{
yy_pop_state(yyscanner); /* leave MACROEXPAND state */
return ')';
}
YY_BREAK
-case 151:
+case 150:
YY_RULE_SETUP
-#line 819 "pir.l"
+#line 818 "pir.l"
{
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_MACRO_ARG_OTHER;
}
YY_BREAK
case YY_STATE_EOF(STRINGEXPAND):
-#line 824 "pir.l"
+#line 823 "pir.l"
{
lexer_state * const lexer = yypirget_extra(yyscanner);
yy_pop_state(yyscanner);
yypir_switch_to_buffer(lexer->buffer,yyscanner);
}
YY_BREAK
-case 152:
+case 151:
YY_RULE_SETUP
-#line 830 "pir.l"
+#line 829 "pir.l"
{ return '{'; }
YY_BREAK
-case 153:
+case 152:
YY_RULE_SETUP
-#line 831 "pir.l"
+#line 830 "pir.l"
{ return '}'; }
YY_BREAK
-case 154:
-/* rule 154 can match eol */
+case 153:
+/* rule 153 can match eol */
YY_RULE_SETUP
-#line 833 "pir.l"
+#line 832 "pir.l"
{ yylval->sval = "\n"; return TK_NL; }
YY_BREAK
-case 155:
+case 154:
YY_RULE_SETUP
-#line 835 "pir.l"
+#line 834 "pir.l"
{ yypirerror(yyscanner, yypirget_extra(yyscanner),
"unknown character in macro expansion: %c", yytext[0]);
}
@@ -3184,9 +3177,9 @@
/******************************** .macro_local *****************************/
-case 156:
+case 155:
YY_RULE_SETUP
-#line 846 "pir.l"
+#line 845 "pir.l"
{ /* give a warning if the right flag is set */
/*
lexer_state * const lexer = yypirget_extra(yyscanner);
@@ -3200,37 +3193,37 @@
*/
}
YY_BREAK
-case 157:
+case 156:
YY_RULE_SETUP
-#line 860 "pir.l"
+#line 859 "pir.l"
{
yy_push_state(MACROLOCAL, yyscanner);
return TK_MACRO_LOCAL;
}
YY_BREAK
+case 157:
+YY_RULE_SETUP
+#line 864 "pir.l"
+{ return TK_INT; }
+ YY_BREAK
case 158:
YY_RULE_SETUP
#line 865 "pir.l"
-{ return TK_INT; }
+{ return TK_PMC; }
YY_BREAK
case 159:
YY_RULE_SETUP
#line 866 "pir.l"
-{ return TK_PMC; }
+{ return TK_NUM; }
YY_BREAK
case 160:
YY_RULE_SETUP
#line 867 "pir.l"
-{ return TK_NUM; }
- YY_BREAK
-case 161:
-YY_RULE_SETUP
-#line 868 "pir.l"
{ return TK_STRING; }
YY_BREAK
-case 162:
+case 161:
YY_RULE_SETUP
-#line 870 "pir.l"
+#line 869 "pir.l"
{ /* normal .macro_local */
lexer_state * const lexer = yypirget_extra(yyscanner);
/* reserve space for {IDENT}, the @ marker and the NULL char. */
@@ -3246,9 +3239,9 @@
return TK_MACRO_LOCAL_ID;
}
YY_BREAK
-case 163:
+case 162:
YY_RULE_SETUP
-#line 885 "pir.l"
+#line 884 "pir.l"
{ /* declare a .macro_local based on a parameter */
lexer_state * const lexer = yypirget_extra(yyscanner);
@@ -3263,9 +3256,9 @@
}
YY_BREAK
-case 164:
+case 163:
YY_RULE_SETUP
-#line 899 "pir.l"
+#line 898 "pir.l"
{ /* .$foo */
lexer_state * const lexer = yypirget_extra(yyscanner);
macro_table * const table = peek_macro_table(lexer);
@@ -3295,9 +3288,9 @@
}
YY_BREAK
-case 165:
+case 164:
YY_RULE_SETUP
-#line 928 "pir.l"
+#line 927 "pir.l"
{ /* expanding a .macro_local using a macro parameter value */
lexer_state * const lexer = yypirget_extra(yyscanner);
char const * const paramname = dupstrn(lexer, yytext + 1, yyleng - 2);
@@ -3323,23 +3316,23 @@
return TK_IDENT;
}
YY_BREAK
-case 166:
+case 165:
YY_RULE_SETUP
-#line 953 "pir.l"
+#line 952 "pir.l"
{ /* ignore whitespace */ }
YY_BREAK
-case 167:
-/* rule 167 can match eol */
+case 166:
+/* rule 166 can match eol */
YY_RULE_SETUP
-#line 955 "pir.l"
+#line 954 "pir.l"
{ /* newline after .macro_local <type> <ident> line */
yy_pop_state(yyscanner);
return TK_NL;
}
YY_BREAK
-case 168:
+case 167:
YY_RULE_SETUP
-#line 960 "pir.l"
+#line 959 "pir.l"
{ /* this state is only used for declaring .macro_locals */
yypirerror(yyscanner, yypirget_extra(yyscanner),
"unknown character '%c' when declaring .macro_local", yytext[0]);
@@ -3350,17 +3343,17 @@
/****************************** .macro_label ********************************/
-case 169:
+case 168:
YY_RULE_SETUP
-#line 970 "pir.l"
+#line 969 "pir.l"
{
yy_push_state(MACROLABEL, yyscanner);
return TK_MACRO_LABEL;
}
YY_BREAK
-case 170:
+case 169:
YY_RULE_SETUP
-#line 975 "pir.l"
+#line 974 "pir.l"
{ /* if the "$" is there, it's a macro label using a macro
* parameter's value; otherwise it's a normal macro label
*/
@@ -3378,18 +3371,18 @@
return TK_MACRO_LABEL_ID;
}
YY_BREAK
-case 171:
-/* rule 171 can match eol */
+case 170:
+/* rule 170 can match eol */
YY_RULE_SETUP
-#line 993 "pir.l"
+#line 992 "pir.l"
{ /* the newline character after a ".macro_label $foo:" declaration */
yy_pop_state(yyscanner); /* leave MACROLABEL state */
return TK_NL;
}
YY_BREAK
-case 172:
+case 171:
YY_RULE_SETUP
-#line 999 "pir.l"
+#line 998 "pir.l"
{ /* scan a label when expanding a buffer; declared as .macro_label */
lexer_state * const lexer = yypirget_extra(yyscanner);
char const * const label = dupstrn(lexer, yytext, yyleng - 2);
@@ -3397,9 +3390,9 @@
return TK_LABEL;
}
YY_BREAK
-case 173:
+case 172:
YY_RULE_SETUP
-#line 1006 "pir.l"
+#line 1005 "pir.l"
{ /* scan a label when expanding macro; was a macro parameter */
lexer_state * const lexer = yypirget_extra(yyscanner);
char const * const paramname = dupstrn(lexer, yytext + 1, yyleng - 3);
@@ -3431,29 +3424,29 @@
/*************************** macro body scanning (storing) ****************************/
-case 174:
-/* rule 174 can match eol */
+case 173:
+/* rule 173 can match eol */
YY_RULE_SETUP
-#line 1039 "pir.l"
+#line 1038 "pir.l"
{ store_macro_char(CURRENT_MACRO(yypirget_extra(yyscanner)), '\n'); }
YY_BREAK
-case 175:
+case 174:
YY_RULE_SETUP
-#line 1041 "pir.l"
+#line 1040 "pir.l"
{
yy_pop_state(yyscanner); /* leave MACROBODY state */
return TK_ENDM;
}
YY_BREAK
-case 176:
+case 175:
YY_RULE_SETUP
-#line 1046 "pir.l"
+#line 1045 "pir.l"
{ /* store everything else */
store_macro_char(CURRENT_MACRO(yypirget_extra(yyscanner)), yytext[0]);
}
YY_BREAK
case YY_STATE_EOF(MACROBODY):
-#line 1050 "pir.l"
+#line 1049 "pir.l"
{ /* catch run-away macro bodys */
yypirerror(yyscanner, yypirget_extra(yyscanner),
"read end of file while reading macro body");
@@ -3483,95 +3476,95 @@
* This becomes unmanageable
*/
+case 176:
+YY_RULE_SETUP
+#line 1081 "pir.l"
+{ return ','; }
+ YY_BREAK
case 177:
YY_RULE_SETUP
#line 1082 "pir.l"
-{ return ','; }
+{ return '['; }
YY_BREAK
case 178:
YY_RULE_SETUP
#line 1083 "pir.l"
-{ return '['; }
+{ return ']'; }
YY_BREAK
case 179:
YY_RULE_SETUP
-#line 1084 "pir.l"
-{ return ']'; }
+#line 1085 "pir.l"
+{ return TK_FLAG_MAIN; }
YY_BREAK
case 180:
YY_RULE_SETUP
#line 1086 "pir.l"
-{ return TK_FLAG_MAIN; }
+{ return TK_FLAG_LOAD; }
YY_BREAK
case 181:
YY_RULE_SETUP
#line 1087 "pir.l"
-{ return TK_FLAG_LOAD; }
+{ return TK_FLAG_INIT; }
YY_BREAK
case 182:
YY_RULE_SETUP
#line 1088 "pir.l"
-{ return TK_FLAG_INIT; }
+{ return TK_FLAG_ANON; }
YY_BREAK
case 183:
YY_RULE_SETUP
#line 1089 "pir.l"
-{ return TK_FLAG_ANON; }
+{ return TK_FLAG_POSTCOMP; }
YY_BREAK
case 184:
YY_RULE_SETUP
#line 1090 "pir.l"
-{ return TK_FLAG_POSTCOMP; }
+{ return TK_FLAG_IMMEDIATE; }
YY_BREAK
case 185:
YY_RULE_SETUP
-#line 1091 "pir.l"
-{ return TK_FLAG_IMMEDIATE; }
+#line 1092 "pir.l"
+{ return TK_PCC_SUB; }
YY_BREAK
case 186:
YY_RULE_SETUP
#line 1093 "pir.l"
-{ return TK_PCC_SUB; }
+{ return TK_LEX; }
YY_BREAK
case 187:
YY_RULE_SETUP
#line 1094 "pir.l"
-{ return TK_LEX; }
- YY_BREAK
-case 188:
-YY_RULE_SETUP
-#line 1095 "pir.l"
{ return TK_NAMESPACE; }
YY_BREAK
-case 189:
+case 188:
YY_RULE_SETUP
-#line 1097 "pir.l"
+#line 1096 "pir.l"
{
yy_push_state(MACROHEAD, yyscanner);
return TK_MACRO;
}
YY_BREAK
-case 190:
+case 189:
YY_RULE_SETUP
-#line 1102 "pir.l"
+#line 1101 "pir.l"
{
yy_push_state(MACROCONST, yyscanner);
return TK_MACRO_CONST;
}
YY_BREAK
-case 191:
+case 190:
YY_RULE_SETUP
-#line 1107 "pir.l"
+#line 1106 "pir.l"
{ return TK_LINE; }
YY_BREAK
-case 192:
+case 191:
YY_RULE_SETUP
-#line 1108 "pir.l"
+#line 1107 "pir.l"
{ return TK_FILE; }
YY_BREAK
-case 193:
+case 192:
YY_RULE_SETUP
-#line 1111 "pir.l"
+#line 1110 "pir.l"
{ /* macro expansion in PASM mode. */
lexer_state * const lexer = yypirget_extra(yyscanner);
macro_def * const macro = find_macro(lexer->macros, yytext + 1);
@@ -3606,53 +3599,58 @@
}
}
YY_BREAK
-case 194:
+case 193:
YY_RULE_SETUP
-#line 1145 "pir.l"
+#line 1144 "pir.l"
{ /* a label in PASM */
yylval->sval = dupstrn(yypirget_extra(yyscanner), yytext, yyleng - 1);
return TK_LABEL;
}
YY_BREAK
-case 195:
+case 194:
YY_RULE_SETUP
-#line 1150 "pir.l"
+#line 1149 "pir.l"
{ yypirerror(yyscanner, yypirget_extra(yyscanner),
"symbolic registers are not allowed in PASM mode");
}
YY_BREAK
+case 195:
+YY_RULE_SETUP
+#line 1152 "pir.l"
+{ yylval->ival = atoi(yytext + 1); return TK_PREG; }
+ YY_BREAK
case 196:
YY_RULE_SETUP
#line 1153 "pir.l"
-{ yylval->ival = atoi(yytext + 1); return TK_PREG; }
+{ yylval->ival = atoi(yytext + 1); return TK_NREG; }
YY_BREAK
case 197:
YY_RULE_SETUP
#line 1154 "pir.l"
-{ yylval->ival = atoi(yytext + 1); return TK_NREG; }
+{ yylval->ival = atoi(yytext + 1); return TK_IREG; }
YY_BREAK
case 198:
YY_RULE_SETUP
#line 1155 "pir.l"
-{ yylval->ival = atoi(yytext + 1); return TK_IREG; }
- YY_BREAK
-case 199:
-YY_RULE_SETUP
-#line 1156 "pir.l"
{ yylval->ival = atoi(yytext + 1); return TK_SREG; }
YY_BREAK
-case 200:
+case 199:
YY_RULE_SETUP
-#line 1158 "pir.l"
+#line 1157 "pir.l"
{ /* can be a parrot op or a label; the check is done in the parser. */
yylval->sval = dupstr(yypirget_extra(yyscanner), yytext);
return TK_IDENT;
}
YY_BREAK
+case 200:
+YY_RULE_SETUP
+#line 1162 "pir.l"
+{ yylval->dval = atof(yytext); return TK_NUMC; }
+ YY_BREAK
case 201:
YY_RULE_SETUP
#line 1163 "pir.l"
-{ yylval->dval = atof(yytext); return TK_NUMC; }
+{ yylval->ival = atoi(yytext); return TK_INTC; }
YY_BREAK
case 202:
YY_RULE_SETUP
@@ -3671,45 +3669,40 @@
YY_BREAK
case 205:
YY_RULE_SETUP
-#line 1167 "pir.l"
-{ yylval->ival = atoi(yytext); return TK_INTC; }
- YY_BREAK
-case 206:
-YY_RULE_SETUP
-#line 1169 "pir.l"
+#line 1168 "pir.l"
{ /* copy the string, remove the quotes. */
yylval->sval = dupstrn(yypirget_extra(yyscanner), yytext + 1, yyleng - 2);
return TK_STRINGC;
}
YY_BREAK
-case 207:
+case 206:
YY_RULE_SETUP
-#line 1174 "pir.l"
+#line 1173 "pir.l"
{ /* ignore whitespace */ }
YY_BREAK
-case 208:
-/* rule 208 can match eol */
+case 207:
+/* rule 207 can match eol */
YY_RULE_SETUP
-#line 1176 "pir.l"
+#line 1175 "pir.l"
{ return TK_NL; }
YY_BREAK
-case 209:
+case 208:
YY_RULE_SETUP
-#line 1178 "pir.l"
+#line 1177 "pir.l"
{ yypirerror(yyscanner, yypirget_extra(yyscanner),
"unrecognized character: %c", yytext[0]);
}
YY_BREAK
case YY_STATE_EOF(PASM):
-#line 1181 "pir.l"
+#line 1180 "pir.l"
{ yyterminate(); }
YY_BREAK
-case 210:
+case 209:
YY_RULE_SETUP
-#line 1183 "pir.l"
+#line 1182 "pir.l"
ECHO;
YY_BREAK
-#line 3713 "pirlexer.c"
+#line 3706 "pirlexer.c"
case YY_STATE_EOF(MACROHEAD):
case YY_STATE_EOF(MACROLOCAL):
case YY_STATE_EOF(MACROLABEL):
@@ -4029,7 +4022,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 >= 829 )
+ if ( yy_current_state >= 825 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4063,11 +4056,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 >= 829 )
+ if ( yy_current_state >= 825 )
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 == 828);
+ yy_is_jam = (yy_current_state == 824);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -5010,7 +5003,7 @@
/* %ok-for-header */
-#line 1183 "pir.l"
+#line 1182 "pir.l"
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirlexer.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirlexer.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirlexer.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -501,7 +501,7 @@
#undef YY_DECL
#endif
-#line 1183 "pir.l"
+#line 1182 "pir.l"
#line 508 "pirlexer.h"
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirmacro.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirmacro.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirmacro.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdarg.h>
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirmacro.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirmacro.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirmacro.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRMACRO_H_GUARD
#define PARROT_PIR_PIRMACRO_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirop.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirop.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirop.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2009, The Perl Foundation.
+ * Copyright (C) 2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirop.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirop.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirop.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2009, The Perl Foundation.
+ * Copyright (C) 2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIROP_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirparser.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirparser.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirparser.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -75,242 +75,240 @@
know about them. */
enum yytokentype {
TK_HLL = 258,
- TK_HLL_MAP = 259,
- TK_LOADLIB = 260,
- TK_SUB = 261,
- TK_END = 262,
- TK_PARAM = 263,
- TK_LEX = 264,
- TK_LINE = 265,
- TK_FILE = 266,
- TK_LOCAL = 267,
- TK_NAMESPACE = 268,
- TK_INVOCANT = 269,
- TK_METH_CALL = 270,
- TK_GLOBALCONST = 271,
- TK_CONST = 272,
- TK_RETURN = 273,
- TK_YIELD = 274,
- TK_SET_YIELD = 275,
- TK_SET_RETURN = 276,
- TK_BEGIN_YIELD = 277,
- TK_END_YIELD = 278,
- TK_BEGIN_RETURN = 279,
- TK_END_RETURN = 280,
- TK_BEGIN_CALL = 281,
- TK_END_CALL = 282,
- TK_GET_RESULTS = 283,
- TK_CALL = 284,
- TK_SET_ARG = 285,
- TK_GET_RESULT = 286,
- TK_NCI_CALL = 287,
- TK_TAILCALL = 288,
- TK_ANNOTATE = 289,
- TK_NL = 290,
- TK_LABEL = 291,
- TK_IDENT = 292,
- TK_INT = 293,
- TK_NUM = 294,
- TK_PMC = 295,
- TK_STRING = 296,
- TK_IF = 297,
- TK_UNLESS = 298,
- TK_NULL = 299,
- TK_GOTO = 300,
- TK_STRINGC = 301,
- TK_USTRINGC = 302,
- TK_INTC = 303,
- TK_NUMC = 304,
- TK_PREG = 305,
- TK_NREG = 306,
- TK_SREG = 307,
- TK_IREG = 308,
- TK_ARROW = 309,
- TK_NE = 310,
- TK_EQ = 311,
- TK_LT = 312,
- TK_LE = 313,
- TK_GT = 314,
- TK_GE = 315,
- TK_USHIFT = 316,
- TK_RSHIFT = 317,
- TK_LSHIFT = 318,
- TK_FDIV = 319,
- TK_OR = 320,
- TK_AND = 321,
- TK_XOR = 322,
- TK_CONC = 323,
- TK_ASSIGN_USHIFT = 324,
- TK_ASSIGN_RSHIFT = 325,
- TK_ASSIGN_LSHIFT = 326,
- TK_ASSIGN_INC = 327,
- TK_ASSIGN_DEC = 328,
- TK_ASSIGN_MUL = 329,
- TK_ASSIGN_MOD = 330,
- TK_ASSIGN_POW = 331,
- TK_ASSIGN_DIV = 332,
- TK_ASSIGN_BOR = 333,
- TK_ASSIGN_BAND = 334,
- TK_ASSIGN_FDIV = 335,
- TK_ASSIGN_BNOT = 336,
- TK_ASSIGN_CONC = 337,
- TK_FLAG_INIT = 338,
- TK_FLAG_LOAD = 339,
- TK_FLAG_MAIN = 340,
- TK_FLAG_ANON = 341,
- TK_FLAG_METHOD = 342,
- TK_FLAG_OUTER = 343,
- TK_FLAG_VTABLE = 344,
- TK_FLAG_LEX = 345,
- TK_FLAG_MULTI = 346,
- TK_FLAG_POSTCOMP = 347,
- TK_FLAG_IMMEDIATE = 348,
- TK_FLAG_SUBID = 349,
- TK_FLAG_INSTANCEOF = 350,
- TK_FLAG_NSENTRY = 351,
- TK_FLAG_UNIQUE_REG = 352,
- TK_FLAG_NAMED = 353,
- TK_FLAG_SLURPY = 354,
- TK_FLAG_FLAT = 355,
- TK_FLAG_OPTIONAL = 356,
- TK_FLAG_OPT_FLAG = 357,
- TK_FLAG_INVOCANT = 358,
- TK_FLAG_LOOKAHEAD = 359,
- TK_MACRO = 360,
- TK_ENDM = 361,
- TK_MACRO_LOCAL = 362,
- TK_MACRO_LABEL = 363,
- TK_MACRO_CONST = 364,
- TK_MACRO_LABEL_ID = 365,
- TK_MACRO_LOCAL_ID = 366,
- TK_MACRO_IDENT = 367,
- TK_MACRO_ARG_IDENT = 368,
- TK_MACRO_ARG_OTHER = 369,
- TK_MACRO_CONST_VAL = 370,
- TK_PASM_MARKER_START = 371,
- TK_PIR_MARKER_START = 372,
- TK_PCC_SUB = 373,
- TK_PARROT_OP = 374
+ TK_LOADLIB = 259,
+ TK_SUB = 260,
+ TK_END = 261,
+ TK_PARAM = 262,
+ TK_LEX = 263,
+ TK_LINE = 264,
+ TK_FILE = 265,
+ TK_LOCAL = 266,
+ TK_NAMESPACE = 267,
+ TK_INVOCANT = 268,
+ TK_METH_CALL = 269,
+ TK_GLOBALCONST = 270,
+ TK_CONST = 271,
+ TK_RETURN = 272,
+ TK_YIELD = 273,
+ TK_SET_YIELD = 274,
+ TK_SET_RETURN = 275,
+ TK_BEGIN_YIELD = 276,
+ TK_END_YIELD = 277,
+ TK_BEGIN_RETURN = 278,
+ TK_END_RETURN = 279,
+ TK_BEGIN_CALL = 280,
+ TK_END_CALL = 281,
+ TK_GET_RESULTS = 282,
+ TK_CALL = 283,
+ TK_SET_ARG = 284,
+ TK_GET_RESULT = 285,
+ TK_NCI_CALL = 286,
+ TK_TAILCALL = 287,
+ TK_ANNOTATE = 288,
+ TK_NL = 289,
+ TK_LABEL = 290,
+ TK_IDENT = 291,
+ TK_INT = 292,
+ TK_NUM = 293,
+ TK_PMC = 294,
+ TK_STRING = 295,
+ TK_IF = 296,
+ TK_UNLESS = 297,
+ TK_NULL = 298,
+ TK_GOTO = 299,
+ TK_STRINGC = 300,
+ TK_USTRINGC = 301,
+ TK_INTC = 302,
+ TK_NUMC = 303,
+ TK_PREG = 304,
+ TK_NREG = 305,
+ TK_SREG = 306,
+ TK_IREG = 307,
+ TK_ARROW = 308,
+ TK_NE = 309,
+ TK_EQ = 310,
+ TK_LT = 311,
+ TK_LE = 312,
+ TK_GT = 313,
+ TK_GE = 314,
+ TK_USHIFT = 315,
+ TK_RSHIFT = 316,
+ TK_LSHIFT = 317,
+ TK_FDIV = 318,
+ TK_OR = 319,
+ TK_AND = 320,
+ TK_XOR = 321,
+ TK_CONC = 322,
+ TK_ASSIGN_USHIFT = 323,
+ TK_ASSIGN_RSHIFT = 324,
+ TK_ASSIGN_LSHIFT = 325,
+ TK_ASSIGN_INC = 326,
+ TK_ASSIGN_DEC = 327,
+ TK_ASSIGN_MUL = 328,
+ TK_ASSIGN_MOD = 329,
+ TK_ASSIGN_POW = 330,
+ TK_ASSIGN_DIV = 331,
+ TK_ASSIGN_BOR = 332,
+ TK_ASSIGN_BAND = 333,
+ TK_ASSIGN_FDIV = 334,
+ TK_ASSIGN_BNOT = 335,
+ TK_ASSIGN_CONC = 336,
+ TK_FLAG_INIT = 337,
+ TK_FLAG_LOAD = 338,
+ TK_FLAG_MAIN = 339,
+ TK_FLAG_ANON = 340,
+ TK_FLAG_METHOD = 341,
+ TK_FLAG_OUTER = 342,
+ TK_FLAG_VTABLE = 343,
+ TK_FLAG_LEX = 344,
+ TK_FLAG_MULTI = 345,
+ TK_FLAG_POSTCOMP = 346,
+ TK_FLAG_IMMEDIATE = 347,
+ TK_FLAG_SUBID = 348,
+ TK_FLAG_INSTANCEOF = 349,
+ TK_FLAG_NSENTRY = 350,
+ TK_FLAG_UNIQUE_REG = 351,
+ TK_FLAG_NAMED = 352,
+ TK_FLAG_SLURPY = 353,
+ TK_FLAG_FLAT = 354,
+ TK_FLAG_OPTIONAL = 355,
+ TK_FLAG_OPT_FLAG = 356,
+ TK_FLAG_INVOCANT = 357,
+ TK_FLAG_LOOKAHEAD = 358,
+ TK_MACRO = 359,
+ TK_ENDM = 360,
+ TK_MACRO_LOCAL = 361,
+ TK_MACRO_LABEL = 362,
+ TK_MACRO_CONST = 363,
+ TK_MACRO_LABEL_ID = 364,
+ TK_MACRO_LOCAL_ID = 365,
+ TK_MACRO_IDENT = 366,
+ TK_MACRO_ARG_IDENT = 367,
+ TK_MACRO_ARG_OTHER = 368,
+ TK_MACRO_CONST_VAL = 369,
+ TK_PASM_MARKER_START = 370,
+ TK_PIR_MARKER_START = 371,
+ TK_PCC_SUB = 372,
+ TK_PARROT_OP = 373
};
#endif
/* Tokens. */
#define TK_HLL 258
-#define TK_HLL_MAP 259
-#define TK_LOADLIB 260
-#define TK_SUB 261
-#define TK_END 262
-#define TK_PARAM 263
-#define TK_LEX 264
-#define TK_LINE 265
-#define TK_FILE 266
-#define TK_LOCAL 267
-#define TK_NAMESPACE 268
-#define TK_INVOCANT 269
-#define TK_METH_CALL 270
-#define TK_GLOBALCONST 271
-#define TK_CONST 272
-#define TK_RETURN 273
-#define TK_YIELD 274
-#define TK_SET_YIELD 275
-#define TK_SET_RETURN 276
-#define TK_BEGIN_YIELD 277
-#define TK_END_YIELD 278
-#define TK_BEGIN_RETURN 279
-#define TK_END_RETURN 280
-#define TK_BEGIN_CALL 281
-#define TK_END_CALL 282
-#define TK_GET_RESULTS 283
-#define TK_CALL 284
-#define TK_SET_ARG 285
-#define TK_GET_RESULT 286
-#define TK_NCI_CALL 287
-#define TK_TAILCALL 288
-#define TK_ANNOTATE 289
-#define TK_NL 290
-#define TK_LABEL 291
-#define TK_IDENT 292
-#define TK_INT 293
-#define TK_NUM 294
-#define TK_PMC 295
-#define TK_STRING 296
-#define TK_IF 297
-#define TK_UNLESS 298
-#define TK_NULL 299
-#define TK_GOTO 300
-#define TK_STRINGC 301
-#define TK_USTRINGC 302
-#define TK_INTC 303
-#define TK_NUMC 304
-#define TK_PREG 305
-#define TK_NREG 306
-#define TK_SREG 307
-#define TK_IREG 308
-#define TK_ARROW 309
-#define TK_NE 310
-#define TK_EQ 311
-#define TK_LT 312
-#define TK_LE 313
-#define TK_GT 314
-#define TK_GE 315
-#define TK_USHIFT 316
-#define TK_RSHIFT 317
-#define TK_LSHIFT 318
-#define TK_FDIV 319
-#define TK_OR 320
-#define TK_AND 321
-#define TK_XOR 322
-#define TK_CONC 323
-#define TK_ASSIGN_USHIFT 324
-#define TK_ASSIGN_RSHIFT 325
-#define TK_ASSIGN_LSHIFT 326
-#define TK_ASSIGN_INC 327
-#define TK_ASSIGN_DEC 328
-#define TK_ASSIGN_MUL 329
-#define TK_ASSIGN_MOD 330
-#define TK_ASSIGN_POW 331
-#define TK_ASSIGN_DIV 332
-#define TK_ASSIGN_BOR 333
-#define TK_ASSIGN_BAND 334
-#define TK_ASSIGN_FDIV 335
-#define TK_ASSIGN_BNOT 336
-#define TK_ASSIGN_CONC 337
-#define TK_FLAG_INIT 338
-#define TK_FLAG_LOAD 339
-#define TK_FLAG_MAIN 340
-#define TK_FLAG_ANON 341
-#define TK_FLAG_METHOD 342
-#define TK_FLAG_OUTER 343
-#define TK_FLAG_VTABLE 344
-#define TK_FLAG_LEX 345
-#define TK_FLAG_MULTI 346
-#define TK_FLAG_POSTCOMP 347
-#define TK_FLAG_IMMEDIATE 348
-#define TK_FLAG_SUBID 349
-#define TK_FLAG_INSTANCEOF 350
-#define TK_FLAG_NSENTRY 351
-#define TK_FLAG_UNIQUE_REG 352
-#define TK_FLAG_NAMED 353
-#define TK_FLAG_SLURPY 354
-#define TK_FLAG_FLAT 355
-#define TK_FLAG_OPTIONAL 356
-#define TK_FLAG_OPT_FLAG 357
-#define TK_FLAG_INVOCANT 358
-#define TK_FLAG_LOOKAHEAD 359
-#define TK_MACRO 360
-#define TK_ENDM 361
-#define TK_MACRO_LOCAL 362
-#define TK_MACRO_LABEL 363
-#define TK_MACRO_CONST 364
-#define TK_MACRO_LABEL_ID 365
-#define TK_MACRO_LOCAL_ID 366
-#define TK_MACRO_IDENT 367
-#define TK_MACRO_ARG_IDENT 368
-#define TK_MACRO_ARG_OTHER 369
-#define TK_MACRO_CONST_VAL 370
-#define TK_PASM_MARKER_START 371
-#define TK_PIR_MARKER_START 372
-#define TK_PCC_SUB 373
-#define TK_PARROT_OP 374
+#define TK_LOADLIB 259
+#define TK_SUB 260
+#define TK_END 261
+#define TK_PARAM 262
+#define TK_LEX 263
+#define TK_LINE 264
+#define TK_FILE 265
+#define TK_LOCAL 266
+#define TK_NAMESPACE 267
+#define TK_INVOCANT 268
+#define TK_METH_CALL 269
+#define TK_GLOBALCONST 270
+#define TK_CONST 271
+#define TK_RETURN 272
+#define TK_YIELD 273
+#define TK_SET_YIELD 274
+#define TK_SET_RETURN 275
+#define TK_BEGIN_YIELD 276
+#define TK_END_YIELD 277
+#define TK_BEGIN_RETURN 278
+#define TK_END_RETURN 279
+#define TK_BEGIN_CALL 280
+#define TK_END_CALL 281
+#define TK_GET_RESULTS 282
+#define TK_CALL 283
+#define TK_SET_ARG 284
+#define TK_GET_RESULT 285
+#define TK_NCI_CALL 286
+#define TK_TAILCALL 287
+#define TK_ANNOTATE 288
+#define TK_NL 289
+#define TK_LABEL 290
+#define TK_IDENT 291
+#define TK_INT 292
+#define TK_NUM 293
+#define TK_PMC 294
+#define TK_STRING 295
+#define TK_IF 296
+#define TK_UNLESS 297
+#define TK_NULL 298
+#define TK_GOTO 299
+#define TK_STRINGC 300
+#define TK_USTRINGC 301
+#define TK_INTC 302
+#define TK_NUMC 303
+#define TK_PREG 304
+#define TK_NREG 305
+#define TK_SREG 306
+#define TK_IREG 307
+#define TK_ARROW 308
+#define TK_NE 309
+#define TK_EQ 310
+#define TK_LT 311
+#define TK_LE 312
+#define TK_GT 313
+#define TK_GE 314
+#define TK_USHIFT 315
+#define TK_RSHIFT 316
+#define TK_LSHIFT 317
+#define TK_FDIV 318
+#define TK_OR 319
+#define TK_AND 320
+#define TK_XOR 321
+#define TK_CONC 322
+#define TK_ASSIGN_USHIFT 323
+#define TK_ASSIGN_RSHIFT 324
+#define TK_ASSIGN_LSHIFT 325
+#define TK_ASSIGN_INC 326
+#define TK_ASSIGN_DEC 327
+#define TK_ASSIGN_MUL 328
+#define TK_ASSIGN_MOD 329
+#define TK_ASSIGN_POW 330
+#define TK_ASSIGN_DIV 331
+#define TK_ASSIGN_BOR 332
+#define TK_ASSIGN_BAND 333
+#define TK_ASSIGN_FDIV 334
+#define TK_ASSIGN_BNOT 335
+#define TK_ASSIGN_CONC 336
+#define TK_FLAG_INIT 337
+#define TK_FLAG_LOAD 338
+#define TK_FLAG_MAIN 339
+#define TK_FLAG_ANON 340
+#define TK_FLAG_METHOD 341
+#define TK_FLAG_OUTER 342
+#define TK_FLAG_VTABLE 343
+#define TK_FLAG_LEX 344
+#define TK_FLAG_MULTI 345
+#define TK_FLAG_POSTCOMP 346
+#define TK_FLAG_IMMEDIATE 347
+#define TK_FLAG_SUBID 348
+#define TK_FLAG_INSTANCEOF 349
+#define TK_FLAG_NSENTRY 350
+#define TK_FLAG_UNIQUE_REG 351
+#define TK_FLAG_NAMED 352
+#define TK_FLAG_SLURPY 353
+#define TK_FLAG_FLAT 354
+#define TK_FLAG_OPTIONAL 355
+#define TK_FLAG_OPT_FLAG 356
+#define TK_FLAG_INVOCANT 357
+#define TK_FLAG_LOOKAHEAD 358
+#define TK_MACRO 359
+#define TK_ENDM 360
+#define TK_MACRO_LOCAL 361
+#define TK_MACRO_LABEL 362
+#define TK_MACRO_CONST 363
+#define TK_MACRO_LABEL_ID 364
+#define TK_MACRO_LOCAL_ID 365
+#define TK_MACRO_IDENT 366
+#define TK_MACRO_ARG_IDENT 367
+#define TK_MACRO_ARG_OTHER 368
+#define TK_MACRO_CONST_VAL 369
+#define TK_PASM_MARKER_START 370
+#define TK_PIR_MARKER_START 371
+#define TK_PCC_SUB 372
+#define TK_PARROT_OP 373
@@ -321,7 +319,7 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
/*
@@ -589,7 +587,7 @@
struct macro_param *pval;
}
/* Line 187 of yacc.c. */
-#line 593 "pirparser.c"
+#line 591 "pirparser.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -602,7 +600,7 @@
/* Line 216 of yacc.c. */
-#line 606 "pirparser.c"
+#line 604 "pirparser.c"
#ifdef short
# undef short
@@ -817,20 +815,20 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 11
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1162
+#define YYLAST 1154
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 140
+#define YYNTOKENS 139
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 173
+#define YYNNTS 172
/* YYNRULES -- Number of rules. */
-#define YYNRULES 433
+#define YYNRULES 431
/* YYNRULES -- Number of states. */
-#define YYNSTATES 674
+#define YYNSTATES 669
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 375
+#define YYMAXUTOK 374
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -841,16 +839,16 @@
0, 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, 131, 2, 2, 2, 136, 138, 2,
- 120, 121, 135, 133, 122, 130, 129, 134, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 126,
- 2, 123, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 130, 2, 2, 2, 135, 137, 2,
+ 119, 120, 134, 132, 121, 129, 128, 133, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 124,
+ 2, 127, 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, 122, 2, 123, 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, 127, 137, 128, 132, 2, 2, 2,
+ 2, 2, 2, 125, 136, 126, 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,
@@ -875,7 +873,7 @@
85, 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, 139
+ 115, 116, 117, 118, 138
};
#if YYDEBUG
@@ -885,226 +883,226 @@
{
0, 0, 3, 6, 9, 13, 14, 16, 18, 20,
24, 26, 28, 30, 32, 34, 36, 38, 40, 42,
- 44, 46, 50, 58, 61, 62, 64, 66, 70, 72,
- 73, 75, 77, 80, 83, 85, 87, 90, 94, 97,
- 100, 103, 106, 111, 116, 117, 119, 121, 125, 127,
- 134, 136, 139, 141, 143, 144, 147, 149, 151, 153,
- 155, 157, 159, 161, 164, 169, 172, 175, 178, 181,
- 184, 188, 189, 191, 193, 197, 199, 201, 203, 205,
- 206, 209, 214, 217, 218, 221, 223, 225, 227, 229,
- 232, 237, 239, 240, 243, 246, 248, 250, 252, 254,
- 256, 258, 260, 262, 264, 266, 268, 270, 272, 274,
- 276, 278, 280, 286, 288, 292, 293, 297, 298, 300,
- 302, 306, 308, 310, 313, 315, 319, 320, 323, 325,
- 327, 329, 332, 334, 337, 340, 344, 348, 351, 354,
- 356, 358, 360, 362, 363, 365, 367, 371, 375, 377,
- 379, 381, 383, 385, 387, 390, 394, 396, 400, 407,
- 412, 419, 422, 424, 426, 430, 434, 438, 442, 446,
- 450, 455, 460, 465, 469, 473, 477, 481, 485, 489,
- 493, 498, 504, 509, 514, 518, 522, 526, 530, 534,
- 538, 542, 546, 549, 555, 561, 567, 573, 579, 585,
- 591, 597, 603, 608, 614, 619, 624, 629, 634, 639,
- 644, 649, 654, 659, 664, 669, 674, 679, 683, 687,
- 691, 695, 699, 703, 707, 711, 715, 719, 723, 727,
- 729, 731, 733, 735, 737, 739, 743, 748, 750, 754,
- 757, 758, 760, 766, 768, 770, 772, 781, 782, 784,
- 786, 789, 793, 797, 800, 806, 807, 810, 811, 813,
- 815, 818, 822, 824, 827, 831, 835, 837, 839, 841,
- 846, 849, 851, 853, 855, 857, 859, 861, 863, 865,
- 869, 870, 872, 874, 878, 881, 885, 886, 889, 891,
- 893, 895, 898, 900, 902, 904, 906, 908, 912, 916,
- 920, 924, 925, 927, 929, 933, 935, 937, 941, 944,
- 946, 952, 958, 959, 961, 963, 966, 970, 971, 973,
- 975, 978, 982, 983, 986, 988, 991, 992, 994, 998,
- 1001, 1004, 1006, 1008, 1011, 1013, 1015, 1018, 1023, 1028,
- 1033, 1038, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057,
- 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077,
- 1079, 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097,
- 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117,
- 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137,
- 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157,
- 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177,
- 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1194, 1196, 1198,
- 1201, 1203, 1206, 1208, 1211, 1214, 1216, 1219, 1222, 1224,
- 1226, 1228, 1232, 1234
+ 44, 48, 56, 59, 60, 62, 64, 68, 70, 71,
+ 73, 75, 78, 81, 83, 85, 88, 92, 95, 98,
+ 101, 104, 109, 110, 112, 114, 118, 120, 127, 129,
+ 132, 134, 136, 137, 140, 142, 144, 146, 148, 150,
+ 152, 154, 157, 162, 165, 168, 171, 174, 177, 181,
+ 182, 184, 186, 190, 192, 194, 196, 198, 199, 202,
+ 207, 210, 211, 214, 216, 218, 220, 222, 225, 230,
+ 232, 233, 236, 239, 241, 243, 245, 247, 249, 251,
+ 253, 255, 257, 259, 261, 263, 265, 267, 269, 271,
+ 273, 279, 281, 285, 286, 290, 291, 293, 295, 299,
+ 301, 303, 306, 308, 312, 313, 316, 318, 320, 322,
+ 325, 327, 330, 333, 337, 341, 344, 347, 349, 351,
+ 353, 355, 356, 358, 360, 364, 368, 370, 372, 374,
+ 376, 378, 380, 383, 387, 389, 393, 400, 405, 412,
+ 415, 417, 419, 423, 427, 431, 435, 439, 443, 448,
+ 453, 458, 462, 466, 470, 474, 478, 482, 486, 491,
+ 497, 502, 507, 511, 515, 519, 523, 527, 531, 535,
+ 539, 542, 548, 554, 560, 566, 572, 578, 584, 590,
+ 596, 601, 607, 612, 617, 622, 627, 632, 637, 642,
+ 647, 652, 657, 662, 667, 672, 676, 680, 684, 688,
+ 692, 696, 700, 704, 708, 712, 716, 720, 722, 724,
+ 726, 728, 730, 732, 736, 741, 743, 747, 750, 751,
+ 753, 759, 761, 763, 765, 774, 775, 777, 779, 782,
+ 786, 790, 793, 799, 800, 803, 804, 806, 808, 811,
+ 815, 817, 820, 824, 828, 830, 832, 834, 839, 842,
+ 844, 846, 848, 850, 852, 854, 856, 858, 862, 863,
+ 865, 867, 871, 874, 878, 879, 882, 884, 886, 888,
+ 891, 893, 895, 897, 899, 901, 905, 909, 913, 917,
+ 918, 920, 922, 926, 928, 930, 934, 937, 939, 945,
+ 951, 952, 954, 956, 959, 963, 964, 966, 968, 971,
+ 975, 976, 979, 981, 984, 985, 987, 991, 994, 997,
+ 999, 1001, 1004, 1006, 1008, 1011, 1016, 1021, 1026, 1031,
+ 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054,
+ 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074,
+ 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094,
+ 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114,
+ 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134,
+ 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154,
+ 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174,
+ 1176, 1178, 1180, 1182, 1184, 1187, 1189, 1191, 1194, 1196,
+ 1199, 1201, 1204, 1207, 1209, 1212, 1215, 1217, 1219, 1221,
+ 1225, 1227
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 141, 0, -1, 117, 142, -1, 116, 304, -1, 143,
- 145, 143, -1, -1, 144, -1, 35, -1, 146, -1,
- 145, 144, 146, -1, 168, -1, 283, -1, 164, -1,
- 162, -1, 163, -1, 160, -1, 161, -1, 147, -1,
- 202, -1, 148, -1, 149, -1, 109, 37, 115, -1,
- 150, 120, 151, 121, 35, 154, 106, -1, 105, 299,
- -1, -1, 152, -1, 153, -1, 152, 122, 153, -1,
- 299, -1, -1, 155, -1, 156, -1, 155, 156, -1,
- 157, 35, -1, 158, -1, 159, -1, 108, 110, -1,
- 107, 295, 111, -1, 5, 46, -1, 10, 48, -1,
- 11, 46, -1, 3, 46, -1, 4, 46, 123, 46,
- -1, 13, 124, 165, 125, -1, -1, 166, -1, 167,
- -1, 166, 126, 167, -1, 46, -1, 170, 172, 144,
- 178, 187, 169, -1, 7, -1, 6, 171, -1, 299,
- -1, 46, -1, -1, 172, 173, -1, 86, -1, 83,
- -1, 84, -1, 85, -1, 90, -1, 92, -1, 93,
- -1, 91, 174, -1, 88, 120, 171, 121, -1, 87,
- 280, -1, 89, 280, -1, 94, 281, -1, 95, 281,
- -1, 96, 281, -1, 120, 175, 121, -1, -1, 176,
- -1, 177, -1, 176, 122, 177, -1, 299, -1, 46,
- -1, 215, -1, 179, -1, -1, 179, 180, -1, 8,
- 181, 182, 144, -1, 295, 299, -1, -1, 182, 183,
- -1, 258, -1, 185, -1, 184, -1, 186, -1, 104,
- 281, -1, 103, 120, 177, 121, -1, 97, -1, -1,
- 187, 188, -1, 36, 189, -1, 189, -1, 205, -1,
- 222, -1, 228, -1, 229, -1, 233, -1, 282, -1,
- 259, -1, 234, -1, 218, -1, 204, -1, 203, -1,
- 200, -1, 201, -1, 191, -1, 190, -1, 202, -1,
- 34, 46, 122, 292, 144, -1, 192, -1, 112, 193,
- 144, -1, -1, 120, 194, 121, -1, -1, 195, -1,
- 196, -1, 195, 122, 196, -1, 113, -1, 114, -1,
- 112, 193, -1, 197, -1, 127, 198, 128, -1, -1,
- 198, 199, -1, 35, -1, 114, -1, 113, -1, 112,
- 193, -1, 144, -1, 161, 144, -1, 1, 144, -1,
- 44, 296, 144, -1, 28, 253, 144, -1, 206, 144,
- -1, 207, 208, -1, 217, -1, 37, -1, 209, -1,
- 211, -1, -1, 210, -1, 212, -1, 210, 122, 212,
- -1, 215, 123, 291, -1, 213, -1, 215, -1, 292,
- -1, 299, -1, 298, -1, 214, -1, 252, 215, -1,
- 124, 216, 125, -1, 291, -1, 216, 126, 291, -1,
- 296, 123, 207, 213, 122, 210, -1, 296, 123, 207,
- 213, -1, 296, 123, 207, 215, 122, 210, -1, 220,
- 144, -1, 37, -1, 300, -1, 296, 123, 48, -1,
- 296, 123, 49, -1, 296, 123, 293, -1, 296, 123,
- 298, -1, 296, 123, 219, -1, 296, 123, 221, -1,
- 296, 123, 207, 215, -1, 296, 123, 300, 215, -1,
- 296, 123, 50, 215, -1, 296, 303, 291, -1, 296,
- 72, 48, -1, 296, 72, 49, -1, 296, 73, 48,
- -1, 296, 73, 49, -1, 296, 72, 296, -1, 296,
- 73, 296, -1, 296, 123, 301, 291, -1, 296, 123,
- 296, 302, 291, -1, 300, 215, 123, 291, -1, 50,
- 215, 123, 291, -1, 48, 302, 296, -1, 49, 302,
- 296, -1, 46, 302, 296, -1, 46, 302, 46, -1,
- 48, 302, 48, -1, 49, 302, 49, -1, 48, 302,
- 49, -1, 49, 302, 48, -1, 223, 144, -1, 226,
- 44, 37, 45, 299, -1, 226, 44, 38, 45, 299,
- -1, 226, 44, 39, 45, 299, -1, 226, 44, 40,
- 45, 299, -1, 226, 44, 41, 45, 299, -1, 226,
- 44, 42, 45, 299, -1, 226, 44, 43, 45, 299,
- -1, 226, 44, 45, 45, 299, -1, 226, 44, 44,
- 45, 299, -1, 226, 292, 227, 299, -1, 226, 44,
- 50, 227, 299, -1, 226, 37, 227, 299, -1, 226,
- 298, 227, 299, -1, 226, 38, 227, 299, -1, 226,
- 39, 227, 299, -1, 226, 40, 227, 299, -1, 226,
- 41, 227, 299, -1, 226, 42, 227, 299, -1, 226,
- 43, 227, 299, -1, 226, 45, 45, 299, -1, 226,
- 45, 122, 299, -1, 226, 44, 45, 299, -1, 226,
- 44, 122, 299, -1, 226, 224, 45, 299, -1, 296,
- 294, 291, -1, 48, 294, 296, -1, 49, 294, 296,
- -1, 46, 294, 296, -1, 48, 294, 48, -1, 48,
- 294, 49, -1, 49, 294, 48, -1, 49, 294, 49,
- -1, 46, 294, 46, -1, 46, 294, 225, -1, 48,
- 294, 46, -1, 49, 294, 46, -1, 48, -1, 49,
- -1, 42, -1, 43, -1, 45, -1, 122, -1, 45,
- 299, 144, -1, 12, 295, 230, 144, -1, 231, -1,
- 230, 122, 231, -1, 299, 232, -1, -1, 97, -1,
- 9, 46, 122, 252, 144, -1, 235, -1, 236, -1,
- 245, -1, 26, 144, 237, 240, 144, 242, 27, 144,
- -1, -1, 238, -1, 239, -1, 238, 239, -1, 30,
- 268, 144, -1, 29, 250, 241, -1, 32, 252, -1,
- 14, 252, 35, 15, 251, -1, -1, 122, 252, -1,
- -1, 243, -1, 244, -1, 243, 244, -1, 31, 256,
- 144, -1, 229, -1, 246, 144, -1, 253, 123, 247,
- -1, 296, 123, 247, -1, 247, -1, 249, -1, 248,
- -1, 252, 129, 251, 263, -1, 250, 263, -1, 252,
- -1, 46, -1, 299, -1, 50, -1, 52, -1, 46,
- -1, 299, -1, 50, -1, 120, 254, 121, -1, -1,
- 255, -1, 256, -1, 255, 122, 256, -1, 296, 257,
- -1, 46, 54, 296, -1, -1, 257, 258, -1, 101,
- -1, 102, -1, 99, -1, 98, 280, -1, 260, -1,
- 261, -1, 270, -1, 262, -1, 271, -1, 18, 263,
- 144, -1, 33, 247, 144, -1, 19, 263, 144, -1,
- 120, 264, 121, -1, -1, 265, -1, 266, -1, 265,
- 122, 266, -1, 268, -1, 267, -1, 46, 54, 269,
- -1, 269, 278, -1, 291, -1, 24, 144, 275, 25,
- 144, -1, 22, 144, 272, 23, 144, -1, -1, 273,
- -1, 274, -1, 273, 274, -1, 20, 268, 144, -1,
- -1, 276, -1, 277, -1, 276, 277, -1, 21, 268,
- 144, -1, -1, 278, 279, -1, 100, -1, 98, 280,
- -1, -1, 281, -1, 120, 46, 121, -1, 284, 144,
- -1, 17, 288, -1, 285, -1, 287, -1, 17, 286,
- -1, 288, -1, 289, -1, 16, 288, -1, 38, 299,
- 123, 48, -1, 39, 299, 123, 49, -1, 41, 299,
- 123, 46, -1, 41, 299, 123, 47, -1, 46, 299,
- 123, 290, -1, 292, -1, 299, -1, 296, -1, 292,
- -1, 48, -1, 49, -1, 293, -1, 46, -1, 47,
- -1, 55, -1, 56, -1, 57, -1, 58, -1, 60,
- -1, 59, -1, 38, -1, 39, -1, 40, -1, 41,
- -1, 297, -1, 298, -1, 299, -1, 50, -1, 51,
- -1, 53, -1, 52, -1, 37, -1, 300, -1, 42,
- -1, 43, -1, 45, -1, 38, -1, 39, -1, 41,
- -1, 40, -1, 44, -1, 130, -1, 131, -1, 132,
- -1, 133, -1, 130, -1, 134, -1, 135, -1, 136,
- -1, 137, -1, 138, -1, 132, -1, 139, -1, 68,
- -1, 61, -1, 62, -1, 63, -1, 65, -1, 66,
- -1, 64, -1, 67, -1, 56, -1, 58, -1, 57,
- -1, 60, -1, 59, -1, 55, -1, 74, -1, 75,
- -1, 76, -1, 77, -1, 80, -1, 78, -1, 79,
- -1, 81, -1, 82, -1, 70, -1, 71, -1, 69,
- -1, 305, 306, -1, 143, -1, 307, -1, 306, 307,
- -1, 308, -1, 164, 35, -1, 233, -1, 161, 35,
- -1, 147, 35, -1, 192, -1, 36, 309, -1, 310,
- 309, -1, 312, -1, 200, -1, 312, -1, 311, 172,
- 36, -1, 118, -1, 207, 209, 35, -1
+ 140, 0, -1, 116, 141, -1, 115, 302, -1, 142,
+ 144, 142, -1, -1, 143, -1, 34, -1, 145, -1,
+ 144, 143, 145, -1, 166, -1, 281, -1, 162, -1,
+ 161, -1, 159, -1, 160, -1, 146, -1, 200, -1,
+ 147, -1, 148, -1, 108, 36, 114, -1, 149, 119,
+ 150, 120, 34, 153, 105, -1, 104, 297, -1, -1,
+ 151, -1, 152, -1, 151, 121, 152, -1, 297, -1,
+ -1, 154, -1, 155, -1, 154, 155, -1, 156, 34,
+ -1, 157, -1, 158, -1, 107, 109, -1, 106, 293,
+ 110, -1, 4, 45, -1, 9, 47, -1, 10, 45,
+ -1, 3, 45, -1, 12, 122, 163, 123, -1, -1,
+ 164, -1, 165, -1, 164, 124, 165, -1, 45, -1,
+ 168, 170, 143, 176, 185, 167, -1, 6, -1, 5,
+ 169, -1, 297, -1, 45, -1, -1, 170, 171, -1,
+ 85, -1, 82, -1, 83, -1, 84, -1, 89, -1,
+ 91, -1, 92, -1, 90, 172, -1, 87, 119, 169,
+ 120, -1, 86, 278, -1, 88, 278, -1, 93, 279,
+ -1, 94, 279, -1, 95, 279, -1, 119, 173, 120,
+ -1, -1, 174, -1, 175, -1, 174, 121, 175, -1,
+ 297, -1, 45, -1, 213, -1, 177, -1, -1, 177,
+ 178, -1, 7, 179, 180, 143, -1, 293, 297, -1,
+ -1, 180, 181, -1, 256, -1, 183, -1, 182, -1,
+ 184, -1, 103, 279, -1, 102, 119, 175, 120, -1,
+ 96, -1, -1, 185, 186, -1, 35, 187, -1, 187,
+ -1, 203, -1, 220, -1, 226, -1, 227, -1, 231,
+ -1, 280, -1, 257, -1, 232, -1, 216, -1, 202,
+ -1, 201, -1, 198, -1, 199, -1, 189, -1, 188,
+ -1, 200, -1, 33, 45, 121, 290, 143, -1, 190,
+ -1, 111, 191, 143, -1, -1, 119, 192, 120, -1,
+ -1, 193, -1, 194, -1, 193, 121, 194, -1, 112,
+ -1, 113, -1, 111, 191, -1, 195, -1, 125, 196,
+ 126, -1, -1, 196, 197, -1, 34, -1, 113, -1,
+ 112, -1, 111, 191, -1, 143, -1, 160, 143, -1,
+ 1, 143, -1, 43, 294, 143, -1, 27, 251, 143,
+ -1, 204, 143, -1, 205, 206, -1, 215, -1, 36,
+ -1, 207, -1, 209, -1, -1, 208, -1, 210, -1,
+ 208, 121, 210, -1, 213, 127, 289, -1, 211, -1,
+ 213, -1, 290, -1, 297, -1, 296, -1, 212, -1,
+ 250, 213, -1, 122, 214, 123, -1, 289, -1, 214,
+ 124, 289, -1, 294, 127, 205, 211, 121, 208, -1,
+ 294, 127, 205, 211, -1, 294, 127, 205, 213, 121,
+ 208, -1, 218, 143, -1, 36, -1, 298, -1, 294,
+ 127, 47, -1, 294, 127, 48, -1, 294, 127, 291,
+ -1, 294, 127, 296, -1, 294, 127, 217, -1, 294,
+ 127, 219, -1, 294, 127, 205, 213, -1, 294, 127,
+ 298, 213, -1, 294, 127, 49, 213, -1, 294, 301,
+ 289, -1, 294, 71, 47, -1, 294, 71, 48, -1,
+ 294, 72, 47, -1, 294, 72, 48, -1, 294, 71,
+ 294, -1, 294, 72, 294, -1, 294, 127, 299, 289,
+ -1, 294, 127, 294, 300, 289, -1, 298, 213, 127,
+ 289, -1, 49, 213, 127, 289, -1, 47, 300, 294,
+ -1, 48, 300, 294, -1, 45, 300, 294, -1, 45,
+ 300, 45, -1, 47, 300, 47, -1, 48, 300, 48,
+ -1, 47, 300, 48, -1, 48, 300, 47, -1, 221,
+ 143, -1, 224, 43, 36, 44, 297, -1, 224, 43,
+ 37, 44, 297, -1, 224, 43, 38, 44, 297, -1,
+ 224, 43, 39, 44, 297, -1, 224, 43, 40, 44,
+ 297, -1, 224, 43, 41, 44, 297, -1, 224, 43,
+ 42, 44, 297, -1, 224, 43, 44, 44, 297, -1,
+ 224, 43, 43, 44, 297, -1, 224, 290, 225, 297,
+ -1, 224, 43, 49, 225, 297, -1, 224, 36, 225,
+ 297, -1, 224, 296, 225, 297, -1, 224, 37, 225,
+ 297, -1, 224, 38, 225, 297, -1, 224, 39, 225,
+ 297, -1, 224, 40, 225, 297, -1, 224, 41, 225,
+ 297, -1, 224, 42, 225, 297, -1, 224, 44, 44,
+ 297, -1, 224, 44, 121, 297, -1, 224, 43, 44,
+ 297, -1, 224, 43, 121, 297, -1, 224, 222, 44,
+ 297, -1, 294, 292, 289, -1, 47, 292, 294, -1,
+ 48, 292, 294, -1, 45, 292, 294, -1, 47, 292,
+ 47, -1, 47, 292, 48, -1, 48, 292, 47, -1,
+ 48, 292, 48, -1, 45, 292, 45, -1, 45, 292,
+ 223, -1, 47, 292, 45, -1, 48, 292, 45, -1,
+ 47, -1, 48, -1, 41, -1, 42, -1, 44, -1,
+ 121, -1, 44, 297, 143, -1, 11, 293, 228, 143,
+ -1, 229, -1, 228, 121, 229, -1, 297, 230, -1,
+ -1, 96, -1, 8, 45, 121, 250, 143, -1, 233,
+ -1, 234, -1, 243, -1, 25, 143, 235, 238, 143,
+ 240, 26, 143, -1, -1, 236, -1, 237, -1, 236,
+ 237, -1, 29, 266, 143, -1, 28, 248, 239, -1,
+ 31, 250, -1, 13, 250, 34, 14, 249, -1, -1,
+ 121, 250, -1, -1, 241, -1, 242, -1, 241, 242,
+ -1, 30, 254, 143, -1, 227, -1, 244, 143, -1,
+ 251, 127, 245, -1, 294, 127, 245, -1, 245, -1,
+ 247, -1, 246, -1, 250, 128, 249, 261, -1, 248,
+ 261, -1, 250, -1, 45, -1, 297, -1, 49, -1,
+ 51, -1, 45, -1, 297, -1, 49, -1, 119, 252,
+ 120, -1, -1, 253, -1, 254, -1, 253, 121, 254,
+ -1, 294, 255, -1, 45, 53, 294, -1, -1, 255,
+ 256, -1, 100, -1, 101, -1, 98, -1, 97, 278,
+ -1, 258, -1, 259, -1, 268, -1, 260, -1, 269,
+ -1, 17, 261, 143, -1, 32, 245, 143, -1, 18,
+ 261, 143, -1, 119, 262, 120, -1, -1, 263, -1,
+ 264, -1, 263, 121, 264, -1, 266, -1, 265, -1,
+ 45, 53, 267, -1, 267, 276, -1, 289, -1, 23,
+ 143, 273, 24, 143, -1, 21, 143, 270, 22, 143,
+ -1, -1, 271, -1, 272, -1, 271, 272, -1, 19,
+ 266, 143, -1, -1, 274, -1, 275, -1, 274, 275,
+ -1, 20, 266, 143, -1, -1, 276, 277, -1, 99,
+ -1, 97, 278, -1, -1, 279, -1, 119, 45, 120,
+ -1, 282, 143, -1, 16, 286, -1, 283, -1, 285,
+ -1, 16, 284, -1, 286, -1, 287, -1, 15, 286,
+ -1, 37, 297, 127, 47, -1, 38, 297, 127, 48,
+ -1, 40, 297, 127, 45, -1, 40, 297, 127, 46,
+ -1, 45, 297, 127, 288, -1, 290, -1, 297, -1,
+ 294, -1, 290, -1, 47, -1, 48, -1, 291, -1,
+ 45, -1, 46, -1, 54, -1, 55, -1, 56, -1,
+ 57, -1, 59, -1, 58, -1, 37, -1, 38, -1,
+ 39, -1, 40, -1, 295, -1, 296, -1, 297, -1,
+ 49, -1, 50, -1, 52, -1, 51, -1, 36, -1,
+ 298, -1, 41, -1, 42, -1, 44, -1, 37, -1,
+ 38, -1, 40, -1, 39, -1, 43, -1, 129, -1,
+ 130, -1, 131, -1, 132, -1, 129, -1, 133, -1,
+ 134, -1, 135, -1, 136, -1, 137, -1, 131, -1,
+ 138, -1, 67, -1, 60, -1, 61, -1, 62, -1,
+ 64, -1, 65, -1, 63, -1, 66, -1, 55, -1,
+ 57, -1, 56, -1, 59, -1, 58, -1, 54, -1,
+ 73, -1, 74, -1, 75, -1, 76, -1, 79, -1,
+ 77, -1, 78, -1, 80, -1, 81, -1, 69, -1,
+ 70, -1, 68, -1, 303, 304, -1, 142, -1, 305,
+ -1, 304, 305, -1, 306, -1, 162, 34, -1, 231,
+ -1, 160, 34, -1, 146, 34, -1, 190, -1, 35,
+ 307, -1, 308, 307, -1, 310, -1, 198, -1, 310,
+ -1, 309, 170, 35, -1, 117, -1, 205, 207, 34,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 563, 563, 564, 569, 575, 576, 579, 583, 584,
- 587, 588, 589, 590, 591, 592, 593, 594, 595, 602,
- 603, 606, 610, 616, 623, 624, 627, 628, 631, 635,
- 636, 639, 640, 643, 646, 647, 650, 654, 665, 669,
- 671, 677, 681, 685, 690, 691, 695, 697, 701, 705,
- 711, 715, 719, 720, 723, 724, 727, 729, 731, 733,
- 735, 737, 739, 741, 743, 745, 747, 749, 751, 753,
- 757, 762, 766, 770, 779, 790, 792, 794, 798, 803,
- 804, 817, 821, 826, 827, 831, 832, 833, 834, 837,
- 844, 851, 857, 858, 868, 870, 873, 874, 875, 876,
- 877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
- 887, 888, 891, 898, 901, 906, 907, 912, 913, 916,
- 918, 926, 934, 935, 937, 940, 946, 947, 956, 958,
- 959, 960, 968, 972, 976, 985, 992, 998, 1001, 1002,
- 1005, 1014, 1021, 1024, 1025, 1028, 1029, 1032, 1068, 1070,
- 1074, 1076, 1081, 1083, 1087, 1110, 1114, 1116, 1125, 1136,
- 1148, 1158, 1161, 1162, 1165, 1174, 1183, 1188, 1193, 1214,
- 1219, 1260, 1278, 1285, 1290, 1301, 1312, 1323, 1334, 1339,
- 1344, 1349, 1359, 1378, 1412, 1414, 1416, 1418, 1420, 1422,
- 1424, 1426, 1431, 1440, 1442, 1444, 1446, 1448, 1450, 1452,
- 1454, 1456, 1458, 1470, 1477, 1479, 1485, 1487, 1489, 1491,
- 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1536, 1562, 1570,
- 1579, 1588, 1590, 1592, 1594, 1596, 1600, 1605, 1607, 1612,
- 1613, 1616, 1617, 1620, 1621, 1624, 1632, 1636, 1638, 1642,
- 1646, 1647, 1650, 1665, 1669, 1670, 1673, 1685, 1686, 1690,
- 1692, 1696, 1700, 1702, 1704, 1710, 1711, 1716, 1717, 1721,
- 1723, 1732, 1734, 1738, 1742, 1744, 1746, 1750, 1751, 1754,
- 1774, 1781, 1783, 1793, 1810, 1812, 1814, 1818, 1827, 1832,
- 1839, 1840, 1844, 1846, 1850, 1852, 1857, 1858, 1862, 1864,
- 1866, 1868, 1878, 1882, 1883, 1884, 1885, 1888, 1893, 1904,
- 1911, 1916, 1917, 1921, 1923, 1927, 1928, 1931, 1935, 1939,
- 1943, 1952, 1962, 1963, 1968, 1970, 1975, 1980, 1981, 1985,
- 1987, 1991, 1997, 1998, 2002, 2004, 2012, 2013, 2017, 2021,
- 2024, 2028, 2029, 2032, 2036, 2037, 2040, 2044, 2046, 2048,
- 2050, 2054, 2058, 2059, 2072, 2073, 2077, 2078, 2079, 2082,
- 2083, 2086, 2087, 2088, 2089, 2090, 2091, 2094, 2095, 2096,
- 2097, 2105, 2108, 2109, 2122, 2123, 2124, 2125, 2129, 2130,
- 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2143, 2144,
- 2145, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156,
- 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166,
- 2167, 2168, 2169, 2170, 2176, 2177, 2178, 2179, 2180, 2181,
- 2182, 2183, 2184, 2185, 2186, 2187, 2199, 2207, 2211, 2212,
- 2215, 2216, 2217, 2218, 2219, 2220, 2223, 2225, 2226, 2229,
- 2230, 2233, 2237, 2242
+ 0, 562, 562, 563, 568, 574, 575, 578, 582, 583,
+ 586, 587, 588, 589, 590, 591, 592, 593, 600, 601,
+ 604, 608, 614, 621, 622, 625, 626, 629, 633, 634,
+ 637, 638, 641, 644, 645, 648, 652, 663, 667, 669,
+ 675, 679, 684, 685, 689, 691, 695, 699, 705, 709,
+ 713, 714, 717, 718, 721, 723, 725, 727, 729, 731,
+ 733, 735, 737, 739, 741, 743, 745, 747, 751, 756,
+ 760, 764, 773, 784, 786, 788, 792, 797, 798, 811,
+ 815, 820, 821, 825, 826, 827, 828, 831, 838, 845,
+ 851, 852, 862, 864, 867, 868, 869, 870, 871, 872,
+ 873, 874, 875, 876, 877, 878, 879, 880, 881, 882,
+ 885, 892, 895, 900, 901, 906, 907, 910, 912, 920,
+ 928, 929, 931, 934, 940, 941, 950, 952, 953, 954,
+ 962, 966, 970, 979, 986, 992, 995, 996, 999, 1008,
+ 1015, 1018, 1019, 1022, 1023, 1026, 1062, 1064, 1068, 1070,
+ 1075, 1077, 1081, 1104, 1108, 1110, 1119, 1130, 1142, 1152,
+ 1155, 1156, 1159, 1168, 1177, 1182, 1187, 1208, 1213, 1254,
+ 1272, 1279, 1284, 1295, 1306, 1317, 1328, 1333, 1338, 1343,
+ 1353, 1372, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420,
+ 1425, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450,
+ 1452, 1464, 1471, 1473, 1479, 1481, 1483, 1485, 1487, 1489,
+ 1491, 1493, 1495, 1497, 1499, 1530, 1556, 1564, 1573, 1582,
+ 1584, 1586, 1588, 1590, 1594, 1599, 1601, 1606, 1607, 1610,
+ 1611, 1614, 1615, 1618, 1626, 1630, 1632, 1636, 1640, 1641,
+ 1644, 1659, 1663, 1664, 1667, 1679, 1680, 1684, 1686, 1690,
+ 1694, 1696, 1698, 1704, 1705, 1710, 1711, 1715, 1717, 1726,
+ 1728, 1732, 1736, 1738, 1740, 1744, 1745, 1748, 1768, 1775,
+ 1777, 1787, 1804, 1806, 1808, 1812, 1821, 1826, 1833, 1834,
+ 1838, 1840, 1844, 1846, 1851, 1852, 1856, 1858, 1860, 1862,
+ 1872, 1876, 1877, 1878, 1879, 1882, 1887, 1898, 1905, 1910,
+ 1911, 1915, 1917, 1921, 1922, 1925, 1929, 1933, 1937, 1946,
+ 1956, 1957, 1962, 1964, 1969, 1974, 1975, 1979, 1981, 1985,
+ 1991, 1992, 1996, 1998, 2006, 2007, 2011, 2015, 2018, 2022,
+ 2023, 2026, 2030, 2031, 2034, 2038, 2040, 2042, 2044, 2048,
+ 2052, 2053, 2066, 2067, 2071, 2072, 2073, 2076, 2077, 2080,
+ 2081, 2082, 2083, 2084, 2085, 2088, 2089, 2090, 2091, 2099,
+ 2102, 2103, 2116, 2117, 2118, 2119, 2123, 2124, 2127, 2128,
+ 2129, 2130, 2131, 2132, 2133, 2134, 2137, 2138, 2139, 2142,
+ 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
+ 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
+ 2163, 2164, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177,
+ 2178, 2179, 2180, 2181, 2193, 2201, 2205, 2206, 2209, 2210,
+ 2211, 2212, 2213, 2214, 2217, 2219, 2220, 2223, 2224, 2227,
+ 2231, 2236
};
#endif
@@ -1113,41 +1111,40 @@
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "\".HLL\"", "\".HLL_map\"",
- "\".loadlib\"", "\".sub\"", "\".end\"", "\".param\"", "\".lex\"",
- "\".line\"", "\".file\"", "\".local\"", "\".namespace\"",
- "\".invocant\"", "\".meth_call\"", "\".globalconst\"", "\".const\"",
- "\".return\"", "\".yield\"", "\".set_yield\"", "\".set_return\"",
- "\".begin_yield\"", "\".end_yield\"", "\".begin_return\"",
- "\".end_return\"", "\".begin_call\"", "\".end_call\"",
- "\".get_results\"", "\".call\"", "\".set_arg\"", "\".get_result\"",
- "\".nci_call\"", "\".tailcall\"", "\".annotate\"", "\"\\n\"",
- "\"label\"", "\"identifier\"", "\"int\"", "\"num\"", "\"pmc\"",
- "\"string\"", "\"if\"", "\"unless\"", "\"null\"", "\"goto\"",
- "\"string constant\"", "\"unicode string\"", "\"integer constant\"",
- "\"number constant\"", "\"PMC register\"", "\"number register\"",
- "\"string register\"", "\"integer register\"", "\"=>\"", "\"!=\"",
- "\"==\"", "\"<\"", "\"<=\"", "\">\"", "\">=\"", "\">>>\"", "\">>\"",
- "\"<<\"", "\"//\"", "\"||\"", "\"&&\"", "\"~~\"", "\".\"", "\">>>=\"",
- "\">>=\"", "\"<<=\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"%=\"", "\"**=\"",
- "\"/=\"", "\"|=\"", "\"&=\"", "\"//=\"", "\"~=\"", "\".=\"", "\":init\"",
- "\":load\"", "\":main\"", "\":anon\"", "\":method\"", "\":outer\"",
- "\":vtable\"", "\":lex\"", "\":multi\"", "\":postcomp\"",
- "\":immediate\"", "\":subid\"", "\":instanceof\"", "\":nsentry\"",
- "\":unique_reg\"", "\":named\"", "\":slurpy\"", "\":flat\"",
- "\":optional\"", "\":opt_flag\"", "\":invocant\"", "\":lookahead\"",
- "\".macro\"", "\".endm\"", "\".macro_local\"", "\".macro_label\"",
- "\".macro_const\"", "\"macro-label\"", "\"macro-local\"",
- "\"macro-identifier\"", "\"macro-id-argument\"", "\"macro-argument\"",
- "\"macro-constant\"", "\"<pasm-input>\"", "\"<pir-input>\"",
- "\".pcc_sub\"", "\"parrot-op\"", "'('", "')'", "','", "'='", "'['",
- "']'", "';'", "'{'", "'}'", "'.'", "'-'", "'!'", "'~'", "'+'", "'/'",
- "'*'", "'%'", "'|'", "'&'", "\"**\"", "$accept", "TOP", "pir_contents",
- "opt_nl", "newline", "pir_chunks", "pir_chunk", "macro_definition",
- "macro_const", "macro", "macro_header", "macro_parameters",
- "macro_params", "macro_param", "macro_body", "macro_statements",
- "macro_statement", "macro_instr", "macro_label_decl", "macro_local_decl",
- "loadlib", "location_directive", "hll_specifier", "hll_mapping",
+ "$end", "error", "$undefined", "\".HLL\"", "\".loadlib\"", "\".sub\"",
+ "\".end\"", "\".param\"", "\".lex\"", "\".line\"", "\".file\"",
+ "\".local\"", "\".namespace\"", "\".invocant\"", "\".meth_call\"",
+ "\".globalconst\"", "\".const\"", "\".return\"", "\".yield\"",
+ "\".set_yield\"", "\".set_return\"", "\".begin_yield\"",
+ "\".end_yield\"", "\".begin_return\"", "\".end_return\"",
+ "\".begin_call\"", "\".end_call\"", "\".get_results\"", "\".call\"",
+ "\".set_arg\"", "\".get_result\"", "\".nci_call\"", "\".tailcall\"",
+ "\".annotate\"", "\"\\n\"", "\"label\"", "\"identifier\"", "\"int\"",
+ "\"num\"", "\"pmc\"", "\"string\"", "\"if\"", "\"unless\"", "\"null\"",
+ "\"goto\"", "\"string constant\"", "\"unicode string\"",
+ "\"integer constant\"", "\"number constant\"", "\"PMC register\"",
+ "\"number register\"", "\"string register\"", "\"integer register\"",
+ "\"=>\"", "\"!=\"", "\"==\"", "\"<\"", "\"<=\"", "\">\"", "\">=\"",
+ "\">>>\"", "\">>\"", "\"<<\"", "\"//\"", "\"||\"", "\"&&\"", "\"~~\"",
+ "\".\"", "\">>>=\"", "\">>=\"", "\"<<=\"", "\"+=\"", "\"-=\"", "\"*=\"",
+ "\"%=\"", "\"**=\"", "\"/=\"", "\"|=\"", "\"&=\"", "\"//=\"", "\"~=\"",
+ "\".=\"", "\":init\"", "\":load\"", "\":main\"", "\":anon\"",
+ "\":method\"", "\":outer\"", "\":vtable\"", "\":lex\"", "\":multi\"",
+ "\":postcomp\"", "\":immediate\"", "\":subid\"", "\":instanceof\"",
+ "\":nsentry\"", "\":unique_reg\"", "\":named\"", "\":slurpy\"",
+ "\":flat\"", "\":optional\"", "\":opt_flag\"", "\":invocant\"",
+ "\":lookahead\"", "\".macro\"", "\".endm\"", "\".macro_local\"",
+ "\".macro_label\"", "\".macro_const\"", "\"macro-label\"",
+ "\"macro-local\"", "\"macro-identifier\"", "\"macro-id-argument\"",
+ "\"macro-argument\"", "\"macro-constant\"", "\"<pasm-input>\"",
+ "\"<pir-input>\"", "\".pcc_sub\"", "\"parrot-op\"", "'('", "')'", "','",
+ "'['", "']'", "';'", "'{'", "'}'", "'='", "'.'", "'-'", "'!'", "'~'",
+ "'+'", "'/'", "'*'", "'%'", "'|'", "'&'", "\"**\"", "$accept", "TOP",
+ "pir_contents", "opt_nl", "newline", "pir_chunks", "pir_chunk",
+ "macro_definition", "macro_const", "macro", "macro_header",
+ "macro_parameters", "macro_params", "macro_param", "macro_body",
+ "macro_statements", "macro_statement", "macro_instr", "macro_label_decl",
+ "macro_local_decl", "loadlib", "location_directive", "hll_specifier",
"namespace_decl", "opt_namespace", "namespace", "namespace_slice",
"sub_def", "sub_end", "sub_head", "sub_id", "sub_flags", "sub_flag",
"multi_type_list", "opt_multi_types", "multi_types", "multi_type",
@@ -1203,59 +1200,59 @@
335, 336, 337, 338, 339, 340, 341, 342, 343, 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,
- 40, 41, 44, 61, 91, 93, 59, 123, 125, 46,
- 45, 33, 126, 43, 47, 42, 37, 124, 38, 375
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 40,
+ 41, 44, 91, 93, 59, 123, 125, 61, 46, 45,
+ 33, 126, 43, 47, 42, 37, 124, 38, 374
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 140, 141, 141, 142, 143, 143, 144, 145, 145,
- 146, 146, 146, 146, 146, 146, 146, 146, 146, 147,
- 147, 148, 149, 150, 151, 151, 152, 152, 153, 154,
- 154, 155, 155, 156, 157, 157, 158, 159, 160, 161,
- 161, 162, 163, 164, 165, 165, 166, 166, 167, 168,
- 169, 170, 171, 171, 172, 172, 173, 173, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
- 174, 175, 175, 176, 176, 177, 177, 177, 178, 179,
- 179, 180, 181, 182, 182, 183, 183, 183, 183, 184,
- 185, 186, 187, 187, 188, 188, 189, 189, 189, 189,
- 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
- 189, 189, 190, 191, 192, 193, 193, 194, 194, 195,
- 195, 196, 196, 196, 196, 197, 198, 198, 199, 199,
- 199, 199, 200, 201, 202, 203, 204, 205, 206, 206,
- 207, 208, 208, 209, 209, 210, 210, 211, 212, 212,
- 213, 213, 213, 213, 214, 215, 216, 216, 217, 217,
- 217, 218, 219, 219, 220, 220, 220, 220, 220, 220,
- 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
- 220, 220, 220, 220, 221, 221, 221, 221, 221, 221,
- 221, 221, 222, 223, 223, 223, 223, 223, 223, 223,
- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
- 223, 223, 223, 223, 223, 223, 223, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 225,
- 225, 226, 226, 227, 227, 228, 229, 230, 230, 231,
- 232, 232, 233, 234, 235, 235, 236, 237, 237, 238,
- 238, 239, 240, 240, 240, 241, 241, 242, 242, 243,
- 243, 244, 244, 245, 246, 246, 246, 247, 247, 248,
- 249, 250, 250, 251, 251, 251, 251, 252, 252, 253,
- 254, 254, 255, 255, 256, 256, 257, 257, 258, 258,
- 258, 258, 259, 260, 260, 260, 260, 261, 261, 262,
- 263, 264, 264, 265, 265, 266, 266, 267, 268, 269,
- 270, 271, 272, 272, 273, 273, 274, 275, 275, 276,
- 276, 277, 278, 278, 279, 279, 280, 280, 281, 282,
- 283, 284, 284, 285, 286, 286, 287, 288, 288, 288,
- 288, 289, 290, 290, 291, 291, 292, 292, 292, 293,
- 293, 294, 294, 294, 294, 294, 294, 295, 295, 295,
- 295, 296, 297, 297, 298, 298, 298, 298, 299, 299,
- 300, 300, 300, 300, 300, 300, 300, 300, 301, 301,
- 301, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 304, 305, 306, 306,
- 307, 307, 307, 307, 307, 307, 308, 308, 308, 309,
- 309, 310, 311, 312
+ 0, 139, 140, 140, 141, 142, 142, 143, 144, 144,
+ 145, 145, 145, 145, 145, 145, 145, 145, 146, 146,
+ 147, 148, 149, 150, 150, 151, 151, 152, 153, 153,
+ 154, 154, 155, 156, 156, 157, 158, 159, 160, 160,
+ 161, 162, 163, 163, 164, 164, 165, 166, 167, 168,
+ 169, 169, 170, 170, 171, 171, 171, 171, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, 172, 173,
+ 173, 174, 174, 175, 175, 175, 176, 177, 177, 178,
+ 179, 180, 180, 181, 181, 181, 181, 182, 183, 184,
+ 185, 185, 186, 186, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 188, 189, 190, 191, 191, 192, 192, 193, 193, 194,
+ 194, 194, 194, 195, 196, 196, 197, 197, 197, 197,
+ 198, 199, 200, 201, 202, 203, 204, 204, 205, 206,
+ 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
+ 211, 211, 212, 213, 214, 214, 215, 215, 215, 216,
+ 217, 217, 218, 218, 218, 218, 218, 218, 218, 218,
+ 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
+ 218, 218, 219, 219, 219, 219, 219, 219, 219, 219,
+ 220, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 222, 222, 222, 222, 222,
+ 222, 222, 222, 222, 222, 222, 222, 223, 223, 224,
+ 224, 225, 225, 226, 227, 228, 228, 229, 230, 230,
+ 231, 232, 233, 233, 234, 235, 235, 236, 236, 237,
+ 238, 238, 238, 239, 239, 240, 240, 241, 241, 242,
+ 242, 243, 244, 244, 244, 245, 245, 246, 247, 248,
+ 248, 249, 249, 249, 249, 250, 250, 251, 252, 252,
+ 253, 253, 254, 254, 255, 255, 256, 256, 256, 256,
+ 257, 258, 258, 258, 258, 259, 259, 260, 261, 262,
+ 262, 263, 263, 264, 264, 265, 266, 267, 268, 269,
+ 270, 270, 271, 271, 272, 273, 273, 274, 274, 275,
+ 276, 276, 277, 277, 278, 278, 279, 280, 281, 282,
+ 282, 283, 284, 284, 285, 286, 286, 286, 286, 287,
+ 288, 288, 289, 289, 290, 290, 290, 291, 291, 292,
+ 292, 292, 292, 292, 292, 293, 293, 293, 293, 294,
+ 295, 295, 296, 296, 296, 296, 297, 297, 298, 298,
+ 298, 298, 298, 298, 298, 298, 299, 299, 299, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
+ 300, 300, 301, 301, 301, 301, 301, 301, 301, 301,
+ 301, 301, 301, 301, 302, 303, 304, 304, 305, 305,
+ 305, 305, 305, 305, 306, 306, 306, 307, 307, 308,
+ 309, 310
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1263,48 +1260,48 @@
{
0, 2, 2, 2, 3, 0, 1, 1, 1, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 7, 2, 0, 1, 1, 3, 1, 0,
- 1, 1, 2, 2, 1, 1, 2, 3, 2, 2,
- 2, 2, 4, 4, 0, 1, 1, 3, 1, 6,
- 1, 2, 1, 1, 0, 2, 1, 1, 1, 1,
- 1, 1, 1, 2, 4, 2, 2, 2, 2, 2,
- 3, 0, 1, 1, 3, 1, 1, 1, 1, 0,
- 2, 4, 2, 0, 2, 1, 1, 1, 1, 2,
- 4, 1, 0, 2, 2, 1, 1, 1, 1, 1,
+ 3, 7, 2, 0, 1, 1, 3, 1, 0, 1,
+ 1, 2, 2, 1, 1, 2, 3, 2, 2, 2,
+ 2, 4, 0, 1, 1, 3, 1, 6, 1, 2,
+ 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
+ 1, 2, 4, 2, 2, 2, 2, 2, 3, 0,
+ 1, 1, 3, 1, 1, 1, 1, 0, 2, 4,
+ 2, 0, 2, 1, 1, 1, 1, 2, 4, 1,
+ 0, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 5, 1, 3, 0, 3, 0, 1, 1,
- 3, 1, 1, 2, 1, 3, 0, 2, 1, 1,
- 1, 2, 1, 2, 2, 3, 3, 2, 2, 1,
- 1, 1, 1, 0, 1, 1, 3, 3, 1, 1,
- 1, 1, 1, 1, 2, 3, 1, 3, 6, 4,
- 6, 2, 1, 1, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 3, 3, 3, 3, 3, 3, 3,
- 4, 5, 4, 4, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 4, 5, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
- 1, 1, 1, 1, 1, 3, 4, 1, 3, 2,
- 0, 1, 5, 1, 1, 1, 8, 0, 1, 1,
- 2, 3, 3, 2, 5, 0, 2, 0, 1, 1,
- 2, 3, 1, 2, 3, 3, 1, 1, 1, 4,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 0, 1, 1, 3, 2, 3, 0, 2, 1, 1,
- 1, 2, 1, 1, 1, 1, 1, 3, 3, 3,
- 3, 0, 1, 1, 3, 1, 1, 3, 2, 1,
- 5, 5, 0, 1, 1, 2, 3, 0, 1, 1,
- 2, 3, 0, 2, 1, 2, 0, 1, 3, 2,
- 2, 1, 1, 2, 1, 1, 2, 4, 4, 4,
- 4, 4, 1, 1, 1, 1, 1, 1, 1, 1,
+ 5, 1, 3, 0, 3, 0, 1, 1, 3, 1,
+ 1, 2, 1, 3, 0, 2, 1, 1, 1, 2,
+ 1, 2, 2, 3, 3, 2, 2, 1, 1, 1,
+ 1, 0, 1, 1, 3, 3, 1, 1, 1, 1,
+ 1, 1, 2, 3, 1, 3, 6, 4, 6, 2,
+ 1, 1, 3, 3, 3, 3, 3, 3, 4, 4,
+ 4, 3, 3, 3, 3, 3, 3, 3, 4, 5,
+ 4, 4, 3, 3, 3, 3, 3, 3, 3, 3,
+ 2, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 4, 5, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
+ 1, 1, 1, 3, 4, 1, 3, 2, 0, 1,
+ 5, 1, 1, 1, 8, 0, 1, 1, 2, 3,
+ 3, 2, 5, 0, 2, 0, 1, 1, 2, 3,
+ 1, 2, 3, 3, 1, 1, 1, 4, 2, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 0, 1,
+ 1, 3, 2, 3, 0, 2, 1, 1, 1, 2,
+ 1, 1, 1, 1, 1, 3, 3, 3, 3, 0,
+ 1, 1, 3, 1, 1, 3, 2, 1, 5, 5,
+ 0, 1, 1, 2, 3, 0, 1, 1, 2, 3,
+ 0, 2, 1, 2, 0, 1, 3, 2, 2, 1,
+ 1, 2, 1, 1, 2, 4, 4, 4, 4, 4,
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, 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, 2, 1, 1, 2,
- 1, 2, 1, 2, 2, 1, 2, 2, 1, 1,
- 1, 3, 1, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 1, 1, 2, 1, 2,
+ 1, 2, 2, 1, 2, 2, 1, 1, 1, 3,
+ 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1312,516 +1309,511 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 5, 5, 0, 7, 417, 6, 3, 0, 2,
- 0, 1, 0, 0, 0, 0, 0, 140, 0, 0,
- 115, 432, 0, 19, 20, 0, 0, 0, 425, 143,
- 422, 416, 418, 420, 0, 54, 428, 0, 0, 0,
- 0, 0, 0, 5, 8, 17, 15, 16, 13, 14,
- 12, 10, 54, 18, 11, 0, 39, 40, 44, 132,
- 429, 426, 430, 368, 373, 374, 376, 375, 370, 371,
- 377, 372, 23, 369, 0, 117, 0, 424, 24, 423,
- 421, 349, 350, 346, 347, 364, 365, 367, 366, 0,
- 0, 144, 145, 148, 153, 149, 0, 150, 348, 152,
- 151, 419, 427, 0, 134, 41, 0, 38, 53, 51,
- 52, 0, 0, 0, 330, 4, 0, 0, 0, 48,
- 0, 45, 46, 21, 115, 121, 122, 126, 0, 118,
- 119, 124, 114, 0, 25, 26, 28, 364, 0, 156,
- 345, 344, 361, 362, 363, 433, 0, 154, 431, 57,
- 58, 59, 56, 326, 0, 326, 60, 0, 61, 62,
- 0, 0, 0, 55, 0, 0, 0, 0, 9, 79,
- 278, 0, 277, 43, 0, 123, 0, 116, 0, 0,
- 0, 155, 0, 146, 0, 65, 327, 0, 66, 71,
- 63, 67, 68, 69, 42, 0, 0, 0, 92, 78,
- 242, 47, 128, 115, 130, 129, 125, 127, 120, 29,
- 27, 157, 0, 0, 76, 0, 72, 73, 77, 75,
- 337, 338, 339, 340, 0, 0, 80, 131, 0, 0,
- 0, 30, 31, 0, 34, 35, 328, 64, 70, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 140, 370, 371, 377, 372, 272, 364,
- 280, 0, 49, 93, 95, 110, 109, 113, 107, 108,
- 111, 106, 105, 96, 0, 143, 139, 104, 0, 97,
- 0, 0, 98, 99, 100, 103, 243, 244, 245, 0,
- 266, 268, 267, 0, 271, 0, 102, 292, 293, 295,
- 294, 296, 101, 0, 331, 332, 0, 363, 369, 357,
- 358, 359, 360, 83, 0, 0, 36, 22, 32, 33,
- 74, 0, 336, 0, 333, 334, 335, 301, 0, 0,
- 312, 317, 247, 0, 0, 0, 94, 0, 0, 0,
- 0, 0, 281, 282, 286, 133, 137, 138, 141, 142,
- 149, 161, 192, 368, 373, 374, 376, 375, 370, 371,
- 377, 372, 349, 346, 347, 0, 0, 0, 362, 263,
- 270, 0, 0, 329, 415, 413, 414, 0, 0, 404,
- 405, 406, 407, 409, 410, 408, 411, 412, 0, 0,
- 0, 0, 82, 37, 0, 237, 240, 0, 349, 0,
- 302, 303, 306, 305, 322, 309, 297, 299, 0, 0,
- 313, 314, 0, 0, 318, 319, 0, 0, 248, 249,
- 136, 298, 0, 135, 235, 0, 0, 279, 0, 284,
- 0, 233, 234, 0, 0, 0, 0, 0, 0, 0,
+ 0, 5, 5, 0, 7, 415, 6, 3, 0, 2,
+ 0, 1, 0, 0, 0, 0, 0, 138, 0, 0,
+ 113, 430, 0, 18, 19, 0, 0, 0, 423, 141,
+ 420, 414, 416, 418, 0, 52, 426, 0, 0, 0,
+ 0, 0, 5, 8, 16, 14, 15, 13, 12, 10,
+ 52, 17, 11, 0, 38, 39, 42, 130, 427, 424,
+ 428, 366, 371, 372, 374, 373, 368, 369, 375, 370,
+ 22, 367, 0, 115, 0, 422, 23, 421, 419, 347,
+ 348, 344, 345, 362, 363, 365, 364, 0, 0, 142,
+ 143, 146, 151, 147, 0, 148, 346, 150, 149, 417,
+ 425, 0, 132, 40, 37, 51, 49, 50, 0, 0,
+ 0, 328, 4, 0, 0, 0, 46, 0, 43, 44,
+ 20, 113, 119, 120, 124, 0, 116, 117, 122, 112,
+ 0, 24, 25, 27, 362, 0, 154, 343, 342, 359,
+ 360, 361, 431, 0, 152, 429, 55, 56, 57, 54,
+ 324, 0, 324, 58, 0, 59, 60, 0, 0, 0,
+ 53, 0, 0, 0, 9, 77, 276, 0, 275, 41,
+ 0, 121, 0, 114, 0, 0, 0, 153, 0, 144,
+ 0, 63, 325, 0, 64, 69, 61, 65, 66, 67,
+ 0, 0, 0, 90, 76, 240, 45, 126, 113, 128,
+ 127, 123, 125, 118, 28, 26, 155, 0, 0, 74,
+ 0, 70, 71, 75, 73, 335, 336, 337, 338, 0,
+ 0, 78, 129, 0, 0, 0, 29, 30, 0, 33,
+ 34, 326, 62, 68, 0, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 138, 368,
+ 369, 375, 370, 270, 362, 278, 0, 47, 91, 93,
+ 108, 107, 111, 105, 106, 109, 104, 103, 94, 0,
+ 141, 137, 102, 0, 95, 0, 0, 96, 97, 98,
+ 101, 241, 242, 243, 0, 264, 266, 265, 0, 269,
+ 0, 100, 290, 291, 293, 292, 294, 99, 0, 329,
+ 330, 0, 361, 367, 355, 356, 357, 358, 81, 0,
+ 0, 35, 21, 31, 32, 72, 0, 334, 0, 331,
+ 332, 333, 299, 0, 0, 310, 315, 245, 0, 0,
+ 0, 92, 0, 0, 0, 0, 0, 279, 280, 284,
+ 131, 135, 136, 139, 140, 147, 159, 190, 366, 371,
+ 372, 374, 373, 368, 369, 375, 370, 347, 344, 345,
+ 0, 0, 0, 360, 261, 268, 0, 0, 327, 413,
+ 411, 412, 0, 0, 402, 403, 404, 405, 407, 408,
+ 406, 409, 410, 0, 0, 0, 0, 80, 36, 0,
+ 235, 238, 0, 347, 0, 300, 301, 304, 303, 320,
+ 307, 295, 297, 0, 0, 311, 312, 0, 0, 316,
+ 317, 0, 0, 246, 247, 134, 296, 0, 133, 233,
+ 0, 0, 277, 0, 282, 0, 231, 232, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 351, 352, 353, 354, 356, 355, 0,
- 0, 0, 0, 0, 0, 0, 276, 274, 275, 0,
- 273, 264, 174, 175, 178, 176, 177, 179, 368, 272,
- 164, 165, 364, 378, 379, 380, 0, 168, 169, 265,
- 166, 0, 362, 369, 0, 173, 0, 91, 326, 290,
- 288, 289, 0, 0, 81, 84, 87, 86, 88, 85,
- 0, 236, 241, 239, 0, 0, 300, 0, 308, 0,
- 0, 315, 0, 0, 320, 0, 0, 0, 0, 0,
- 250, 0, 183, 285, 283, 287, 147, 204, 206, 207,
- 208, 209, 210, 211, 0, 0, 0, 0, 0, 0,
- 0, 0, 372, 214, 0, 215, 212, 213, 225, 229,
- 230, 226, 220, 227, 221, 222, 218, 228, 223, 224,
- 219, 216, 202, 217, 205, 269, 403, 398, 400, 399,
- 402, 401, 391, 392, 393, 396, 394, 395, 397, 390,
- 382, 388, 381, 383, 384, 385, 386, 387, 389, 0,
- 0, 0, 172, 159, 170, 0, 171, 180, 182, 291,
- 0, 89, 238, 341, 342, 343, 307, 304, 326, 324,
- 323, 316, 311, 321, 310, 251, 0, 255, 271, 253,
- 257, 112, 193, 194, 195, 196, 197, 198, 199, 201,
- 200, 203, 187, 186, 188, 190, 184, 191, 189, 185,
- 0, 0, 181, 0, 325, 0, 0, 252, 0, 262,
- 0, 258, 259, 158, 160, 90, 0, 256, 0, 0,
- 260, 254, 261, 246
+ 0, 0, 0, 0, 0, 0, 0, 0, 349, 350,
+ 351, 352, 354, 353, 0, 0, 0, 0, 0, 0,
+ 0, 274, 272, 273, 0, 271, 262, 172, 173, 176,
+ 174, 175, 177, 366, 270, 162, 163, 362, 376, 377,
+ 378, 0, 166, 167, 263, 164, 0, 360, 367, 0,
+ 171, 0, 89, 324, 288, 286, 287, 0, 0, 79,
+ 82, 85, 84, 86, 83, 0, 234, 239, 237, 0,
+ 0, 298, 0, 306, 0, 0, 313, 0, 0, 318,
+ 0, 0, 0, 0, 0, 248, 0, 181, 283, 281,
+ 285, 145, 202, 204, 205, 206, 207, 208, 209, 0,
+ 0, 0, 0, 0, 0, 0, 0, 370, 212, 0,
+ 213, 210, 211, 223, 227, 228, 224, 218, 225, 219,
+ 220, 216, 226, 221, 222, 217, 214, 200, 215, 203,
+ 267, 401, 396, 398, 397, 400, 399, 389, 390, 391,
+ 394, 392, 393, 395, 388, 380, 386, 379, 381, 382,
+ 383, 384, 385, 387, 0, 0, 0, 170, 157, 168,
+ 0, 169, 178, 180, 289, 0, 87, 236, 339, 340,
+ 341, 305, 302, 324, 322, 321, 314, 309, 319, 308,
+ 249, 0, 253, 269, 251, 255, 110, 191, 192, 193,
+ 194, 195, 196, 197, 199, 198, 201, 185, 184, 186,
+ 188, 182, 189, 187, 183, 0, 0, 179, 0, 323,
+ 0, 0, 250, 0, 260, 0, 256, 257, 156, 158,
+ 88, 0, 254, 0, 0, 258, 252, 259, 244
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 3, 9, 5, 59, 43, 44, 22, 23, 24,
- 25, 133, 134, 135, 230, 231, 232, 233, 234, 235,
- 46, 26, 48, 49, 27, 120, 121, 122, 51, 262,
- 52, 109, 103, 163, 190, 215, 216, 217, 198, 199,
- 226, 313, 391, 505, 506, 507, 508, 224, 263, 264,
- 265, 266, 28, 76, 128, 129, 130, 131, 176, 207,
- 60, 269, 53, 271, 272, 273, 274, 29, 347, 90,
- 91, 349, 92, 93, 94, 95, 138, 276, 277, 487,
- 278, 488, 279, 280, 365, 561, 281, 433, 282, 283,
- 394, 395, 513, 30, 285, 286, 287, 417, 418, 419,
- 529, 657, 660, 661, 662, 288, 289, 290, 291, 292,
- 293, 469, 96, 295, 341, 342, 343, 429, 509, 296,
- 297, 298, 299, 328, 399, 400, 401, 402, 403, 404,
- 300, 301, 409, 410, 411, 413, 414, 415, 518, 620,
- 185, 186, 302, 54, 303, 304, 324, 305, 114, 326,
- 613, 405, 140, 98, 459, 314, 141, 142, 143, 144,
- 73, 494, 599, 389, 7, 8, 31, 32, 33, 61,
- 34, 35, 36
+ -1, 3, 9, 5, 57, 42, 43, 22, 23, 24,
+ 25, 130, 131, 132, 225, 226, 227, 228, 229, 230,
+ 45, 26, 47, 27, 117, 118, 119, 49, 257, 50,
+ 106, 101, 160, 186, 210, 211, 212, 193, 194, 221,
+ 308, 386, 500, 501, 502, 503, 219, 258, 259, 260,
+ 261, 28, 74, 125, 126, 127, 128, 172, 202, 58,
+ 264, 51, 266, 267, 268, 269, 29, 342, 88, 89,
+ 344, 90, 91, 92, 93, 135, 271, 272, 482, 273,
+ 483, 274, 275, 360, 556, 276, 428, 277, 278, 389,
+ 390, 508, 30, 280, 281, 282, 412, 413, 414, 524,
+ 652, 655, 656, 657, 283, 284, 285, 286, 287, 288,
+ 464, 94, 290, 336, 337, 338, 424, 504, 291, 292,
+ 293, 294, 323, 394, 395, 396, 397, 398, 399, 295,
+ 296, 404, 405, 406, 408, 409, 410, 513, 615, 181,
+ 182, 297, 52, 298, 299, 319, 300, 111, 321, 608,
+ 400, 137, 96, 454, 309, 138, 139, 140, 141, 71,
+ 489, 594, 384, 7, 8, 31, 32, 33, 59, 34,
+ 35, 36
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -602
+#define YYPACT_NINF -593
static const yytype_int16 yypact[] =
{
- 33, 8, 8, 32, -602, -602, -602, -602, 13, -602,
- 186, -602, -7, -2, 36, -33, 55, -602, 1108, 60,
- -17, -602, 74, -602, -602, 10, 89, 99, -602, 710,
- -602, 13, -602, -602, 55, -602, -602, 8, 107, 109,
- 113, 828, 141, 8, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, 53, -602, -602, 137, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, 78, 34, 8, -602, 1108, -602,
- -602, -602, -602, -602, -602, 76, -602, -602, -602, 904,
- 189, 110, -602, -602, -602, -602, 86, -602, -602, -602,
- 112, -602, -602, 827, -602, -602, 75, -602, -602, -602,
- -602, 1108, 1108, 1108, -602, -602, 51, 752, 607, -602,
- 118, 108, -602, -602, -17, -602, -602, -602, 132, 139,
- -602, -602, -602, 134, 142, -602, -602, -602, 46, -602,
- -602, -602, -602, -602, -602, -602, 710, -602, -602, -602,
- -602, -602, -602, 143, 145, 143, -602, 149, -602, -602,
- 143, 143, 143, -602, 213, 147, 148, 152, -602, -602,
- -602, 8, -602, -602, 137, -602, 23, -602, 34, 237,
- 1108, -602, 904, -602, 230, -602, -602, 828, -602, 274,
- -602, -602, -602, -602, -602, 238, 229, 176, -602, 279,
- -602, -602, -602, -17, -602, -602, -602, -602, -602, 133,
- -602, -602, 168, 171, -602, 172, 174, -602, -602, -602,
- -602, -602, -602, -602, 543, 167, -602, -602, 167, 184,
- 192, 133, -602, 264, -602, -602, -602, -602, -602, 274,
- -602, 167, 141, 163, 180, 180, 8, 8, 8, 183,
- 466, 258, 660, 780, 921, 938, 403, 1108, -602, -35,
- 328, 8, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, 8, 710, -602, -602, 8, -602,
- 8, 955, -602, -602, -602, -602, -602, -602, -602, 8,
- -602, -602, -602, 180, 177, 198, -602, -602, -602, -602,
- -602, -602, -602, 8, -602, -602, 817, -82, 86, -602,
- -602, -602, -602, -602, 1108, 194, -602, -602, -602, -602,
- -602, 1108, -602, 1108, -602, -602, -602, 972, 8, 8,
- 287, 301, 293, 8, 8, 202, -602, 8, 8, 203,
- 271, 208, 209, -602, -602, -602, -602, -602, -602, -602,
- 207, -602, -602, -12, -12, -12, -12, -12, -12, -12,
- 175, -11, 225, 225, 225, 289, -12, 225, -12, -602,
- -602, 590, 466, -602, -602, -602, -602, 1023, 1040, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, 693, 904,
- 212, 41, -602, -602, -5, -602, 241, 216, 286, 220,
- 221, -602, -602, -602, -602, -602, -602, -602, 904, 319,
- 287, -602, 904, 322, 301, -602, 904, 72, 293, -602,
- -602, -602, 182, -602, -602, 904, 403, -602, 328, 67,
- 904, -602, -602, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
- 299, 303, 304, 306, 307, 309, 310, 311, 1117, -12,
- 1108, 1108, 1108, -602, -602, -602, -602, -602, -602, 440,
- 989, 1006, 1108, 1108, 904, 1108, -602, -602, -602, 180,
- -602, -602, -602, -602, -602, -602, -602, -602, 563, 661,
- 746, 746, -35, -602, -602, -602, 710, -602, -602, -602,
- -602, 746, 325, -10, 904, -602, 904, -602, 143, -602,
- -602, -602, 242, 143, -602, -602, -602, -602, -602, -602,
- 1108, -602, -602, -602, 887, 904, -602, 972, 88, 8,
- 8, -602, 8, 8, -602, 8, 607, 466, 607, 8,
- -602, 8, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1108, 1108, -602, 1108, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, 1091,
- 1057, 1074, -602, 235, 239, 904, -602, -602, -602, -602,
- 274, -602, -602, -602, -602, -602, -602, -602, 143, -602,
- -602, -602, -602, -602, -602, -602, 329, 254, -602, -602,
- 65, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
- 710, 710, -602, 261, -602, 368, 607, -602, 328, -602,
- 358, 65, -602, 110, 110, -602, 590, -602, 8, 8,
- -602, -602, -602, -602
+ -16, -3, -3, 45, -593, -593, -593, -593, 20, -593,
+ 77, -593, 43, 18, 75, -43, 38, -593, 1101, 76,
+ 4, -593, 93, -593, -593, 16, 105, 107, -593, 699,
+ -593, 20, -593, -593, 38, -593, -593, -3, 87, 110,
+ 923, 165, -3, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, 31, -593, -593, 114, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, 55, 49, -3, -593, 1101, -593, -593, -593,
+ -593, -593, -593, 35, -593, -593, -593, 889, 137, 54,
+ -593, -593, -593, -593, 62, -593, -593, -593, 79, -593,
+ -593, 815, -593, -593, -593, -593, -593, -593, 1101, 1101,
+ 1101, -593, -593, 34, 740, 816, -593, 102, 53, -593,
+ -593, 4, -593, -593, -593, 109, 106, -593, -593, -593,
+ 113, 116, -593, -593, -593, -9, -593, -593, -593, -593,
+ -593, -593, -593, 699, -593, -593, -593, -593, -593, -593,
+ 128, 129, 128, -593, 131, -593, -593, 128, 128, 128,
+ -593, 125, 126, 127, -593, -593, -593, -3, -593, -593,
+ 114, -593, 32, -593, 49, 222, 1101, -593, 889, -593,
+ 213, -593, -593, 923, -593, 171, -593, -593, -593, -593,
+ 228, 229, 142, -593, 253, -593, -593, -593, 4, -593,
+ -593, -593, -593, -593, 112, -593, -593, 164, 172, -593,
+ 174, 177, -593, -593, -593, -593, -593, -593, -593, 534,
+ 227, -593, -593, 227, 186, 194, 112, -593, 266, -593,
+ -593, -593, -593, -593, 171, -593, 227, 165, 233, 182,
+ 182, -3, -3, -3, 183, 462, 261, 649, 768, 906,
+ 935, 399, 1101, -593, 98, 1054, -3, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -3,
+ 699, -593, -593, -3, -593, -3, 952, -593, -593, -593,
+ -593, -593, -593, -593, -3, -593, -593, -593, 182, 179,
+ 184, -593, -593, -593, -593, -593, -593, -593, -3, -593,
+ -593, 843, -59, 62, -593, -593, -593, -593, -593, 1101,
+ 206, -593, -593, -593, -593, -593, 1101, -593, 1101, -593,
+ -593, -593, 969, -3, -3, 298, 299, 289, -3, -3,
+ 199, -593, -3, -3, 197, 268, 205, 208, -593, -593,
+ -593, -593, -593, -593, -593, 203, -593, -593, 8, 8,
+ 8, 8, 8, 8, 8, 155, 15, 232, 232, 232,
+ 282, 8, 232, 8, -593, -593, 586, 462, -593, -593,
+ -593, -593, 986, 1003, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, 682, 889, 207, 212, -593, -593, -10,
+ -593, 237, 209, 284, 215, 217, -593, -593, -593, -593,
+ -593, -593, -593, 889, 317, 298, -593, 889, 318, 299,
+ -593, 889, 120, 289, -593, -593, -593, 234, -593, -593,
+ 889, 399, -593, 1054, 67, 889, -593, -593, 1101, 1101,
+ 1101, 1101, 1101, 1101, 1101, 297, 302, 303, 304, 305,
+ 307, 308, 311, 1110, 8, 1101, 1101, 1101, -593, -593,
+ -593, -593, -593, -593, 324, 436, 841, 1101, 1101, 889,
+ 1101, -593, -593, -593, 182, -593, -593, -593, -593, -593,
+ -593, -593, -593, 557, 650, 735, 735, 98, -593, -593,
+ -593, 699, -593, -593, -593, -593, 735, 309, -19, 889,
+ -593, 889, -593, 128, -593, -593, -593, 238, 128, -593,
+ -593, -593, -593, -593, -593, 1101, -593, -593, -593, 1088,
+ 889, -593, 969, -5, -3, -3, -593, -3, -3, -593,
+ -3, 816, 462, 816, -3, -593, -3, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, 1101,
+ 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, -593, 1101,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, 1071, 1020, 1037, -593, 235, 257,
+ 889, -593, -593, -593, -593, 171, -593, -593, -593, -593,
+ -593, -593, -593, 128, -593, -593, -593, -593, -593, -593,
+ -593, 325, 259, -593, -593, 40, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, 699, 699, -593, 262, -593,
+ 367, 816, -593, 1054, -593, 357, 40, -593, 54, 54,
+ -593, 586, -593, -3, -3, -593, -593, -593, -593
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -602, -602, -602, 35, -1, -602, 270, 4, -602, -602,
- -602, -602, -602, 211, -602, -602, 156, -602, -602, -602,
- -602, -3, -602, -602, 11, -602, -602, 214, -602, -602,
- -602, 205, 337, -602, -602, -602, -602, -233, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -602, -602, 144,
- -602, -602, -145, -97, -602, -602, 219, -602, -602, -602,
- -140, -602, -137, -602, -602, -602, -602, -211, -602, 119,
- -399, -602, 253, -86, -602, -81, -602, -602, -602, -602,
- -602, -602, -602, -602, -602, -602, -602, -285, -602, -601,
- -602, -108, -602, -129, -602, -602, -602, -602, -602, -15,
- -602, -602, -602, -602, -257, -602, -602, -231, -602, -602,
- -118, -256, -98, 162, -602, -602, -420, -602, -16, -602,
- -602, -602, -602, -227, -602, -602, -102, -602, -368, -96,
- -602, -602, -602, -602, 7, -602, -602, 17, -602, -602,
- -152, -150, -602, -602, -602, -602, -602, -602, 15, -602,
- -602, -80, -27, 30, -235, -148, -193, -602, -25, -13,
- -207, -602, -318, -602, -602, -602, -602, 396, -602, 398,
- -602, -602, 19
+ -593, -593, -593, 19, -1, -593, 271, 9, -593, -593,
+ -593, -593, -593, 210, -593, -593, 161, -593, -593, -593,
+ -593, 12, -593, 13, -593, -593, 219, -593, -593, -593,
+ 211, 341, -593, -593, -593, -593, -228, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -593, -593, 145, -593,
+ -593, -194, -64, -593, -593, 221, -593, -593, -593, -172,
+ -593, -171, -593, -593, -593, -593, -207, -593, 123, -422,
+ -593, 254, -83, -593, -81, -593, -593, -593, -593, -593,
+ -593, -593, -593, -593, -593, -593, -244, -593, -592, -593,
+ -106, -593, -170, -593, -593, -593, -593, -593, -8, -593,
+ -593, -593, -593, -252, -593, -593, -227, -593, -593, -116,
+ -253, -98, 166, -593, -593, -415, -593, -12, -593, -593,
+ -593, -593, -220, -593, -593, -99, -593, -257, -96, -593,
+ -593, -593, -593, 17, -593, -593, 22, -593, -593, -149,
+ -148, -593, -593, -593, -593, -593, -593, -2, -593, -593,
+ -80, -27, 44, -176, -152, -193, -593, -25, -13, -205,
+ -593, -385, -593, -593, -593, -593, 395, -593, 394, -593,
+ -593, 51
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -369
+#define YYTABLE_NINF -367
static const yytype_int16 yytable[] =
{
- 6, 6, 97, 188, 99, 72, 320, 47, 534, 139,
- 191, 192, 193, 275, 45, 147, 100, 308, 329, 334,
- 171, 50, 12, 13, 14, -163, 15, 175, 110, 659,
- 4, 306, 11, 431, 451, 62, 104, 10, -277, 55,
- 519, 275, 116, 4, 522, 308, 56, -277, 525, 16,
- 17, -6, 37, 62, 38, 39, 40, 41, 202, 306,
- 659, 13, 14, 337, 15, 136, 370, 344, 42, 434,
- 435, 436, 437, 438, 439, 132, 4, 241, 115, 267,
- 315, 463, 57, 465, 268, -278, 526, 270, 367, 89,
- 4, 58, 17, 321, -278, 284, 658, 74, 165, 166,
- 167, 527, 211, 75, 528, 172, 227, 267, 218, 77,
- 432, 452, 268, 47, 89, 270, 169, 510, 18, 97,
- 45, 99, 19, 284, 79, 20, 294, 50, 460, 461,
- 78, 21, 464, 100, 80, 203, 204, 205, 497, 498,
- 499, 471, 500, 501, 502, 503, 124, 125, 126, 1,
- 2, 206, 294, 105, 294, 106, 18, 489, 218, 107,
- 19, 127, 600, 601, 554, 498, 499, 136, 500, 501,
- 200, 181, 182, 605, 110, 118, 219, 486, 339, 111,
- 112, 493, 113, 119, 474, 477, 618, 37, 619, 38,
- 39, 40, 41, 123, 350, 491, 13, 14, 164, 15,
- -278, 111, 112, 42, 113, 309, 310, 311, 312, 323,
- 89, 307, 440, 441, 442, 443, 444, 445, 446, 447,
- 448, 261, 222, 223, 145, 449, 219, 390, 81, 82,
- 83, 84, 146, 533, 174, 344, -277, 172, 668, 307,
- 228, 229, 575, 173, 338, 330, 331, 332, 97, 261,
- 99, 663, 664, 177, 366, 179, 368, 322, 325, 194,
- 345, 178, 100, 184, 180, 187, 562, 566, 570, 189,
- 195, 196, 209, 346, 294, 197, 212, 351, 221, 352,
- 453, 454, 455, 456, 457, 458, 220, 225, 369, 236,
- 294, 18, 237, 238, 316, 19, 239, 450, 317, 319,
- 327, 392, 373, 260, 335, 393, 371, 408, 396, 495,
- 397, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 214, 372, 412, 416, 422, 426, 425, 406, 407, 427,
- 430, 428, 420, 421, 462, 496, 423, 424, 512, 514,
- 515, 516, 520, 517, 544, 532, 609, 523, 545, 546,
- 536, 547, 548, 611, 549, 550, 551, 650, 470, 172,
- -167, 651, 610, 492, 655, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 340, 307, 656, 653, 137, 86,
- 87, 88, 665, 666, 573, 669, 168, 318, 201, 117,
- 504, 210, 213, 511, 348, 531, 336, 208, 89, 183,
- 603, 602, 612, 530, 670, 604, 643, 646, 649, 627,
- 671, 333, 606, 535, 607, 617, 608, 521, 490, 616,
- 537, 538, 539, 540, 541, 542, 543, 101, 626, 628,
- 629, 524, 102, 0, 0, 553, 0, 555, 556, 557,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 571,
- 572, 0, 574, 137, 86, 87, 88, 0, 0, 97,
- 0, 99, 0, 0, 0, 344, 654, 0, 0, 0,
- 0, 0, 0, 100, 0, 0, 0, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 558, 614, 559, 560,
- 137, 86, 87, 88, 0, 0, 0, 396, 0, 0,
- 0, 615, 0, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 258, 172, 172, 172, 170, 0, 621, 622,
- 0, 623, 624, 0, 625, 652, 0, 0, 630, 218,
- 631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
- 0, 641, 0, 0, 37, 0, 0, 0, 0, 0,
- 240, 0, 12, 13, 14, 241, 0, 0, 667, 242,
- 243, 244, 245, 0, 0, 246, 0, 247, 0, 248,
- 0, 249, 0, 0, 0, 0, 250, 251, 4, 252,
- 253, 64, 65, 66, 67, 254, 255, 256, 257, 258,
- 0, 0, 0, 259, 86, 87, 88, 219, -162, 0,
- -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
- -140, -140, -140, -140, -140, -140, -140, 0, 0, 0,
- 0, 0, 0, 97, 97, 99, 99, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 466, 100, 100, 0,
- 467, 0, 468, 172, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 470, 0, 20, 0, 170, 0, 0,
- 0, 37, 0, 260, 0, 0, 0, 672, 673, 12,
- 13, 14, 241, 0, 0, 0, 242, 243, 244, 245,
- 0, 0, 246, 0, 247, 0, 248, -140, 249, 0,
- 0, 0, 0, 250, 251, 4, -349, 253, 64, 65,
- 66, 67, 254, 255, 256, 257, 258, 0, 0, 0,
- 259, 86, 87, 88, 0, 0, 576, 577, 578, 579,
- 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
- 478, 64, 65, 66, 67, 68, 69, 70, 71, 479,
- 82, 480, 481, 482, 86, 87, 88, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 81, 82, 83, 84,
- 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 260, 0, 0, 0, 0, 0, 0, 4, 0, 0,
- 0, 590, 0, 591, 592, 593, 594, 595, 596, 597,
- 598, 576, 577, 578, 579, 580, 581, 582, 583, 584,
- 585, 586, 587, 588, 589, 0, 0, 0, 0, 0,
- 0, 0, 0, 483, 484, 485, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, -368,
- -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
- -368, -368, -368, 148, 0, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 108, 0, 590, 0, 591, 592,
- 593, 594, 595, 596, 597, 598, 374, 375, 376, 377,
- 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
- -368, 0, 0, -368, 0, 0, 0, 0, 0, -368,
+ 6, 6, 95, 184, 97, 70, 315, 136, 529, 187,
+ 188, 189, 270, 144, 303, -161, 98, 167, 329, 44,
+ 324, 10, 46, 48, 4, 262, 301, 107, 12, 13,
+ 14, 4, 15, 654, -6, 37, 102, 38, 39, 40,
+ 270, 113, 303, 13, 14, 11, 15, 263, 265, 279,
+ 41, 236, 426, 262, 301, 16, 17, 171, 332, 446,
+ -275, 112, 339, 133, 654, 54, 197, 60, 365, -275,
+ 653, 310, 4, 129, 17, 263, 265, 279, 37, 56,
+ 38, 39, 40, 362, 316, 60, 13, 14, 53, 15,
+ 595, 596, 613, 41, 614, 161, 162, 163, 206, 1,
+ 2, 600, 168, 87, 213, 429, 430, 431, 432, 433,
+ 434, 505, 72, 165, 177, 178, 95, 458, 97, 460,
+ 55, 289, 44, 73, 18, 46, 48, 75, 19, 427,
+ 98, 20, 103, 521, 222, 76, 447, 21, 18, 77,
+ 466, 78, 19, 198, 199, 200, 514, 289, 522, 289,
+ 517, 523, 115, 213, 520, 104, 484, -276, 201, 116,
+ 121, 122, 123, 133, 493, 494, 195, 495, 496, 120,
+ 107, 142, 214, 334, 124, 143, 481, 170, 488, 469,
+ 472, 18, 455, 456, 87, 19, 459, 217, 218, 345,
+ 486, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 549, -275, 108, 109, 444, 110, 302, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 209, -276, 223, 224,
+ 87, 214, 385, 658, 659, 169, -276, 174, 528, 173,
+ 339, 256, 168, 175, 302, 317, 320, 176, 663, 333,
+ 325, 326, 327, 95, 570, 97, 4, 180, 183, 361,
+ 185, 363, 190, 191, 192, 340, 204, 98, 207, 256,
+ 220, 557, 561, 565, 304, 305, 306, 307, 341, 289,
+ 108, 109, 346, 110, 347, 215, 445, 216, 318, 79,
+ 80, 81, 82, 364, 231, 289, 448, 449, 450, 451,
+ 452, 453, 232, 87, 233, 311, 387, 368, 234, 312,
+ 314, 322, 255, 391, 490, 392, 330, 366, 492, 493,
+ 494, 367, 495, 496, 497, 498, 388, 403, 411, 407,
+ 417, 421, 401, 402, 420, 422, 457, 415, 416, 423,
+ 425, 418, 419, 507, 491, 511, 509, 510, 512, 515,
+ 527, 539, 518, -165, 604, 531, 540, 541, 542, 543,
+ 606, 544, 545, 465, 168, 546, 645, 605, 487, 650,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 553,
+ 302, 554, 555, 134, 84, 85, 86, 648, 646, 568,
+ 651, 661, 660, 664, 164, 499, 205, 313, 506, 196,
+ 526, 114, 331, 343, 208, 203, 597, 179, 598, 607,
+ 599, 638, 641, 644, 665, 525, 622, 601, 666, 602,
+ 328, 603, 530, 612, 611, 532, 533, 534, 535, 536,
+ 537, 538, 516, 621, 623, 624, 99, 485, 100, 0,
+ 548, 519, 550, 551, 552, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 566, 567, 0, 569, 134, 84,
+ 85, 86, 0, 0, 95, 0, 97, 0, 0, 0,
+ 339, 0, 0, 0, 649, 0, 0, 0, 98, 0,
+ 0, 0, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 558, 609, 559, 560, 134, 84, 85, 86, 0,
+ 0, 0, 391, 0, 0, 0, 610, 0, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 253, 168, 168,
+ 168, 166, 0, 616, 617, 0, 618, 619, 0, 620,
+ 647, 0, 0, 625, 213, 626, 627, 628, 629, 630,
+ 631, 632, 633, 634, 635, 37, 636, 0, 0, 0,
+ 235, 0, 12, 13, 14, 236, 0, 0, 0, 237,
+ 238, 239, 240, 662, 0, 241, 0, 242, 0, 243,
+ 0, 244, 0, 0, 0, 0, 245, 246, 4, 247,
+ 248, 62, 63, 64, 65, 249, 250, 251, 252, 253,
+ 0, 0, 0, 254, 84, 85, 86, 0, 0, 0,
+ 0, -160, 214, -138, -138, -138, -138, -138, -138, -138,
+ -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
+ 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
+ 97, 97, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 461, 98, 98, 0, 462, 0, 463, 168, 0,
+ 0, 0, 0, 0, 0, 20, 0, 0, 465, 0,
+ 37, 0, 0, 255, 0, 0, 0, 12, 13, 14,
+ 236, 0, 667, 668, 237, 238, 239, 240, 0, 0,
+ 241, 0, 242, 0, 243, 0, 244, 0, 0, -138,
+ 0, 245, 246, 4, -347, 248, 62, 63, 64, 65,
+ 249, 250, 251, 252, 253, 0, 0, 0, 254, 84,
+ 85, 86, 0, 0, 571, 572, 573, 574, 575, 576,
+ 577, 578, 579, 580, 581, 582, 583, 584, 473, 62,
+ 63, 64, 65, 66, 67, 68, 69, 474, 80, 475,
+ 476, 477, 84, 85, 86, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 79, 80, 81, 82, 83, 84,
+ 85, 86, 0, 0, 0, 0, 0, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 255, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 585,
+ 0, 586, 587, 588, 589, 590, 591, 592, 593, 571,
+ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
+ 582, 583, 584, 0, 0, 0, 0, 0, 0, 0,
+ 0, 478, 479, 480, 0, 0, 0, 0, 0, 0,
+ 0, 87, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ 145, 0, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 0, 0, 0, 585, 166, 586, 587, 588, 589,
+ 590, 591, 592, 593, 0, 0, 0, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 562, -366, 563, 564,
+ 134, 84, 85, 86, 0, -366, -366, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 81, 82, 83, 84, 0, 0, 0,
- 388, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 81, 82, 83, 84, 137, 86, 87, 88, -231, -231,
- -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
- -231, -231, -231, -231, -231, -232, -232, -232, -232, -232,
- -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
- -232, -232, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 82, 363, 364, 137, 86, 87, 88, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 398, 82,
- 83, 84, 137, 86, 87, 88, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 563, 0, 564, 565, 137,
- 86, 87, 88, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 567, 0, 568, 569, 137, 86, 87, 88,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 0,
- 0, 472, 473, 137, 86, 87, 88, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 0, 0, 475, 476,
- 137, 86, 87, 88, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 0, 0, 644, 645, 137, 86, 87,
- 88, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 0, 0, 647, 648, 137, 86, 87, 88, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 642, 0, 0,
- 0, 137, 86, 87, 88, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 63, 64, 65, 66, 67, 68,
- 69, 70, 552
+ 159, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 79, 80, 81, 82, 134, 84,
+ 85, 86, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 105, 0,
+ 383, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 80, 358,
+ 359, 134, 84, 85, 86, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 393, 80, 81, 82, 134, 84,
+ 85, 86, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 0, 0, 467, 468, 134, 84, 85, 86, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 0, 0,
+ 470, 471, 134, 84, 85, 86, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 0, 0, 639, 640, 134,
+ 84, 85, 86, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 0, 0, 642, 643, 134, 84, 85, 86,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 335,
+ 0, 0, 0, 134, 84, 85, 86, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 637, 0, 0, 0,
+ 134, 84, 85, 86, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 79, 80, 81, 82, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 61, 62, 63, 64,
+ 65, 66, 67, 68, 547
};
static const yytype_int16 yycheck[] =
{
- 1, 2, 29, 155, 29, 18, 239, 10, 428, 89,
- 160, 161, 162, 224, 10, 96, 29, 224, 245, 250,
- 118, 10, 9, 10, 11, 35, 13, 124, 41, 630,
- 35, 224, 0, 45, 45, 16, 37, 2, 120, 46,
- 408, 252, 43, 35, 412, 252, 48, 129, 416, 36,
- 37, 0, 1, 34, 3, 4, 5, 6, 35, 252,
- 661, 10, 11, 256, 13, 78, 293, 260, 17, 354,
- 355, 356, 357, 358, 359, 76, 35, 12, 43, 224,
- 228, 366, 46, 368, 224, 120, 14, 224, 281, 124,
- 35, 124, 37, 241, 129, 224, 31, 37, 111, 112,
- 113, 29, 182, 120, 32, 118, 203, 252, 189, 35,
- 122, 122, 252, 116, 124, 252, 117, 122, 105, 146,
- 116, 146, 109, 252, 35, 112, 224, 116, 363, 364,
- 120, 118, 367, 146, 35, 112, 113, 114, 97, 98,
- 99, 372, 101, 102, 103, 104, 112, 113, 114, 116,
- 117, 128, 250, 46, 252, 46, 105, 388, 239, 46,
- 109, 127, 480, 481, 449, 98, 99, 180, 101, 102,
- 171, 125, 126, 491, 187, 122, 189, 388, 259, 38,
- 39, 388, 41, 46, 377, 378, 98, 1, 100, 3,
- 4, 5, 6, 115, 275, 388, 10, 11, 123, 13,
- 124, 38, 39, 17, 41, 38, 39, 40, 41, 46,
- 124, 224, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 224, 46, 47, 35, 50, 239, 308, 46, 47,
- 48, 49, 122, 426, 126, 428, 124, 250, 658, 252,
- 107, 108, 469, 125, 257, 246, 247, 248, 275, 252,
- 275, 650, 651, 121, 281, 121, 281, 242, 243, 46,
- 261, 122, 275, 120, 122, 120, 459, 460, 461, 120,
- 123, 123, 35, 274, 372, 123, 46, 278, 49, 280,
- 55, 56, 57, 58, 59, 60, 48, 8, 289, 121,
- 388, 105, 121, 121, 110, 109, 122, 122, 106, 35,
- 120, 314, 303, 120, 46, 111, 129, 20, 321, 389,
- 323, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 123, 21, 30, 122, 54, 123, 328, 329, 121,
- 123, 122, 333, 334, 45, 123, 337, 338, 97, 123,
- 54, 121, 23, 122, 45, 425, 498, 25, 45, 45,
- 430, 45, 45, 503, 45, 45, 45, 122, 371, 372,
- 35, 122, 120, 388, 35, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 388, 122, 610, 50, 51,
- 52, 53, 121, 15, 464, 27, 116, 231, 174, 52,
- 391, 180, 187, 394, 275, 422, 252, 178, 124, 146,
- 486, 482, 510, 418, 661, 486, 599, 600, 601, 527,
- 666, 249, 493, 429, 494, 517, 496, 410, 388, 515,
- 433, 434, 435, 436, 437, 438, 439, 31, 526, 527,
- 528, 414, 34, -1, -1, 448, -1, 450, 451, 452,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 462,
- 463, -1, 465, 50, 51, 52, 53, -1, -1, 486,
- -1, 486, -1, -1, -1, 658, 618, -1, -1, -1,
- -1, -1, -1, 486, -1, -1, -1, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 514, 48, 49,
- 50, 51, 52, 53, -1, -1, -1, 510, -1, -1,
- -1, 514, -1, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 526, 527, 528, 50, -1, 519, 520,
- -1, 522, 523, -1, 525, 605, -1, -1, 529, 610,
- 531, 544, 545, 546, 547, 548, 549, 550, 551, 552,
- -1, 554, -1, -1, 1, -1, -1, -1, -1, -1,
- 7, -1, 9, 10, 11, 12, -1, -1, 656, 16,
- 17, 18, 19, -1, -1, 22, -1, 24, -1, 26,
- -1, 28, -1, -1, -1, -1, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, -1, -1, 50, 51, 52, 53, 610, 35, -1,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, -1, -1, -1,
- -1, -1, -1, 650, 651, 650, 651, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 650, 651, -1,
- 50, -1, 52, 656, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 666, -1, 112, -1, 50, -1, -1,
- -1, 1, -1, 120, -1, -1, -1, 668, 669, 9,
- 10, 11, 12, -1, -1, -1, 16, 17, 18, 19,
- -1, -1, 22, -1, 24, -1, 26, 124, 28, -1,
- -1, -1, -1, 33, 34, 35, 35, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, -1, -1,
- 50, 51, 52, 53, -1, -1, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, -1, -1, -1, -1, -1, -1,
- -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
- 120, -1, -1, -1, -1, -1, -1, 35, -1, -1,
- -1, 130, -1, 132, 133, 134, 135, 136, 137, 138,
- 139, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, 131, 132, -1, -1, -1, -1,
- -1, -1, -1, -1, 124, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 36, -1, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, -1, 130, -1, 132, 133,
- 134, 135, 136, 137, 138, 139, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 120, -1, -1, 123, -1, -1, -1, -1, -1, 129,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, -1, -1, -1,
- 123, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 37,
+ 1, 2, 29, 152, 29, 18, 234, 87, 423, 157,
+ 158, 159, 219, 94, 219, 34, 29, 115, 245, 10,
+ 240, 2, 10, 10, 34, 219, 219, 40, 8, 9,
+ 10, 34, 12, 625, 0, 1, 37, 3, 4, 5,
+ 247, 42, 247, 9, 10, 0, 12, 219, 219, 219,
+ 16, 11, 44, 247, 247, 35, 36, 121, 251, 44,
+ 119, 42, 255, 76, 656, 47, 34, 16, 288, 128,
+ 30, 223, 34, 74, 36, 247, 247, 247, 1, 122,
+ 3, 4, 5, 276, 236, 34, 9, 10, 45, 12,
+ 475, 476, 97, 16, 99, 108, 109, 110, 178, 115,
+ 116, 486, 115, 122, 185, 349, 350, 351, 352, 353,
+ 354, 121, 36, 114, 123, 124, 143, 361, 143, 363,
+ 45, 219, 113, 119, 104, 113, 113, 34, 108, 121,
+ 143, 111, 45, 13, 198, 119, 121, 117, 104, 34,
+ 367, 34, 108, 111, 112, 113, 403, 245, 28, 247,
+ 407, 31, 121, 234, 411, 45, 383, 122, 126, 45,
+ 111, 112, 113, 176, 97, 98, 167, 100, 101, 114,
+ 183, 34, 185, 254, 125, 121, 383, 124, 383, 372,
+ 373, 104, 358, 359, 122, 108, 362, 45, 46, 270,
+ 383, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 444, 122, 37, 38, 49, 40, 219, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 119, 106, 107,
+ 122, 234, 303, 645, 646, 123, 128, 121, 421, 120,
+ 423, 219, 245, 120, 247, 237, 238, 121, 653, 252,
+ 241, 242, 243, 270, 464, 270, 34, 119, 119, 276,
+ 119, 276, 127, 127, 127, 256, 34, 270, 45, 247,
+ 7, 454, 455, 456, 37, 38, 39, 40, 269, 367,
+ 37, 38, 273, 40, 275, 47, 121, 48, 45, 45,
+ 46, 47, 48, 284, 120, 383, 54, 55, 56, 57,
+ 58, 59, 120, 122, 120, 109, 309, 298, 121, 105,
+ 34, 119, 119, 316, 384, 318, 45, 128, 96, 97,
+ 98, 127, 100, 101, 102, 103, 110, 19, 29, 20,
+ 121, 53, 323, 324, 127, 120, 44, 328, 329, 121,
+ 127, 332, 333, 96, 127, 120, 127, 53, 121, 22,
+ 420, 44, 24, 34, 493, 425, 44, 44, 44, 44,
+ 498, 44, 44, 366, 367, 44, 121, 119, 383, 34,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 383, 47, 48, 49, 50, 51, 52, 605, 121, 459,
+ 121, 14, 120, 26, 113, 386, 176, 226, 389, 170,
+ 417, 50, 247, 270, 183, 174, 477, 143, 481, 505,
+ 481, 594, 595, 596, 656, 413, 522, 488, 661, 489,
+ 244, 491, 424, 512, 510, 428, 429, 430, 431, 432,
+ 433, 434, 405, 521, 522, 523, 31, 383, 34, -1,
+ 443, 409, 445, 446, 447, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 457, 458, -1, 460, 49, 50,
+ 51, 52, -1, -1, 481, -1, 481, -1, -1, -1,
+ 653, -1, -1, -1, 613, -1, -1, -1, 481, -1,
+ -1, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 509, 47, 48, 49, 50, 51, 52, -1,
+ -1, -1, 505, -1, -1, -1, 509, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 521, 522,
+ 523, 49, -1, 514, 515, -1, 517, 518, -1, 520,
+ 600, -1, -1, 524, 605, 526, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 1, 549, -1, -1, -1,
+ 6, -1, 8, 9, 10, 11, -1, -1, -1, 15,
+ 16, 17, 18, 651, -1, 21, -1, 23, -1, 25,
+ -1, 27, -1, -1, -1, -1, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ -1, -1, -1, 49, 50, 51, 52, -1, -1, -1,
+ -1, 34, 605, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ -1, -1, -1, -1, -1, -1, -1, -1, 645, 646,
+ 645, 646, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 645, 646, -1, 49, -1, 51, 651, -1,
+ -1, -1, -1, -1, -1, 111, -1, -1, 661, -1,
+ 1, -1, -1, 119, -1, -1, -1, 8, 9, 10,
+ 11, -1, 663, 664, 15, 16, 17, 18, -1, -1,
+ 21, -1, 23, -1, 25, -1, 27, -1, -1, 122,
+ -1, 32, 33, 34, 34, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, -1, -1, -1, 49, 50,
+ 51, 52, -1, -1, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
- 51, 52, 53, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, 53,
+ 48, 49, 50, 51, 52, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, -1, -1, -1, -1, -1, -1, -1, -1,
+ 111, -1, -1, -1, -1, -1, -1, -1, 119, -1,
+ -1, -1, -1, -1, 34, -1, -1, -1, -1, 129,
+ -1, 131, 132, 133, 134, 135, 136, 137, 138, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, -1, -1, -1, -1, -1, -1,
+ -1, 129, 130, 131, -1, -1, -1, -1, -1, -1,
+ -1, 122, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 35, -1, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, -1, -1, -1, 129, 49, 131, 132, 133, 134,
+ 135, 136, 137, 138, -1, -1, -1, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 119, 47, 48,
+ 49, 50, 51, 52, -1, 127, 128, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
- -1, 48, 49, 50, 51, 52, 53, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, 48, 49,
- 50, 51, 52, 53, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, -1, -1, 48, 49, 50, 51, 52,
- 53, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- -1, -1, 48, 49, 50, 51, 52, 53, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
- -1, 50, 51, 52, 53, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 37, 38, 39, 40, 41, 42,
- 43, 44, 45
+ 127, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, -1, -1, 47, 48, 49, 50, 51, 52, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, -1, -1,
+ 47, 48, 49, 50, 51, 52, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, -1, -1, 47, 48, 49,
+ 50, 51, 52, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, -1, -1, 47, 48, 49, 50, 51, 52,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ -1, -1, -1, 49, 50, 51, 52, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
+ 49, 50, 51, 52, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 116, 117, 141, 35, 143, 144, 304, 305, 142,
- 143, 0, 9, 10, 11, 13, 36, 37, 105, 109,
- 112, 118, 147, 148, 149, 150, 161, 164, 192, 207,
- 233, 306, 307, 308, 310, 311, 312, 1, 3, 4,
- 5, 6, 17, 145, 146, 147, 160, 161, 162, 163,
- 164, 168, 170, 202, 283, 46, 48, 46, 124, 144,
- 200, 309, 312, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 299, 300, 37, 120, 193, 35, 120, 35,
- 35, 46, 47, 48, 49, 50, 51, 52, 53, 124,
- 209, 210, 212, 213, 214, 215, 252, 292, 293, 298,
- 299, 307, 309, 172, 144, 46, 46, 46, 46, 171,
- 299, 38, 39, 41, 288, 143, 144, 172, 122, 46,
- 165, 166, 167, 115, 112, 113, 114, 127, 194, 195,
- 196, 197, 144, 151, 152, 153, 299, 50, 216, 291,
- 292, 296, 297, 298, 299, 35, 122, 215, 36, 83,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 173, 123, 299, 299, 299, 146, 144,
- 50, 252, 299, 125, 126, 193, 198, 121, 122, 121,
- 122, 125, 126, 212, 120, 280, 281, 120, 280, 120,
- 174, 281, 281, 281, 46, 123, 123, 123, 178, 179,
- 144, 167, 35, 112, 113, 114, 128, 199, 196, 35,
- 153, 291, 46, 171, 46, 175, 176, 177, 215, 299,
- 48, 49, 46, 47, 187, 8, 180, 193, 107, 108,
- 154, 155, 156, 157, 158, 159, 121, 121, 121, 122,
- 7, 12, 16, 17, 18, 19, 22, 24, 26, 28,
- 33, 34, 36, 37, 42, 43, 44, 45, 46, 50,
- 120, 161, 169, 188, 189, 190, 191, 192, 200, 201,
- 202, 203, 204, 205, 206, 207, 217, 218, 220, 222,
- 223, 226, 228, 229, 233, 234, 235, 236, 245, 246,
- 247, 248, 249, 250, 252, 253, 259, 260, 261, 262,
- 270, 271, 282, 284, 285, 287, 296, 299, 300, 38,
- 39, 40, 41, 181, 295, 295, 110, 106, 156, 35,
- 177, 295, 288, 46, 286, 288, 289, 120, 263, 263,
- 144, 144, 144, 253, 247, 46, 189, 296, 299, 215,
- 46, 254, 255, 256, 296, 144, 144, 208, 209, 211,
- 215, 144, 144, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 48, 49, 224, 292, 296, 298, 144,
- 263, 129, 123, 144, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 123, 303,
- 215, 182, 299, 111, 230, 231, 299, 299, 46, 264,
- 265, 266, 267, 268, 269, 291, 144, 144, 20, 272,
- 273, 274, 21, 275, 276, 277, 30, 237, 238, 239,
- 144, 144, 122, 144, 144, 123, 54, 121, 122, 257,
- 123, 45, 122, 227, 227, 227, 227, 227, 227, 227,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 50,
- 122, 45, 122, 55, 56, 57, 58, 59, 60, 294,
- 294, 294, 45, 227, 294, 227, 46, 50, 52, 251,
- 299, 247, 48, 49, 296, 48, 49, 296, 37, 46,
- 48, 49, 50, 130, 131, 132, 207, 219, 221, 247,
- 293, 296, 298, 300, 301, 291, 123, 97, 98, 99,
- 101, 102, 103, 104, 144, 183, 184, 185, 186, 258,
- 122, 144, 97, 232, 123, 54, 121, 122, 278, 268,
- 23, 274, 268, 25, 277, 268, 14, 29, 32, 240,
- 239, 292, 291, 296, 256, 258, 291, 299, 299, 299,
- 299, 299, 299, 299, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 299, 227, 299, 299, 299, 46, 48,
- 49, 225, 296, 46, 48, 49, 296, 46, 48, 49,
- 296, 299, 299, 291, 299, 263, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 130, 132, 133, 134, 135, 136, 137, 138, 139, 302,
- 302, 302, 215, 213, 215, 302, 215, 291, 291, 280,
- 120, 281, 231, 290, 292, 299, 269, 266, 98, 100,
- 279, 144, 144, 144, 144, 144, 252, 250, 252, 252,
- 144, 144, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 299, 46, 296, 48, 49, 296, 48, 49, 296,
- 122, 122, 291, 177, 280, 35, 122, 241, 31, 229,
- 242, 243, 244, 210, 210, 121, 15, 252, 256, 27,
- 244, 251, 144, 144
+ 0, 115, 116, 140, 34, 142, 143, 302, 303, 141,
+ 142, 0, 8, 9, 10, 12, 35, 36, 104, 108,
+ 111, 117, 146, 147, 148, 149, 160, 162, 190, 205,
+ 231, 304, 305, 306, 308, 309, 310, 1, 3, 4,
+ 5, 16, 144, 145, 146, 159, 160, 161, 162, 166,
+ 168, 200, 281, 45, 47, 45, 122, 143, 198, 307,
+ 310, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 297, 298, 36, 119, 191, 34, 119, 34, 34, 45,
+ 46, 47, 48, 49, 50, 51, 52, 122, 207, 208,
+ 210, 211, 212, 213, 250, 290, 291, 296, 297, 305,
+ 307, 170, 143, 45, 45, 45, 169, 297, 37, 38,
+ 40, 286, 142, 143, 170, 121, 45, 163, 164, 165,
+ 114, 111, 112, 113, 125, 192, 193, 194, 195, 143,
+ 150, 151, 152, 297, 49, 214, 289, 290, 294, 295,
+ 296, 297, 34, 121, 213, 35, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 171, 297, 297, 297, 145, 143, 49, 250, 297, 123,
+ 124, 191, 196, 120, 121, 120, 121, 123, 124, 210,
+ 119, 278, 279, 119, 278, 119, 172, 279, 279, 279,
+ 127, 127, 127, 176, 177, 143, 165, 34, 111, 112,
+ 113, 126, 197, 194, 34, 152, 289, 45, 169, 45,
+ 173, 174, 175, 213, 297, 47, 48, 45, 46, 185,
+ 7, 178, 191, 106, 107, 153, 154, 155, 156, 157,
+ 158, 120, 120, 120, 121, 6, 11, 15, 16, 17,
+ 18, 21, 23, 25, 27, 32, 33, 35, 36, 41,
+ 42, 43, 44, 45, 49, 119, 160, 167, 186, 187,
+ 188, 189, 190, 198, 199, 200, 201, 202, 203, 204,
+ 205, 215, 216, 218, 220, 221, 224, 226, 227, 231,
+ 232, 233, 234, 243, 244, 245, 246, 247, 248, 250,
+ 251, 257, 258, 259, 260, 268, 269, 280, 282, 283,
+ 285, 294, 297, 298, 37, 38, 39, 40, 179, 293,
+ 293, 109, 105, 155, 34, 175, 293, 286, 45, 284,
+ 286, 287, 119, 261, 261, 143, 143, 143, 251, 245,
+ 45, 187, 294, 297, 213, 45, 252, 253, 254, 294,
+ 143, 143, 206, 207, 209, 213, 143, 143, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 47, 48,
+ 222, 290, 294, 296, 143, 261, 128, 127, 143, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 127, 301, 213, 180, 297, 110, 228,
+ 229, 297, 297, 45, 262, 263, 264, 265, 266, 267,
+ 289, 143, 143, 19, 270, 271, 272, 20, 273, 274,
+ 275, 29, 235, 236, 237, 143, 143, 121, 143, 143,
+ 127, 53, 120, 121, 255, 127, 44, 121, 225, 225,
+ 225, 225, 225, 225, 225, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 49, 121, 44, 121, 54, 55,
+ 56, 57, 58, 59, 292, 292, 292, 44, 225, 292,
+ 225, 45, 49, 51, 249, 297, 245, 47, 48, 294,
+ 47, 48, 294, 36, 45, 47, 48, 49, 129, 130,
+ 131, 205, 217, 219, 245, 291, 294, 296, 298, 299,
+ 289, 127, 96, 97, 98, 100, 101, 102, 103, 143,
+ 181, 182, 183, 184, 256, 121, 143, 96, 230, 127,
+ 53, 120, 121, 276, 266, 22, 272, 266, 24, 275,
+ 266, 13, 28, 31, 238, 237, 290, 289, 294, 254,
+ 256, 289, 297, 297, 297, 297, 297, 297, 297, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44, 297, 225,
+ 297, 297, 297, 45, 47, 48, 223, 294, 45, 47,
+ 48, 294, 45, 47, 48, 294, 297, 297, 289, 297,
+ 261, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 129, 131, 132, 133, 134,
+ 135, 136, 137, 138, 300, 300, 300, 213, 211, 213,
+ 300, 213, 289, 289, 278, 119, 279, 229, 288, 290,
+ 297, 267, 264, 97, 99, 277, 143, 143, 143, 143,
+ 143, 250, 248, 250, 250, 143, 143, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 45, 294, 47,
+ 48, 294, 47, 48, 294, 121, 121, 289, 175, 278,
+ 34, 121, 239, 30, 227, 240, 241, 242, 208, 208,
+ 120, 14, 250, 254, 26, 242, 249, 143, 143
};
#define yyerrok (yyerrstatus = 0)
@@ -2649,206 +2641,201 @@
switch (yyn)
{
case 4:
-#line 572 "pir.y"
+#line 571 "pir.y"
{ fixup_global_labels(lexer); ;}
break;
case 7:
-#line 580 "pir.y"
+#line 579 "pir.y"
{ lexer->linenr += (yyvsp[(1) - (1)].ival); ;}
break;
- case 21:
-#line 607 "pir.y"
+ case 20:
+#line 605 "pir.y"
{ new_macro_const(lexer->macros, (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval), yypirget_lineno(yyscanner)); ;}
break;
- case 22:
-#line 613 "pir.y"
+ case 21:
+#line 611 "pir.y"
{ /* fprintf(stderr, "macro body: [%s]\n", CURRENT_MACRO(lexer)->body);*/ ;}
break;
- case 23:
-#line 617 "pir.y"
+ case 22:
+#line 615 "pir.y"
{
new_macro(lexer->macros, (yyvsp[(2) - (2)].sval), yypirget_lineno(yyscanner), TRUE,
lexer->macro_size);
;}
break;
- case 28:
-#line 632 "pir.y"
+ case 27:
+#line 630 "pir.y"
{ add_macro_param(CURRENT_MACRO(lexer), (yyvsp[(1) - (1)].sval)); ;}
break;
- case 36:
-#line 651 "pir.y"
+ case 35:
+#line 649 "pir.y"
{ store_macro_string(CURRENT_MACRO(lexer), "%s\n", (yyvsp[(2) - (2)].sval)); ;}
break;
- case 37:
-#line 655 "pir.y"
+ case 36:
+#line 653 "pir.y"
{
store_macro_string(CURRENT_MACRO(lexer), ".local %s %s\n",
pir_type_names[(yyvsp[(2) - (3)].ival)], (yyvsp[(3) - (3)].sval));
;}
break;
- case 38:
-#line 666 "pir.y"
+ case 37:
+#line 664 "pir.y"
{ load_library(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
+ case 38:
+#line 668 "pir.y"
+ { yypirset_lineno ((yyvsp[(2) - (2)].ival), yyscanner); ;}
+ break;
+
case 39:
#line 670 "pir.y"
- { yypirset_lineno ((yyvsp[(2) - (2)].ival), yyscanner); ;}
+ { lexer->filename = (yyvsp[(2) - (2)].sval); ;}
break;
case 40:
-#line 672 "pir.y"
- { lexer->filename = (yyvsp[(2) - (2)].sval); ;}
+#line 676 "pir.y"
+ { set_hll(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 41:
-#line 678 "pir.y"
- { set_hll(lexer, (yyvsp[(2) - (2)].sval)); ;}
+#line 680 "pir.y"
+ { set_namespace(lexer, (yyvsp[(3) - (4)].key)); ;}
break;
case 42:
-#line 682 "pir.y"
- { set_hll_map(lexer, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
+#line 684 "pir.y"
+ { (yyval.key) = NULL; ;}
break;
case 43:
#line 686 "pir.y"
- { set_namespace(lexer, (yyvsp[(3) - (4)].key)); ;}
+ { (yyval.key) = (yyvsp[(1) - (1)].key); ;}
break;
case 44:
#line 690 "pir.y"
- { (yyval.key) = NULL; ;}
+ { (yyval.key) = new_key(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
case 45:
#line 692 "pir.y"
- { (yyval.key) = (yyvsp[(1) - (1)].key); ;}
+ { (yyval.key) = add_key(lexer, (yyvsp[(1) - (3)].key), (yyvsp[(3) - (3)].expr)); ;}
break;
case 46:
#line 696 "pir.y"
- { (yyval.key) = new_key(lexer, (yyvsp[(1) - (1)].expr)); ;}
- break;
-
- case 47:
-#line 698 "pir.y"
- { (yyval.key) = add_key(lexer, (yyvsp[(1) - (3)].key), (yyvsp[(3) - (3)].expr)); ;}
- break;
-
- case 48:
-#line 702 "pir.y"
{ (yyval.expr) = expr_from_string(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 50:
-#line 712 "pir.y"
+ case 48:
+#line 706 "pir.y"
{ close_sub(lexer); ;}
break;
- case 51:
-#line 716 "pir.y"
+ case 49:
+#line 710 "pir.y"
{ new_subr(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 56:
-#line 728 "pir.y"
+ case 54:
+#line 722 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_ANON);;}
break;
- case 57:
-#line 730 "pir.y"
+ case 55:
+#line 724 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_INIT); ;}
break;
- case 58:
-#line 732 "pir.y"
+ case 56:
+#line 726 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_LOAD); ;}
break;
- case 59:
-#line 734 "pir.y"
+ case 57:
+#line 728 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_MAIN); ;}
break;
- case 60:
-#line 736 "pir.y"
+ case 58:
+#line 730 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_LEX); ;}
break;
- case 61:
-#line 738 "pir.y"
+ case 59:
+#line 732 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_POSTCOMP); ;}
break;
- case 62:
-#line 740 "pir.y"
+ case 60:
+#line 734 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_IMMEDIATE); ;}
break;
- case 63:
-#line 742 "pir.y"
+ case 61:
+#line 736 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_MULTI); ;}
break;
- case 64:
-#line 744 "pir.y"
+ case 62:
+#line 738 "pir.y"
{ set_sub_outer(lexer, (yyvsp[(3) - (4)].sval)); ;}
break;
- case 65:
-#line 746 "pir.y"
+ case 63:
+#line 740 "pir.y"
{ set_sub_methodname(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 66:
-#line 748 "pir.y"
+ case 64:
+#line 742 "pir.y"
{ set_sub_vtable(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 67:
-#line 750 "pir.y"
+ case 65:
+#line 744 "pir.y"
{ set_sub_subid(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 68:
-#line 752 "pir.y"
+ case 66:
+#line 746 "pir.y"
{ set_sub_instanceof(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 69:
-#line 754 "pir.y"
+ case 67:
+#line 748 "pir.y"
{ set_sub_nsentry(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
- case 70:
-#line 758 "pir.y"
+ case 68:
+#line 752 "pir.y"
{ set_sub_multi_types(lexer, (yyvsp[(2) - (3)].expr)); ;}
break;
- case 71:
-#line 762 "pir.y"
+ case 69:
+#line 756 "pir.y"
{
CURRENT_SUB(lexer)->info.num_multi_types = 1;
/* n=1 means :multi() -- without any types. */
;}
break;
- case 72:
-#line 767 "pir.y"
+ case 70:
+#line 761 "pir.y"
{ (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
break;
- case 73:
-#line 771 "pir.y"
+ case 71:
+#line 765 "pir.y"
{
CURRENT_SUB(lexer)->info.num_multi_types = 2;
/* start counting multi types; always 1 higher than actual number
@@ -2859,8 +2846,8 @@
;}
break;
- case 74:
-#line 780 "pir.y"
+ case 72:
+#line 774 "pir.y"
{
++CURRENT_SUB(lexer)->info.num_multi_types;
/* link the multi types in reverse other. That's fine,
@@ -2871,33 +2858,33 @@
;}
break;
- case 75:
-#line 791 "pir.y"
+ case 73:
+#line 785 "pir.y"
{ (yyval.expr) = expr_from_ident(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 76:
-#line 793 "pir.y"
+ case 74:
+#line 787 "pir.y"
{ (yyval.expr) = expr_from_string(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 77:
-#line 795 "pir.y"
+ case 75:
+#line 789 "pir.y"
{ (yyval.expr) = expr_from_key(lexer, (yyvsp[(1) - (1)].key)); ;}
break;
- case 78:
-#line 799 "pir.y"
+ case 76:
+#line 793 "pir.y"
{ generate_parameters_instr(lexer, (yyvsp[(1) - (1)].uval)); ;}
break;
- case 79:
-#line 803 "pir.y"
+ case 77:
+#line 797 "pir.y"
{ (yyval.uval) = 0; ;}
break;
- case 80:
-#line 805 "pir.y"
+ case 78:
+#line 799 "pir.y"
{
/* if the :named flag was set, there's an extra
* constant string argument for the name. count that too.
@@ -2910,49 +2897,49 @@
;}
break;
- case 81:
-#line 818 "pir.y"
+ case 79:
+#line 812 "pir.y"
{ (yyval.targ) = set_param_flag(lexer, (yyvsp[(2) - (4)].targ), (yyvsp[(3) - (4)].ival)); ;}
break;
- case 82:
-#line 822 "pir.y"
+ case 80:
+#line 816 "pir.y"
{ (yyval.targ) = add_param(lexer, (yyvsp[(1) - (2)].ival), (yyvsp[(2) - (2)].sval)); ;}
break;
- case 83:
-#line 826 "pir.y"
+ case 81:
+#line 820 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 84:
-#line 828 "pir.y"
+ case 82:
+#line 822 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 89:
-#line 838 "pir.y"
+ case 87:
+#line 832 "pir.y"
{
(yyval.ival) = TARGET_FLAG_LOOKAHEAD;
set_param_alias(lexer, (yyvsp[(2) - (2)].sval));
;}
break;
- case 90:
-#line 845 "pir.y"
+ case 88:
+#line 839 "pir.y"
{ (yyval.ival) = TARGET_FLAG_INVOCANT;
/* XXX handle multi_type */
;}
break;
- case 91:
-#line 852 "pir.y"
+ case 89:
+#line 846 "pir.y"
{ (yyval.ival) = TARGET_FLAG_UNIQUE_REG; ;}
break;
- case 93:
-#line 859 "pir.y"
+ case 91:
+#line 853 "pir.y"
{
++lexer->stmt_counter;
/* increment the logical statement counter; a statement can be
@@ -2962,43 +2949,43 @@
;}
break;
- case 94:
-#line 869 "pir.y"
+ case 92:
+#line 863 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 112:
-#line 892 "pir.y"
+ case 110:
+#line 886 "pir.y"
{ annotate(lexer, (yyvsp[(2) - (5)].sval), (yyvsp[(4) - (5)].cval)); ;}
break;
- case 114:
-#line 902 "pir.y"
+ case 112:
+#line 896 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (3)].mval), (yyvsp[(2) - (3)].pval)); ;}
break;
- case 115:
-#line 906 "pir.y"
+ case 113:
+#line 900 "pir.y"
{ (yyval.pval) = NULL; ;}
break;
- case 116:
-#line 908 "pir.y"
+ case 114:
+#line 902 "pir.y"
{ (yyval.pval) = (yyvsp[(2) - (3)].pval); ;}
break;
- case 117:
-#line 912 "pir.y"
+ case 115:
+#line 906 "pir.y"
{ (yyval.pval) = NULL; ;}
break;
- case 119:
-#line 917 "pir.y"
+ case 117:
+#line 911 "pir.y"
{ (yyval.pval) = new_macro_param((yyvsp[(1) - (1)].sval)); ;}
break;
- case 120:
-#line 919 "pir.y"
+ case 118:
+#line 913 "pir.y"
{
macro_param *param = new_macro_param((yyvsp[(3) - (3)].sval));
param->next = (yyvsp[(1) - (3)].pval);
@@ -3006,8 +2993,8 @@
;}
break;
- case 121:
-#line 927 "pir.y"
+ case 119:
+#line 921 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL) {
@@ -3017,23 +3004,23 @@
;}
break;
- case 123:
-#line 936 "pir.y"
+ case 121:
+#line 930 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (2)].mval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 125:
-#line 941 "pir.y"
+ case 123:
+#line 935 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
- case 126:
-#line 946 "pir.y"
+ case 124:
+#line 940 "pir.y"
{ (yyval.sval) = ""; ;}
break;
- case 127:
-#line 948 "pir.y"
+ case 125:
+#line 942 "pir.y"
{ /* XXX cleanup memory stuff */
char *newbuff = (char *)mem_sys_allocate((strlen((yyvsp[(1) - (2)].sval)) + strlen((yyvsp[(2) - (2)].sval)) + 2)
* sizeof (char));
@@ -3042,23 +3029,23 @@
;}
break;
- case 128:
-#line 957 "pir.y"
+ case 126:
+#line 951 "pir.y"
{ (yyval.sval) = "\n"; ;}
break;
- case 131:
-#line 961 "pir.y"
+ case 129:
+#line 955 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (2)].mval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 132:
-#line 969 "pir.y"
+ case 130:
+#line 963 "pir.y"
{ set_instr(lexer, NULL); ;}
break;
- case 134:
-#line 977 "pir.y"
+ case 132:
+#line 971 "pir.y"
{
if (lexer->parse_errors > MAX_NUM_ERRORS)
panic(lexer, "Too many errors. Compilation aborted.\n");
@@ -3067,23 +3054,23 @@
;}
break;
- case 135:
-#line 986 "pir.y"
+ case 133:
+#line 980 "pir.y"
{
set_instrf(lexer, "null", "%T", (yyvsp[(2) - (3)].targ));
get_opinfo(lexer);
;}
break;
- case 136:
-#line 993 "pir.y"
+ case 134:
+#line 987 "pir.y"
{
generate_getresults_instr(lexer, (yyvsp[(2) - (3)].targ));
;}
break;
- case 140:
-#line 1006 "pir.y"
+ case 138:
+#line 1000 "pir.y"
{ /* at this point, TK_IDENT may in fact be a symbol identifier,
* not an op, so don't do any checks like is_parrot_op() just yet.
*/
@@ -3092,8 +3079,8 @@
;}
break;
- case 141:
-#line 1015 "pir.y"
+ case 139:
+#line 1009 "pir.y"
{ /* when this rule is activated, the initial identifier must
* be a parrot op.
*/
@@ -3102,8 +3089,8 @@
;}
break;
- case 147:
-#line 1033 "pir.y"
+ case 145:
+#line 1027 "pir.y"
{
/* the "instruction" that was set now appears to be
* an identifier; get the name, and check its type.
@@ -3139,41 +3126,41 @@
;}
break;
- case 148:
-#line 1069 "pir.y"
+ case 146:
+#line 1063 "pir.y"
{ push_operand(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
- case 149:
-#line 1071 "pir.y"
+ case 147:
+#line 1065 "pir.y"
{ push_operand(lexer, expr_from_key(lexer, (yyvsp[(1) - (1)].key))); ;}
break;
- case 150:
-#line 1075 "pir.y"
+ case 148:
+#line 1069 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
- case 151:
-#line 1077 "pir.y"
+ case 149:
+#line 1071 "pir.y"
{ /* this is either a LABEL or a symbol; in the latter case, the type
* will be filled in later. */
(yyval.expr) = expr_from_ident(lexer, (yyvsp[(1) - (1)].sval));
;}
break;
- case 152:
-#line 1082 "pir.y"
+ case 150:
+#line 1076 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
- case 153:
-#line 1084 "pir.y"
+ case 151:
+#line 1078 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
- case 154:
-#line 1088 "pir.y"
+ case 152:
+#line 1082 "pir.y"
{
/* if $1 is a register, just return that */
if (TEST_FLAG((yyvsp[(1) - (2)].targ)->flags, TARGET_FLAG_IS_REG))
@@ -3196,23 +3183,23 @@
;}
break;
- case 155:
-#line 1111 "pir.y"
+ case 153:
+#line 1105 "pir.y"
{ (yyval.key) = (yyvsp[(2) - (3)].key); ;}
break;
- case 156:
-#line 1115 "pir.y"
+ case 154:
+#line 1109 "pir.y"
{ (yyval.key) = new_key(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
- case 157:
-#line 1117 "pir.y"
+ case 155:
+#line 1111 "pir.y"
{ (yyval.key) = add_key(lexer, (yyvsp[(1) - (3)].key), (yyvsp[(3) - (3)].expr)); ;}
break;
- case 158:
-#line 1126 "pir.y"
+ case 156:
+#line 1120 "pir.y"
{
/* the instruction is already set in parrot_op rule */
unshift_operand(lexer, (yyvsp[(4) - (6)].expr));
@@ -3225,8 +3212,8 @@
;}
break;
- case 159:
-#line 1137 "pir.y"
+ case 157:
+#line 1131 "pir.y"
{
/* the instruction is already set in parrot_op rule */
unshift_operand(lexer, (yyvsp[(4) - (4)].expr));
@@ -3240,8 +3227,8 @@
;}
break;
- case 160:
-#line 1149 "pir.y"
+ case 158:
+#line 1143 "pir.y"
{
unshift_operand(lexer, expr_from_key(lexer, (yyvsp[(4) - (6)].key)));
unshift_operand(lexer, expr_from_target(lexer, (yyvsp[(1) - (6)].targ)));
@@ -3251,8 +3238,8 @@
;}
break;
- case 164:
-#line 1166 "pir.y"
+ case 162:
+#line 1160 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 0)
set_instrf(lexer, "null", "%T", (yyvsp[(1) - (3)].targ));
@@ -3263,8 +3250,8 @@
;}
break;
- case 165:
-#line 1175 "pir.y"
+ case 163:
+#line 1169 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 0.0)
set_instrf(lexer, "null", "%T", (yyvsp[(1) - (3)].targ));
@@ -3275,24 +3262,24 @@
;}
break;
- case 166:
-#line 1184 "pir.y"
+ case 164:
+#line 1178 "pir.y"
{
set_instrf(lexer, "set", "%T%C", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].cval));
get_opinfo(lexer);
;}
break;
- case 167:
-#line 1189 "pir.y"
+ case 165:
+#line 1183 "pir.y"
{
set_instrf(lexer, "set", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(lexer);
;}
break;
- case 168:
-#line 1194 "pir.y"
+ case 166:
+#line 1188 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(3) - (3)].sval));
if (sym) {
@@ -3315,16 +3302,16 @@
;}
break;
- case 169:
-#line 1215 "pir.y"
+ case 167:
+#line 1209 "pir.y"
{
unshift_operand(lexer, expr_from_target(lexer, (yyvsp[(1) - (3)].targ)));
get_opinfo(lexer);
;}
break;
- case 170:
-#line 1220 "pir.y"
+ case 168:
+#line 1214 "pir.y"
{
/* $P0 = foo ["bar"] # PIR style
*
@@ -3367,8 +3354,8 @@
;}
break;
- case 171:
-#line 1261 "pir.y"
+ case 169:
+#line 1255 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(3) - (4)].sval));
target *t;
@@ -3388,8 +3375,8 @@
;}
break;
- case 172:
-#line 1279 "pir.y"
+ case 170:
+#line 1273 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(3) - (4)].ival));
set_target_key(preg, (yyvsp[(4) - (4)].key));
@@ -3398,16 +3385,16 @@
;}
break;
- case 173:
-#line 1286 "pir.y"
+ case 171:
+#line 1280 "pir.y"
{
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%T%E", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].expr));
get_opinfo(lexer);
;}
break;
- case 174:
-#line 1291 "pir.y"
+ case 172:
+#line 1285 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) - (3)].targ));
@@ -3420,8 +3407,8 @@
;}
break;
- case 175:
-#line 1302 "pir.y"
+ case 173:
+#line 1296 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) - (3)].targ));
@@ -3434,8 +3421,8 @@
;}
break;
- case 176:
-#line 1313 "pir.y"
+ case 174:
+#line 1307 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) - (3)].targ));
@@ -3448,8 +3435,8 @@
;}
break;
- case 177:
-#line 1324 "pir.y"
+ case 175:
+#line 1318 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) - (3)].targ));
@@ -3462,32 +3449,32 @@
;}
break;
- case 178:
-#line 1335 "pir.y"
+ case 176:
+#line 1329 "pir.y"
{
set_instrf(lexer, "add", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(lexer);
;}
break;
- case 179:
-#line 1340 "pir.y"
+ case 177:
+#line 1334 "pir.y"
{
set_instrf(lexer, "sub", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(lexer);
;}
break;
- case 180:
-#line 1345 "pir.y"
+ case 178:
+#line 1339 "pir.y"
{
set_instrf(lexer, (yyvsp[(3) - (4)].sval), "%T%E", (yyvsp[(1) - (4)].targ), (yyvsp[(4) - (4)].expr));
get_opinfo(lexer);
;}
break;
- case 181:
-#line 1350 "pir.y"
+ case 179:
+#line 1344 "pir.y"
{
if (targets_equal((yyvsp[(1) - (5)].targ), (yyvsp[(3) - (5)].targ))) /* $P0 = $P0 + $P1 ==> $P0 += $P1 */
set_instrf(lexer, opnames[(yyvsp[(4) - (5)].ival)], "%T%E", (yyvsp[(1) - (5)].targ), (yyvsp[(5) - (5)].expr));
@@ -3499,8 +3486,8 @@
;}
break;
- case 182:
-#line 1360 "pir.y"
+ case 180:
+#line 1354 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (4)].sval));
target *t;
@@ -3521,8 +3508,8 @@
;}
break;
- case 183:
-#line 1379 "pir.y"
+ case 181:
+#line 1373 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (4)].ival));
set_target_key(preg, (yyvsp[(2) - (4)].key));
@@ -3531,98 +3518,98 @@
;}
break;
- case 184:
-#line 1413 "pir.y"
+ case 182:
+#line 1407 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%i%T", (yyvsp[(1) - (3)].ival), (yyvsp[(3) - (3)].targ)); ;}
break;
- case 185:
-#line 1415 "pir.y"
+ case 183:
+#line 1409 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%n%T", (yyvsp[(1) - (3)].dval), (yyvsp[(3) - (3)].targ)); ;}
break;
- case 186:
-#line 1417 "pir.y"
+ case 184:
+#line 1411 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%s%T", (yyvsp[(1) - (3)].sval), (yyvsp[(3) - (3)].targ)); ;}
break;
- case 187:
-#line 1419 "pir.y"
+ case 185:
+#line 1413 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_s_s(yyscanner, (yyvsp[(1) - (3)].sval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].sval))); ;}
break;
- case 188:
-#line 1421 "pir.y"
+ case 186:
+#line 1415 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_i(yyscanner, (yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
- case 189:
-#line 1423 "pir.y"
+ case 187:
+#line 1417 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_n(yyscanner, (yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
- case 190:
-#line 1425 "pir.y"
+ case 188:
+#line 1419 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_n(yyscanner, (yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
- case 191:
-#line 1427 "pir.y"
+ case 189:
+#line 1421 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_i(yyscanner, (yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
- case 192:
-#line 1432 "pir.y"
+ case 190:
+#line 1426 "pir.y"
{ get_opinfo(lexer); ;}
break;
- case 193:
-#line 1441 "pir.y"
+ case 191:
+#line 1435 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, (yyvsp[(3) - (5)].sval), (yyvsp[(5) - (5)].sval)); ;}
break;
- case 194:
-#line 1443 "pir.y"
+ case 192:
+#line 1437 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "int", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 195:
-#line 1445 "pir.y"
+ case 193:
+#line 1439 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "num", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 196:
-#line 1447 "pir.y"
+ case 194:
+#line 1441 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "pmc", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 197:
-#line 1449 "pir.y"
+ case 195:
+#line 1443 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "string", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 198:
-#line 1451 "pir.y"
+ case 196:
+#line 1445 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "if", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 199:
-#line 1453 "pir.y"
+ case 197:
+#line 1447 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "unless", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 200:
-#line 1455 "pir.y"
+ case 198:
+#line 1449 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "goto", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 201:
-#line 1457 "pir.y"
+ case 199:
+#line 1451 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (5)].ival), 1, "null", (yyvsp[(5) - (5)].sval)); ;}
break;
- case 202:
-#line 1459 "pir.y"
+ case 200:
+#line 1453 "pir.y"
{
int istrue = evaluate_c(lexer, (yyvsp[(2) - (4)].cval));
/* if "unless", invert the true-ness */
@@ -3636,8 +3623,8 @@
;}
break;
- case 203:
-#line 1471 "pir.y"
+ case 201:
+#line 1465 "pir.y"
{
set_instrf(lexer, (yyvsp[(1) - (5)].ival) ? "unless_null" : "if_null", "%T%I",
new_reg(lexer, PMC_TYPE, (yyvsp[(3) - (5)].ival)), (yyvsp[(5) - (5)].sval));
@@ -3646,13 +3633,13 @@
;}
break;
- case 204:
-#line 1478 "pir.y"
+ case 202:
+#line 1472 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
- case 205:
-#line 1480 "pir.y"
+ case 203:
+#line 1474 "pir.y"
{
set_instrf(lexer, (yyvsp[(1) - (4)].ival) ? "unless" : "if", "%T%I", (yyvsp[(2) - (4)].targ), (yyvsp[(4) - (4)].sval));
/* set a flag indicating that the 2nd operand is a label */
@@ -3660,58 +3647,58 @@
;}
break;
- case 206:
-#line 1486 "pir.y"
+ case 204:
+#line 1480 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "int", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 207:
-#line 1488 "pir.y"
+ case 205:
+#line 1482 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "num", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 208:
-#line 1490 "pir.y"
+ case 206:
+#line 1484 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "pmc", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 209:
-#line 1492 "pir.y"
+ case 207:
+#line 1486 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "string", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 210:
-#line 1494 "pir.y"
+ case 208:
+#line 1488 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "if", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 211:
-#line 1496 "pir.y"
+ case 209:
+#line 1490 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "unless", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 212:
-#line 1498 "pir.y"
+ case 210:
+#line 1492 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "goto", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 213:
-#line 1500 "pir.y"
+ case 211:
+#line 1494 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "goto", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 214:
-#line 1502 "pir.y"
+ case 212:
+#line 1496 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "null", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 215:
-#line 1504 "pir.y"
+ case 213:
+#line 1498 "pir.y"
{ create_if_instr(lexer, (yyvsp[(1) - (4)].ival), 0, "null", (yyvsp[(4) - (4)].sval)); ;}
break;
- case 216:
-#line 1506 "pir.y"
+ case 214:
+#line 1500 "pir.y"
{
if ((yyvsp[(2) - (4)].ival) == COMPUTE_DURING_RUNTIME) {
if ((yyvsp[(1) - (4)].ival) == NEED_INVERT_OPNAME) /* "unless" */
@@ -3738,8 +3725,8 @@
;}
break;
- case 217:
-#line 1537 "pir.y"
+ case 215:
+#line 1531 "pir.y"
{
/* the instructions "gt" and "ge" are converted to "lt" and "le".
* if so, then the arguments must be reversed as well. "lt" and
@@ -3767,8 +3754,8 @@
;}
break;
- case 218:
-#line 1563 "pir.y"
+ case 216:
+#line 1557 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival) + 1], "%T%i", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].ival));
@@ -3778,8 +3765,8 @@
;}
break;
- case 219:
-#line 1571 "pir.y"
+ case 217:
+#line 1565 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival) + 1], "%T%n", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].dval));
@@ -3790,8 +3777,8 @@
;}
break;
- case 220:
-#line 1580 "pir.y"
+ case 218:
+#line 1574 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%T%s", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].sval));
@@ -3802,71 +3789,71 @@
;}
break;
- case 221:
-#line 1589 "pir.y"
+ case 219:
+#line 1583 "pir.y"
{ (yyval.ival) = evaluate_i_i((yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
- case 222:
-#line 1591 "pir.y"
+ case 220:
+#line 1585 "pir.y"
{ (yyval.ival) = evaluate_i_n((yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
- case 223:
-#line 1593 "pir.y"
+ case 221:
+#line 1587 "pir.y"
{ (yyval.ival) = evaluate_n_i((yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
- case 224:
-#line 1595 "pir.y"
+ case 222:
+#line 1589 "pir.y"
{ (yyval.ival) = evaluate_n_n((yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
- case 225:
-#line 1597 "pir.y"
+ case 223:
+#line 1591 "pir.y"
{ (yyval.ival) = evaluate_s_s((yyvsp[(1) - (3)].sval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].sval)); ;}
break;
- case 226:
-#line 1601 "pir.y"
+ case 224:
+#line 1595 "pir.y"
{
yypirerror(yyscanner, lexer, "cannot compare string to %s",
(yyvsp[(3) - (3)].ival) == INT_TYPE ? "integer" : "number");
;}
break;
- case 227:
-#line 1606 "pir.y"
+ case 225:
+#line 1600 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare integer to string"); ;}
break;
- case 228:
-#line 1608 "pir.y"
+ case 226:
+#line 1602 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare number to string"); ;}
break;
- case 229:
-#line 1612 "pir.y"
+ case 227:
+#line 1606 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
- case 230:
-#line 1613 "pir.y"
+ case 228:
+#line 1607 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
- case 231:
-#line 1616 "pir.y"
+ case 229:
+#line 1610 "pir.y"
{ (yyval.ival) = DONT_INVERT_OPNAME; /* no need to invert */ ;}
break;
- case 232:
-#line 1617 "pir.y"
+ case 230:
+#line 1611 "pir.y"
{ (yyval.ival) = NEED_INVERT_OPNAME; /* yes, invert opname */ ;}
break;
- case 235:
-#line 1625 "pir.y"
+ case 233:
+#line 1619 "pir.y"
{
set_instrf(lexer, "branch", "%I", (yyvsp[(2) - (3)].sval));
set_op_labelflag(lexer, BIT(0)); /* bit 0 means: "1 << 0" */
@@ -3874,38 +3861,38 @@
;}
break;
- case 236:
-#line 1633 "pir.y"
+ case 234:
+#line 1627 "pir.y"
{ declare_local(lexer, (yyvsp[(2) - (4)].ival), (yyvsp[(3) - (4)].symb)); ;}
break;
- case 237:
-#line 1637 "pir.y"
+ case 235:
+#line 1631 "pir.y"
{ (yyval.symb) = (yyvsp[(1) - (1)].symb); ;}
break;
- case 238:
-#line 1639 "pir.y"
+ case 236:
+#line 1633 "pir.y"
{ (yyval.symb) = add_local((yyvsp[(1) - (3)].symb), (yyvsp[(3) - (3)].symb)); ;}
break;
- case 239:
-#line 1643 "pir.y"
+ case 237:
+#line 1637 "pir.y"
{ (yyval.symb) = new_local(lexer, (yyvsp[(1) - (2)].sval), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 240:
-#line 1646 "pir.y"
+ case 238:
+#line 1640 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 241:
-#line 1647 "pir.y"
+ case 239:
+#line 1641 "pir.y"
{ (yyval.ival) = 1; ;}
break;
- case 242:
-#line 1651 "pir.y"
+ case 240:
+#line 1645 "pir.y"
{ /* if $4 is not a register, it must be a declared symbol */
if (!TEST_FLAG((yyvsp[(4) - (5)].targ)->flags, TARGET_FLAG_IS_REG)) {
@@ -3917,57 +3904,67 @@
;}
break;
- case 243:
-#line 1666 "pir.y"
+ case 241:
+#line 1660 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
- case 246:
-#line 1678 "pir.y"
+ case 244:
+#line 1672 "pir.y"
{ /* $4 contains an invocation object */
set_invocation_args(lexer, (yyvsp[(4) - (8)].invo), (yyvsp[(3) - (8)].argm));
(yyval.invo) = set_invocation_results(lexer, (yyvsp[(4) - (8)].invo), (yyvsp[(6) - (8)].targ));
;}
break;
+ case 245:
+#line 1679 "pir.y"
+ { (yyval.argm) = NULL; ;}
+ break;
+
+ case 246:
+#line 1681 "pir.y"
+ { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+ break;
+
case 247:
#line 1685 "pir.y"
- { (yyval.argm) = NULL; ;}
+ { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 248:
#line 1687 "pir.y"
- { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+ { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 249:
#line 1691 "pir.y"
- { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+ { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 250:
-#line 1693 "pir.y"
- { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
+#line 1695 "pir.y"
+ { (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(2) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
break;
case 251:
#line 1697 "pir.y"
- { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
+ { (yyval.invo) = invoke(lexer, CALL_NCI, (yyvsp[(2) - (2)].targ)); ;}
break;
case 252:
-#line 1701 "pir.y"
- { (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(2) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
+#line 1700 "pir.y"
+ { (yyval.invo) = invoke(lexer, CALL_METHOD, (yyvsp[(2) - (5)].targ), (yyvsp[(5) - (5)].expr)); ;}
break;
case 253:
-#line 1703 "pir.y"
- { (yyval.invo) = invoke(lexer, CALL_NCI, (yyvsp[(2) - (2)].targ)); ;}
+#line 1704 "pir.y"
+ { (yyval.targ) = NULL; ;}
break;
case 254:
#line 1706 "pir.y"
- { (yyval.invo) = invoke(lexer, CALL_METHOD, (yyvsp[(2) - (5)].targ), (yyvsp[(5) - (5)].expr)); ;}
+ { (yyval.targ) = (yyvsp[(2) - (2)].targ); ;}
break;
case 255:
@@ -3977,26 +3974,16 @@
case 256:
#line 1712 "pir.y"
- { (yyval.targ) = (yyvsp[(2) - (2)].targ); ;}
+ { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 257:
#line 1716 "pir.y"
- { (yyval.targ) = NULL; ;}
+ { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 258:
#line 1718 "pir.y"
- { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
- break;
-
- case 259:
-#line 1722 "pir.y"
- { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
- break;
-
- case 260:
-#line 1724 "pir.y"
{
if ((yyvsp[(2) - (2)].targ))
(yyval.targ) = add_target(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) - (2)].targ));
@@ -4005,33 +3992,33 @@
;}
break;
- case 261:
-#line 1733 "pir.y"
+ case 259:
+#line 1727 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
- case 262:
-#line 1735 "pir.y"
+ case 260:
+#line 1729 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
- case 264:
-#line 1743 "pir.y"
+ case 262:
+#line 1737 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ)); ;}
break;
- case 265:
-#line 1745 "pir.y"
+ case 263:
+#line 1739 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ)); ;}
break;
- case 266:
-#line 1747 "pir.y"
+ case 264:
+#line 1741 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(1) - (1)].invo), NULL); ;}
break;
- case 269:
-#line 1755 "pir.y"
+ case 267:
+#line 1749 "pir.y"
{
/* if $1 is not a register, check whether the symbol was declared */
if (!TEST_FLAG((yyvsp[(1) - (4)].targ)->flags, TARGET_FLAG_IS_REG)) {
@@ -4051,21 +4038,21 @@
;}
break;
- case 270:
-#line 1775 "pir.y"
+ case 268:
+#line 1769 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(1) - (2)].targ), NULL);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (2)].argm));
;}
break;
- case 271:
-#line 1782 "pir.y"
+ case 269:
+#line 1776 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 272:
-#line 1784 "pir.y"
+ case 270:
+#line 1778 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL)
@@ -4075,8 +4062,8 @@
;}
break;
- case 273:
-#line 1794 "pir.y"
+ case 271:
+#line 1788 "pir.y"
{ /* check that this identifier was declared */
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
@@ -4095,23 +4082,23 @@
;}
break;
- case 274:
-#line 1811 "pir.y"
+ case 272:
+#line 1805 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival))); ;}
break;
- case 275:
-#line 1813 "pir.y"
+ case 273:
+#line 1807 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival))); ;}
break;
- case 276:
-#line 1815 "pir.y"
+ case 274:
+#line 1809 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, new_const(lexer, STRING_VAL, (yyvsp[(1) - (1)].sval))); ;}
break;
- case 277:
-#line 1819 "pir.y"
+ case 275:
+#line 1813 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL)
@@ -4122,96 +4109,96 @@
;}
break;
- case 278:
-#line 1828 "pir.y"
+ case 276:
+#line 1822 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 279:
-#line 1833 "pir.y"
+ case 277:
+#line 1827 "pir.y"
{
(yyval.targ) = (yyvsp[(2) - (3)].targ);
;}
break;
+ case 278:
+#line 1833 "pir.y"
+ { (yyval.targ) = NULL; ;}
+ break;
+
+ case 279:
+#line 1835 "pir.y"
+ { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
+ break;
+
case 280:
#line 1839 "pir.y"
- { (yyval.targ) = NULL; ;}
+ { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 281:
#line 1841 "pir.y"
- { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
+ { (yyval.targ) = add_target(lexer, (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
break;
case 282:
#line 1845 "pir.y"
- { (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
+ { (yyval.targ) = set_param_flag(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) - (2)].ival)); ;}
break;
case 283:
#line 1847 "pir.y"
- { (yyval.targ) = add_target(lexer, (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
+ { (yyval.targ) = set_param_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 284:
#line 1851 "pir.y"
- { (yyval.targ) = set_param_flag(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) - (2)].ival)); ;}
+ { (yyval.ival) = 0; ;}
break;
case 285:
#line 1853 "pir.y"
- { (yyval.targ) = set_param_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
+ { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 286:
#line 1857 "pir.y"
- { (yyval.ival) = 0; ;}
+ { (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
break;
case 287:
#line 1859 "pir.y"
- { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
- break;
-
- case 288:
-#line 1863 "pir.y"
- { (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
- break;
-
- case 289:
-#line 1865 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
break;
- case 290:
-#line 1867 "pir.y"
+ case 288:
+#line 1861 "pir.y"
{ (yyval.ival) = TARGET_FLAG_SLURPY; ;}
break;
- case 291:
-#line 1869 "pir.y"
+ case 289:
+#line 1863 "pir.y"
{
(yyval.ival) = TARGET_FLAG_NAMED;
set_param_alias(lexer, (yyvsp[(2) - (2)].sval));
;}
break;
- case 292:
-#line 1879 "pir.y"
+ case 290:
+#line 1873 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
- case 297:
-#line 1889 "pir.y"
+ case 295:
+#line 1883 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
;}
break;
- case 298:
-#line 1894 "pir.y"
+ case 296:
+#line 1888 "pir.y"
{ /* was the invocation a method call? then it becomes a method tail
* call, otherwise it's just a normal (sub) tail call.
*/
@@ -4222,200 +4209,200 @@
;}
break;
- case 299:
-#line 1905 "pir.y"
+ case 297:
+#line 1899 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
;}
break;
- case 300:
-#line 1912 "pir.y"
+ case 298:
+#line 1906 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 301:
-#line 1916 "pir.y"
+ case 299:
+#line 1910 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 302:
-#line 1918 "pir.y"
+ case 300:
+#line 1912 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 303:
-#line 1922 "pir.y"
+ case 301:
+#line 1916 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 304:
-#line 1924 "pir.y"
+ case 302:
+#line 1918 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) - (3)].argm)); ;}
break;
- case 307:
-#line 1932 "pir.y"
+ case 305:
+#line 1926 "pir.y"
{ (yyval.argm) = set_arg_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
- case 308:
-#line 1936 "pir.y"
+ case 306:
+#line 1930 "pir.y"
{ (yyval.argm) = set_arg_flag((yyval.argm), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 309:
-#line 1940 "pir.y"
+ case 307:
+#line 1934 "pir.y"
{ (yyval.argm) = set_curarg(lexer, new_argument(lexer, (yyvsp[(1) - (1)].expr))); ;}
break;
- case 310:
-#line 1946 "pir.y"
+ case 308:
+#line 1940 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
;}
break;
- case 311:
-#line 1955 "pir.y"
+ case 309:
+#line 1949 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
;}
break;
- case 312:
-#line 1962 "pir.y"
+ case 310:
+#line 1956 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 313:
-#line 1964 "pir.y"
+ case 311:
+#line 1958 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 314:
-#line 1969 "pir.y"
+ case 312:
+#line 1963 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 315:
-#line 1971 "pir.y"
+ case 313:
+#line 1965 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
- case 316:
-#line 1976 "pir.y"
+ case 314:
+#line 1970 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 317:
-#line 1980 "pir.y"
+ case 315:
+#line 1974 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 318:
-#line 1982 "pir.y"
+ case 316:
+#line 1976 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 319:
-#line 1986 "pir.y"
+ case 317:
+#line 1980 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 320:
-#line 1988 "pir.y"
+ case 318:
+#line 1982 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
- case 321:
-#line 1992 "pir.y"
+ case 319:
+#line 1986 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 322:
-#line 1997 "pir.y"
+ case 320:
+#line 1991 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 323:
-#line 1999 "pir.y"
+ case 321:
+#line 1993 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 324:
-#line 2003 "pir.y"
+ case 322:
+#line 1997 "pir.y"
{ (yyval.ival) = ARG_FLAG_FLAT; ;}
break;
- case 325:
-#line 2005 "pir.y"
+ case 323:
+#line 1999 "pir.y"
{
(yyval.ival) = ARG_FLAG_NAMED;
set_arg_alias(lexer, (yyvsp[(2) - (2)].sval));
;}
break;
- case 326:
-#line 2012 "pir.y"
+ case 324:
+#line 2006 "pir.y"
{ (yyval.sval) = NULL; ;}
break;
- case 327:
-#line 2014 "pir.y"
+ case 325:
+#line 2008 "pir.y"
{ (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
break;
- case 328:
-#line 2018 "pir.y"
+ case 326:
+#line 2012 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
- case 330:
-#line 2025 "pir.y"
+ case 328:
+#line 2019 "pir.y"
{ store_global_constant(lexer, (yyvsp[(2) - (2)].cdec)); ;}
break;
- case 333:
-#line 2033 "pir.y"
+ case 331:
+#line 2027 "pir.y"
{ (yyval.cdec) = (yyvsp[(2) - (2)].cdec); ;}
break;
- case 336:
-#line 2041 "pir.y"
+ case 334:
+#line 2035 "pir.y"
{ store_global_constant(lexer, (yyvsp[(2) - (2)].cdec)); ;}
break;
- case 337:
-#line 2045 "pir.y"
+ case 335:
+#line 2039 "pir.y"
{ (yyval.cdec) = new_named_const(lexer, INT_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].ival)); ;}
break;
- case 338:
-#line 2047 "pir.y"
+ case 336:
+#line 2041 "pir.y"
{ (yyval.cdec) = new_named_const(lexer, NUM_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].dval)); ;}
break;
- case 339:
-#line 2049 "pir.y"
+ case 337:
+#line 2043 "pir.y"
{ (yyval.cdec) = new_named_const(lexer, STRING_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
- case 340:
-#line 2051 "pir.y"
+ case 338:
+#line 2045 "pir.y"
{ (yyval.cdec) = new_named_const(lexer, USTRING_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].ustr)); ;}
break;
- case 341:
-#line 2055 "pir.y"
+ case 339:
+#line 2049 "pir.y"
{ (yyval.cdec) = new_pmc_const(lexer, (yyvsp[(1) - (4)].sval), (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].cval)); ;}
break;
- case 343:
-#line 2060 "pir.y"
+ case 341:
+#line 2054 "pir.y"
{ /* this alternative is necessary, otherwise the parser
* just stops when assigning an identifier to a pmc
* const, without an error message. That may be
@@ -4425,98 +4412,98 @@
;}
break;
- case 344:
-#line 2072 "pir.y"
+ case 342:
+#line 2066 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
- case 345:
-#line 2073 "pir.y"
+ case 343:
+#line 2067 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
- case 346:
-#line 2077 "pir.y"
+ case 344:
+#line 2071 "pir.y"
{ (yyval.cval) = new_const(lexer, INT_VAL, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 347:
-#line 2078 "pir.y"
+ case 345:
+#line 2072 "pir.y"
{ (yyval.cval) = new_const(lexer, NUM_VAL, (yyvsp[(1) - (1)].dval)); ;}
break;
- case 348:
-#line 2079 "pir.y"
+ case 346:
+#line 2073 "pir.y"
{ (yyval.cval) = (yyvsp[(1) - (1)].cval); ;}
break;
- case 349:
-#line 2082 "pir.y"
+ case 347:
+#line 2076 "pir.y"
{ (yyval.cval) = new_const(lexer, STRING_VAL, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 350:
-#line 2083 "pir.y"
+ case 348:
+#line 2077 "pir.y"
{ (yyval.cval) = new_const(lexer, USTRING_VAL, (yyvsp[(1) - (1)].ustr)); ;}
break;
- case 351:
-#line 2086 "pir.y"
+ case 349:
+#line 2080 "pir.y"
{ (yyval.ival) = OP_NE; ;}
break;
- case 352:
-#line 2087 "pir.y"
+ case 350:
+#line 2081 "pir.y"
{ (yyval.ival) = OP_EQ; ;}
break;
- case 353:
-#line 2088 "pir.y"
+ case 351:
+#line 2082 "pir.y"
{ (yyval.ival) = OP_LT; ;}
break;
- case 354:
-#line 2089 "pir.y"
+ case 352:
+#line 2083 "pir.y"
{ (yyval.ival) = OP_LE; ;}
break;
- case 355:
-#line 2090 "pir.y"
+ case 353:
+#line 2084 "pir.y"
{ (yyval.ival) = OP_GE; ;}
break;
- case 356:
-#line 2091 "pir.y"
+ case 354:
+#line 2085 "pir.y"
{ (yyval.ival) = OP_GT; ;}
break;
- case 357:
-#line 2094 "pir.y"
+ case 355:
+#line 2088 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
- case 358:
-#line 2095 "pir.y"
+ case 356:
+#line 2089 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
- case 359:
-#line 2096 "pir.y"
+ case 357:
+#line 2090 "pir.y"
{ (yyval.ival) = PMC_TYPE; ;}
break;
- case 360:
-#line 2097 "pir.y"
+ case 358:
+#line 2091 "pir.y"
{ (yyval.ival) = STRING_TYPE; ;}
break;
- case 361:
-#line 2105 "pir.y"
+ case 359:
+#line 2099 "pir.y"
{ set_curtarget(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
- case 363:
-#line 2109 "pir.y"
+ case 361:
+#line 2103 "pir.y"
{ /* a symbol must have been declared; check that at this point. */
symbol * sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL) {
@@ -4530,278 +4517,278 @@
;}
break;
- case 364:
-#line 2122 "pir.y"
+ case 362:
+#line 2116 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 365:
-#line 2123 "pir.y"
+ case 363:
+#line 2117 "pir.y"
{ (yyval.targ) = new_reg(lexer, NUM_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 366:
-#line 2124 "pir.y"
+ case 364:
+#line 2118 "pir.y"
{ (yyval.targ) = new_reg(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 367:
-#line 2125 "pir.y"
+ case 365:
+#line 2119 "pir.y"
{ (yyval.targ) = new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 370:
-#line 2133 "pir.y"
+ case 368:
+#line 2127 "pir.y"
{ (yyval.sval) = "if"; ;}
break;
- case 371:
-#line 2134 "pir.y"
+ case 369:
+#line 2128 "pir.y"
{ (yyval.sval) = "unless"; ;}
break;
- case 372:
-#line 2135 "pir.y"
+ case 370:
+#line 2129 "pir.y"
{ (yyval.sval) = "goto"; ;}
break;
- case 373:
-#line 2136 "pir.y"
+ case 371:
+#line 2130 "pir.y"
{ (yyval.sval) = "int"; ;}
break;
- case 374:
-#line 2137 "pir.y"
+ case 372:
+#line 2131 "pir.y"
{ (yyval.sval) = "num"; ;}
break;
- case 375:
-#line 2138 "pir.y"
+ case 373:
+#line 2132 "pir.y"
{ (yyval.sval) = "string"; ;}
break;
- case 376:
-#line 2139 "pir.y"
+ case 374:
+#line 2133 "pir.y"
{ (yyval.sval) = "pmc"; ;}
break;
- case 377:
-#line 2140 "pir.y"
+ case 375:
+#line 2134 "pir.y"
{ (yyval.sval) = "null"; ;}
break;
- case 378:
-#line 2143 "pir.y"
+ case 376:
+#line 2137 "pir.y"
{ (yyval.sval) = "neg"; ;}
break;
- case 379:
-#line 2144 "pir.y"
+ case 377:
+#line 2138 "pir.y"
{ (yyval.sval) = "not"; ;}
break;
- case 380:
-#line 2145 "pir.y"
+ case 378:
+#line 2139 "pir.y"
{ (yyval.sval) = "bnot"; ;}
break;
- case 381:
-#line 2148 "pir.y"
+ case 379:
+#line 2142 "pir.y"
{ (yyval.ival) = OP_ADD; ;}
break;
- case 382:
-#line 2149 "pir.y"
+ case 380:
+#line 2143 "pir.y"
{ (yyval.ival) = OP_SUB; ;}
break;
- case 383:
-#line 2150 "pir.y"
+ case 381:
+#line 2144 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 384:
-#line 2151 "pir.y"
+ case 382:
+#line 2145 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 385:
-#line 2152 "pir.y"
+ case 383:
+#line 2146 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 386:
-#line 2153 "pir.y"
+ case 384:
+#line 2147 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 387:
-#line 2154 "pir.y"
+ case 385:
+#line 2148 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 388:
-#line 2155 "pir.y"
+ case 386:
+#line 2149 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 389:
-#line 2156 "pir.y"
+ case 387:
+#line 2150 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 390:
-#line 2157 "pir.y"
+ case 388:
+#line 2151 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 391:
-#line 2158 "pir.y"
+ case 389:
+#line 2152 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 392:
-#line 2159 "pir.y"
+ case 390:
+#line 2153 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 393:
-#line 2160 "pir.y"
+ case 391:
+#line 2154 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 394:
-#line 2161 "pir.y"
+ case 392:
+#line 2155 "pir.y"
{ (yyval.ival) = OP_OR; ;}
break;
- case 395:
-#line 2162 "pir.y"
+ case 393:
+#line 2156 "pir.y"
{ (yyval.ival) = OP_AND; ;}
break;
- case 396:
-#line 2163 "pir.y"
+ case 394:
+#line 2157 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 397:
-#line 2164 "pir.y"
+ case 395:
+#line 2158 "pir.y"
{ (yyval.ival) = OP_XOR; ;}
break;
- case 398:
-#line 2165 "pir.y"
+ case 396:
+#line 2159 "pir.y"
{ (yyval.ival) = OP_ISEQ; ;}
break;
- case 399:
-#line 2166 "pir.y"
+ case 397:
+#line 2160 "pir.y"
{ (yyval.ival) = OP_ISLE; ;}
break;
- case 400:
-#line 2167 "pir.y"
+ case 398:
+#line 2161 "pir.y"
{ (yyval.ival) = OP_ISLT; ;}
break;
- case 401:
-#line 2168 "pir.y"
+ case 399:
+#line 2162 "pir.y"
{ (yyval.ival) = OP_ISGE; ;}
break;
- case 402:
-#line 2169 "pir.y"
+ case 400:
+#line 2163 "pir.y"
{ (yyval.ival) = OP_ISGT; ;}
break;
- case 403:
-#line 2170 "pir.y"
+ case 401:
+#line 2164 "pir.y"
{ (yyval.ival) = OP_ISNE; ;}
break;
- case 404:
-#line 2176 "pir.y"
+ case 402:
+#line 2170 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 405:
-#line 2177 "pir.y"
+ case 403:
+#line 2171 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 406:
-#line 2178 "pir.y"
+ case 404:
+#line 2172 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 407:
-#line 2179 "pir.y"
+ case 405:
+#line 2173 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 408:
-#line 2180 "pir.y"
+ case 406:
+#line 2174 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 409:
-#line 2181 "pir.y"
+ case 407:
+#line 2175 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 410:
-#line 2182 "pir.y"
+ case 408:
+#line 2176 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 411:
-#line 2183 "pir.y"
+ case 409:
+#line 2177 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 412:
-#line 2184 "pir.y"
+ case 410:
+#line 2178 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 413:
-#line 2185 "pir.y"
+ case 411:
+#line 2179 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 414:
-#line 2186 "pir.y"
+ case 412:
+#line 2180 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 415:
-#line 2187 "pir.y"
+ case 413:
+#line 2181 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 417:
-#line 2208 "pir.y"
+ case 415:
+#line 2202 "pir.y"
{ new_subr(lexer, "@start"); ;}
break;
- case 426:
-#line 2224 "pir.y"
+ case 424:
+#line 2218 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 431:
-#line 2234 "pir.y"
+ case 429:
+#line 2228 "pir.y"
{ set_sub_name(lexer, (yyvsp[(3) - (3)].sval)); ;}
break;
- case 432:
-#line 2238 "pir.y"
+ case 430:
+#line 2232 "pir.y"
{ new_subr(lexer, NULL); ;}
break;
- case 433:
-#line 2243 "pir.y"
+ case 431:
+#line 2237 "pir.y"
{
if (is_parrot_op(lexer, (yyvsp[(1) - (3)].sval))) {
@@ -4816,7 +4803,7 @@
/* Line 1267 of yacc.c. */
-#line 4820 "pirparser.c"
+#line 4807 "pirparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5030,7 +5017,7 @@
}
-#line 2257 "pir.y"
+#line 2251 "pir.y"
@@ -6159,30 +6146,8 @@
}
else { /* it may be a constant, otherwise it's a label */
-/* XXX */
-#if 0
-/* experimental code to integrate constants. Doesn't work properly, this is only
- * 1 spot in which symbol lookups are done; needs to be done everywhere.
- * XXX possibly integrate constdecl and symbol, or represent constdecl's as symbols.
- */
- constdecl *c = find_global_constant(lexer, operand->expr.id);
-
- if (c) { /* it's a constant */
-
- /* convert the operand to a constant, copy the const value into this. */
- operand->type = EXPR_CONSTANT;
- /* allocate a new const; doesn't matter which type/value, overwritten later */
- operand->expr.c = new_const(lexer, INT_VAL, 0); /* dummy value */
- operand->expr.c->val = c->val; /* copy value union */
- operand->expr.c->type = c->type; /* copy value type */
- }
- else
-#endif
-/* XXX */
- {
- /* it must be a label */
- SET_BIT(label_bitmask, BIT(i));
- }
+ /* it must be a label */
+ SET_BIT(label_bitmask, BIT(i));
}
}
}
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirparser.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirparser.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirparser.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -40,242 +40,240 @@
know about them. */
enum yytokentype {
TK_HLL = 258,
- TK_HLL_MAP = 259,
- TK_LOADLIB = 260,
- TK_SUB = 261,
- TK_END = 262,
- TK_PARAM = 263,
- TK_LEX = 264,
- TK_LINE = 265,
- TK_FILE = 266,
- TK_LOCAL = 267,
- TK_NAMESPACE = 268,
- TK_INVOCANT = 269,
- TK_METH_CALL = 270,
- TK_GLOBALCONST = 271,
- TK_CONST = 272,
- TK_RETURN = 273,
- TK_YIELD = 274,
- TK_SET_YIELD = 275,
- TK_SET_RETURN = 276,
- TK_BEGIN_YIELD = 277,
- TK_END_YIELD = 278,
- TK_BEGIN_RETURN = 279,
- TK_END_RETURN = 280,
- TK_BEGIN_CALL = 281,
- TK_END_CALL = 282,
- TK_GET_RESULTS = 283,
- TK_CALL = 284,
- TK_SET_ARG = 285,
- TK_GET_RESULT = 286,
- TK_NCI_CALL = 287,
- TK_TAILCALL = 288,
- TK_ANNOTATE = 289,
- TK_NL = 290,
- TK_LABEL = 291,
- TK_IDENT = 292,
- TK_INT = 293,
- TK_NUM = 294,
- TK_PMC = 295,
- TK_STRING = 296,
- TK_IF = 297,
- TK_UNLESS = 298,
- TK_NULL = 299,
- TK_GOTO = 300,
- TK_STRINGC = 301,
- TK_USTRINGC = 302,
- TK_INTC = 303,
- TK_NUMC = 304,
- TK_PREG = 305,
- TK_NREG = 306,
- TK_SREG = 307,
- TK_IREG = 308,
- TK_ARROW = 309,
- TK_NE = 310,
- TK_EQ = 311,
- TK_LT = 312,
- TK_LE = 313,
- TK_GT = 314,
- TK_GE = 315,
- TK_USHIFT = 316,
- TK_RSHIFT = 317,
- TK_LSHIFT = 318,
- TK_FDIV = 319,
- TK_OR = 320,
- TK_AND = 321,
- TK_XOR = 322,
- TK_CONC = 323,
- TK_ASSIGN_USHIFT = 324,
- TK_ASSIGN_RSHIFT = 325,
- TK_ASSIGN_LSHIFT = 326,
- TK_ASSIGN_INC = 327,
- TK_ASSIGN_DEC = 328,
- TK_ASSIGN_MUL = 329,
- TK_ASSIGN_MOD = 330,
- TK_ASSIGN_POW = 331,
- TK_ASSIGN_DIV = 332,
- TK_ASSIGN_BOR = 333,
- TK_ASSIGN_BAND = 334,
- TK_ASSIGN_FDIV = 335,
- TK_ASSIGN_BNOT = 336,
- TK_ASSIGN_CONC = 337,
- TK_FLAG_INIT = 338,
- TK_FLAG_LOAD = 339,
- TK_FLAG_MAIN = 340,
- TK_FLAG_ANON = 341,
- TK_FLAG_METHOD = 342,
- TK_FLAG_OUTER = 343,
- TK_FLAG_VTABLE = 344,
- TK_FLAG_LEX = 345,
- TK_FLAG_MULTI = 346,
- TK_FLAG_POSTCOMP = 347,
- TK_FLAG_IMMEDIATE = 348,
- TK_FLAG_SUBID = 349,
- TK_FLAG_INSTANCEOF = 350,
- TK_FLAG_NSENTRY = 351,
- TK_FLAG_UNIQUE_REG = 352,
- TK_FLAG_NAMED = 353,
- TK_FLAG_SLURPY = 354,
- TK_FLAG_FLAT = 355,
- TK_FLAG_OPTIONAL = 356,
- TK_FLAG_OPT_FLAG = 357,
- TK_FLAG_INVOCANT = 358,
- TK_FLAG_LOOKAHEAD = 359,
- TK_MACRO = 360,
- TK_ENDM = 361,
- TK_MACRO_LOCAL = 362,
- TK_MACRO_LABEL = 363,
- TK_MACRO_CONST = 364,
- TK_MACRO_LABEL_ID = 365,
- TK_MACRO_LOCAL_ID = 366,
- TK_MACRO_IDENT = 367,
- TK_MACRO_ARG_IDENT = 368,
- TK_MACRO_ARG_OTHER = 369,
- TK_MACRO_CONST_VAL = 370,
- TK_PASM_MARKER_START = 371,
- TK_PIR_MARKER_START = 372,
- TK_PCC_SUB = 373,
- TK_PARROT_OP = 374
+ TK_LOADLIB = 259,
+ TK_SUB = 260,
+ TK_END = 261,
+ TK_PARAM = 262,
+ TK_LEX = 263,
+ TK_LINE = 264,
+ TK_FILE = 265,
+ TK_LOCAL = 266,
+ TK_NAMESPACE = 267,
+ TK_INVOCANT = 268,
+ TK_METH_CALL = 269,
+ TK_GLOBALCONST = 270,
+ TK_CONST = 271,
+ TK_RETURN = 272,
+ TK_YIELD = 273,
+ TK_SET_YIELD = 274,
+ TK_SET_RETURN = 275,
+ TK_BEGIN_YIELD = 276,
+ TK_END_YIELD = 277,
+ TK_BEGIN_RETURN = 278,
+ TK_END_RETURN = 279,
+ TK_BEGIN_CALL = 280,
+ TK_END_CALL = 281,
+ TK_GET_RESULTS = 282,
+ TK_CALL = 283,
+ TK_SET_ARG = 284,
+ TK_GET_RESULT = 285,
+ TK_NCI_CALL = 286,
+ TK_TAILCALL = 287,
+ TK_ANNOTATE = 288,
+ TK_NL = 289,
+ TK_LABEL = 290,
+ TK_IDENT = 291,
+ TK_INT = 292,
+ TK_NUM = 293,
+ TK_PMC = 294,
+ TK_STRING = 295,
+ TK_IF = 296,
+ TK_UNLESS = 297,
+ TK_NULL = 298,
+ TK_GOTO = 299,
+ TK_STRINGC = 300,
+ TK_USTRINGC = 301,
+ TK_INTC = 302,
+ TK_NUMC = 303,
+ TK_PREG = 304,
+ TK_NREG = 305,
+ TK_SREG = 306,
+ TK_IREG = 307,
+ TK_ARROW = 308,
+ TK_NE = 309,
+ TK_EQ = 310,
+ TK_LT = 311,
+ TK_LE = 312,
+ TK_GT = 313,
+ TK_GE = 314,
+ TK_USHIFT = 315,
+ TK_RSHIFT = 316,
+ TK_LSHIFT = 317,
+ TK_FDIV = 318,
+ TK_OR = 319,
+ TK_AND = 320,
+ TK_XOR = 321,
+ TK_CONC = 322,
+ TK_ASSIGN_USHIFT = 323,
+ TK_ASSIGN_RSHIFT = 324,
+ TK_ASSIGN_LSHIFT = 325,
+ TK_ASSIGN_INC = 326,
+ TK_ASSIGN_DEC = 327,
+ TK_ASSIGN_MUL = 328,
+ TK_ASSIGN_MOD = 329,
+ TK_ASSIGN_POW = 330,
+ TK_ASSIGN_DIV = 331,
+ TK_ASSIGN_BOR = 332,
+ TK_ASSIGN_BAND = 333,
+ TK_ASSIGN_FDIV = 334,
+ TK_ASSIGN_BNOT = 335,
+ TK_ASSIGN_CONC = 336,
+ TK_FLAG_INIT = 337,
+ TK_FLAG_LOAD = 338,
+ TK_FLAG_MAIN = 339,
+ TK_FLAG_ANON = 340,
+ TK_FLAG_METHOD = 341,
+ TK_FLAG_OUTER = 342,
+ TK_FLAG_VTABLE = 343,
+ TK_FLAG_LEX = 344,
+ TK_FLAG_MULTI = 345,
+ TK_FLAG_POSTCOMP = 346,
+ TK_FLAG_IMMEDIATE = 347,
+ TK_FLAG_SUBID = 348,
+ TK_FLAG_INSTANCEOF = 349,
+ TK_FLAG_NSENTRY = 350,
+ TK_FLAG_UNIQUE_REG = 351,
+ TK_FLAG_NAMED = 352,
+ TK_FLAG_SLURPY = 353,
+ TK_FLAG_FLAT = 354,
+ TK_FLAG_OPTIONAL = 355,
+ TK_FLAG_OPT_FLAG = 356,
+ TK_FLAG_INVOCANT = 357,
+ TK_FLAG_LOOKAHEAD = 358,
+ TK_MACRO = 359,
+ TK_ENDM = 360,
+ TK_MACRO_LOCAL = 361,
+ TK_MACRO_LABEL = 362,
+ TK_MACRO_CONST = 363,
+ TK_MACRO_LABEL_ID = 364,
+ TK_MACRO_LOCAL_ID = 365,
+ TK_MACRO_IDENT = 366,
+ TK_MACRO_ARG_IDENT = 367,
+ TK_MACRO_ARG_OTHER = 368,
+ TK_MACRO_CONST_VAL = 369,
+ TK_PASM_MARKER_START = 370,
+ TK_PIR_MARKER_START = 371,
+ TK_PCC_SUB = 372,
+ TK_PARROT_OP = 373
};
#endif
/* Tokens. */
#define TK_HLL 258
-#define TK_HLL_MAP 259
-#define TK_LOADLIB 260
-#define TK_SUB 261
-#define TK_END 262
-#define TK_PARAM 263
-#define TK_LEX 264
-#define TK_LINE 265
-#define TK_FILE 266
-#define TK_LOCAL 267
-#define TK_NAMESPACE 268
-#define TK_INVOCANT 269
-#define TK_METH_CALL 270
-#define TK_GLOBALCONST 271
-#define TK_CONST 272
-#define TK_RETURN 273
-#define TK_YIELD 274
-#define TK_SET_YIELD 275
-#define TK_SET_RETURN 276
-#define TK_BEGIN_YIELD 277
-#define TK_END_YIELD 278
-#define TK_BEGIN_RETURN 279
-#define TK_END_RETURN 280
-#define TK_BEGIN_CALL 281
-#define TK_END_CALL 282
-#define TK_GET_RESULTS 283
-#define TK_CALL 284
-#define TK_SET_ARG 285
-#define TK_GET_RESULT 286
-#define TK_NCI_CALL 287
-#define TK_TAILCALL 288
-#define TK_ANNOTATE 289
-#define TK_NL 290
-#define TK_LABEL 291
-#define TK_IDENT 292
-#define TK_INT 293
-#define TK_NUM 294
-#define TK_PMC 295
-#define TK_STRING 296
-#define TK_IF 297
-#define TK_UNLESS 298
-#define TK_NULL 299
-#define TK_GOTO 300
-#define TK_STRINGC 301
-#define TK_USTRINGC 302
-#define TK_INTC 303
-#define TK_NUMC 304
-#define TK_PREG 305
-#define TK_NREG 306
-#define TK_SREG 307
-#define TK_IREG 308
-#define TK_ARROW 309
-#define TK_NE 310
-#define TK_EQ 311
-#define TK_LT 312
-#define TK_LE 313
-#define TK_GT 314
-#define TK_GE 315
-#define TK_USHIFT 316
-#define TK_RSHIFT 317
-#define TK_LSHIFT 318
-#define TK_FDIV 319
-#define TK_OR 320
-#define TK_AND 321
-#define TK_XOR 322
-#define TK_CONC 323
-#define TK_ASSIGN_USHIFT 324
-#define TK_ASSIGN_RSHIFT 325
-#define TK_ASSIGN_LSHIFT 326
-#define TK_ASSIGN_INC 327
-#define TK_ASSIGN_DEC 328
-#define TK_ASSIGN_MUL 329
-#define TK_ASSIGN_MOD 330
-#define TK_ASSIGN_POW 331
-#define TK_ASSIGN_DIV 332
-#define TK_ASSIGN_BOR 333
-#define TK_ASSIGN_BAND 334
-#define TK_ASSIGN_FDIV 335
-#define TK_ASSIGN_BNOT 336
-#define TK_ASSIGN_CONC 337
-#define TK_FLAG_INIT 338
-#define TK_FLAG_LOAD 339
-#define TK_FLAG_MAIN 340
-#define TK_FLAG_ANON 341
-#define TK_FLAG_METHOD 342
-#define TK_FLAG_OUTER 343
-#define TK_FLAG_VTABLE 344
-#define TK_FLAG_LEX 345
-#define TK_FLAG_MULTI 346
-#define TK_FLAG_POSTCOMP 347
-#define TK_FLAG_IMMEDIATE 348
-#define TK_FLAG_SUBID 349
-#define TK_FLAG_INSTANCEOF 350
-#define TK_FLAG_NSENTRY 351
-#define TK_FLAG_UNIQUE_REG 352
-#define TK_FLAG_NAMED 353
-#define TK_FLAG_SLURPY 354
-#define TK_FLAG_FLAT 355
-#define TK_FLAG_OPTIONAL 356
-#define TK_FLAG_OPT_FLAG 357
-#define TK_FLAG_INVOCANT 358
-#define TK_FLAG_LOOKAHEAD 359
-#define TK_MACRO 360
-#define TK_ENDM 361
-#define TK_MACRO_LOCAL 362
-#define TK_MACRO_LABEL 363
-#define TK_MACRO_CONST 364
-#define TK_MACRO_LABEL_ID 365
-#define TK_MACRO_LOCAL_ID 366
-#define TK_MACRO_IDENT 367
-#define TK_MACRO_ARG_IDENT 368
-#define TK_MACRO_ARG_OTHER 369
-#define TK_MACRO_CONST_VAL 370
-#define TK_PASM_MARKER_START 371
-#define TK_PIR_MARKER_START 372
-#define TK_PCC_SUB 373
-#define TK_PARROT_OP 374
+#define TK_LOADLIB 259
+#define TK_SUB 260
+#define TK_END 261
+#define TK_PARAM 262
+#define TK_LEX 263
+#define TK_LINE 264
+#define TK_FILE 265
+#define TK_LOCAL 266
+#define TK_NAMESPACE 267
+#define TK_INVOCANT 268
+#define TK_METH_CALL 269
+#define TK_GLOBALCONST 270
+#define TK_CONST 271
+#define TK_RETURN 272
+#define TK_YIELD 273
+#define TK_SET_YIELD 274
+#define TK_SET_RETURN 275
+#define TK_BEGIN_YIELD 276
+#define TK_END_YIELD 277
+#define TK_BEGIN_RETURN 278
+#define TK_END_RETURN 279
+#define TK_BEGIN_CALL 280
+#define TK_END_CALL 281
+#define TK_GET_RESULTS 282
+#define TK_CALL 283
+#define TK_SET_ARG 284
+#define TK_GET_RESULT 285
+#define TK_NCI_CALL 286
+#define TK_TAILCALL 287
+#define TK_ANNOTATE 288
+#define TK_NL 289
+#define TK_LABEL 290
+#define TK_IDENT 291
+#define TK_INT 292
+#define TK_NUM 293
+#define TK_PMC 294
+#define TK_STRING 295
+#define TK_IF 296
+#define TK_UNLESS 297
+#define TK_NULL 298
+#define TK_GOTO 299
+#define TK_STRINGC 300
+#define TK_USTRINGC 301
+#define TK_INTC 302
+#define TK_NUMC 303
+#define TK_PREG 304
+#define TK_NREG 305
+#define TK_SREG 306
+#define TK_IREG 307
+#define TK_ARROW 308
+#define TK_NE 309
+#define TK_EQ 310
+#define TK_LT 311
+#define TK_LE 312
+#define TK_GT 313
+#define TK_GE 314
+#define TK_USHIFT 315
+#define TK_RSHIFT 316
+#define TK_LSHIFT 317
+#define TK_FDIV 318
+#define TK_OR 319
+#define TK_AND 320
+#define TK_XOR 321
+#define TK_CONC 322
+#define TK_ASSIGN_USHIFT 323
+#define TK_ASSIGN_RSHIFT 324
+#define TK_ASSIGN_LSHIFT 325
+#define TK_ASSIGN_INC 326
+#define TK_ASSIGN_DEC 327
+#define TK_ASSIGN_MUL 328
+#define TK_ASSIGN_MOD 329
+#define TK_ASSIGN_POW 330
+#define TK_ASSIGN_DIV 331
+#define TK_ASSIGN_BOR 332
+#define TK_ASSIGN_BAND 333
+#define TK_ASSIGN_FDIV 334
+#define TK_ASSIGN_BNOT 335
+#define TK_ASSIGN_CONC 336
+#define TK_FLAG_INIT 337
+#define TK_FLAG_LOAD 338
+#define TK_FLAG_MAIN 339
+#define TK_FLAG_ANON 340
+#define TK_FLAG_METHOD 341
+#define TK_FLAG_OUTER 342
+#define TK_FLAG_VTABLE 343
+#define TK_FLAG_LEX 344
+#define TK_FLAG_MULTI 345
+#define TK_FLAG_POSTCOMP 346
+#define TK_FLAG_IMMEDIATE 347
+#define TK_FLAG_SUBID 348
+#define TK_FLAG_INSTANCEOF 349
+#define TK_FLAG_NSENTRY 350
+#define TK_FLAG_UNIQUE_REG 351
+#define TK_FLAG_NAMED 352
+#define TK_FLAG_SLURPY 353
+#define TK_FLAG_FLAT 354
+#define TK_FLAG_OPTIONAL 355
+#define TK_FLAG_OPT_FLAG 356
+#define TK_FLAG_INVOCANT 357
+#define TK_FLAG_LOOKAHEAD 358
+#define TK_MACRO 359
+#define TK_ENDM 360
+#define TK_MACRO_LOCAL 361
+#define TK_MACRO_LABEL 362
+#define TK_MACRO_CONST 363
+#define TK_MACRO_LABEL_ID 364
+#define TK_MACRO_LOCAL_ID 365
+#define TK_MACRO_IDENT 366
+#define TK_MACRO_ARG_IDENT 367
+#define TK_MACRO_ARG_OTHER 368
+#define TK_MACRO_CONST_VAL 369
+#define TK_PASM_MARKER_START 370
+#define TK_PIR_MARKER_START 371
+#define TK_PCC_SUB 372
+#define TK_PARROT_OP 373
@@ -302,7 +300,7 @@
struct macro_param *pval;
}
/* Line 1489 of yacc.c. */
-#line 306 "pirparser.h"
+#line 304 "pirparser.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirpcc.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirpcc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirpcc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirpcc.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirpcc.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirpcc.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRPCC_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#include <stdio.h>
#include "pircompiler.h"
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirregalloc.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008-2009, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
#ifndef PARROT_PIR_PIRREGALLOC_H_GUARD
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.c
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
#include "pircompiler.h"
#include "pirsymbol.h"
Modified: branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/pirsymbol.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2009, The Perl Foundation.
+ * Copyright (C) 2007-2009, Parrot Foundation.
*/
Modified: branches/rename_pccinvoke/compilers/pirc/src/piryy.h
==============================================================================
--- branches/rename_pccinvoke/compilers/pirc/src/piryy.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/pirc/src/piryy.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2008, The Perl Foundation.
+ * Copyright (C) 2008-2009, Parrot Foundation.
*/
/* This file declared parser/lexer related functions, so that any changes
Modified: branches/rename_pccinvoke/compilers/tge/tgc.pir
==============================================================================
--- branches/rename_pccinvoke/compilers/tge/tgc.pir Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/compilers/tge/tgc.pir Fri Feb 13 23:29:44 2009 (r36699)
@@ -28,7 +28,7 @@
.local string infile, outfile
load_bytecode "TGE.pbc"
- load_bytecode "Getopt/Obj.pir"
+ load_bytecode "Getopt/Obj.pbc"
# Grab program name for error reporting
prog = shift args
Modified: branches/rename_pccinvoke/config/auto/jit.pm
==============================================================================
--- branches/rename_pccinvoke/config/auto/jit.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/config/auto/jit.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -113,7 +113,7 @@
_handle_execcapable($conf, $execcapable);
# test for executable malloced memory
- if ( -e "config/auto/jit/test_exec_$osname.in" ) {
+ if ( -e "config/auto/jit/test_exec_${osname}_c.in" ) {
print " (has_exec_protect " if $verbose;
$conf->cc_gen("config/auto/jit/test_exec_${osname}_c.in");
eval { $conf->cc_build(); };
Copied: branches/rename_pccinvoke/config/auto/neg_0.pm (from r36697, trunk/config/auto/neg_0.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/rename_pccinvoke/config/auto/neg_0.pm Fri Feb 13 23:29:44 2009 (r36699, copy of r36697, trunk/config/auto/neg_0.pm)
@@ -0,0 +1,72 @@
+# Copyright (C) 2009, The Perl Foundation.
+# $Id$
+
+=head1 NAME
+
+config/auto/neg_0.pm - can print negative zero
+
+=head1 DESCRIPTION
+
+Determines whether print -0.0 can print "-0" or just prints "0"
+
+This needs workarounds on older win32 (msvcrt.dll) and openbsd.
+
+=cut
+
+package auto::neg_0;
+
+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{Determine whether negative zero can be printed};
+ $data{result} = q{};
+ return \%data;
+}
+
+sub runstep {
+ my ( $self, $conf ) = @_;
+ my ( $verbose ) = $conf->options->get('verbose');
+ $conf->cc_gen('config/auto/neg_0/test_c.in');
+ eval { $conf->cc_build( q{} ); };
+ my $has_neg_0 = 0;
+ if ( !$@ ) {
+ my $test = $conf->cc_run();
+ $has_neg_0 = $self->_evaluate_cc_run(
+ $conf,
+ $test,
+ $has_neg_0,
+ $verbose,
+ );
+ }
+ $conf->cc_clean();
+ $conf->data->set( has_negative_zero => $has_neg_0 );
+
+ return 1;
+}
+
+sub _evaluate_cc_run {
+ my $self = shift;
+ my ($conf, $test, $has_neg_0, $verbose) = @_;
+ $has_neg_0 = ($test =~ m/^-0/ ? 1 : 0);
+ $self->set_result( $has_neg_0 ? 'yes' : 'no' );
+ $conf->data->set( has_negative_zero => $has_neg_0 );
+ print $has_neg_0 ? ' (yes) ' : ' (no) ' if $verbose;
+ return $has_neg_0;
+}
+
+1;
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Copied: branches/rename_pccinvoke/config/auto/neg_0/test_c.in (from r36697, trunk/config/auto/neg_0/test_c.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/rename_pccinvoke/config/auto/neg_0/test_c.in Fri Feb 13 23:29:44 2009 (r36699, copy of r36697, trunk/config/auto/neg_0/test_c.in)
@@ -0,0 +1,18 @@
+/* Copyright (C) 2009, The Perl Foundation. */
+/* $Id$ */
+
+#include <stdio.h>
+
+int
+main(int argc, char* argv[])
+{
+ printf("%.0f", -0.0);
+ return 0;
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/rename_pccinvoke/config/gen/config_h/feature_h.in
==============================================================================
--- branches/rename_pccinvoke/config/gen/config_h/feature_h.in Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/config/gen/config_h/feature_h.in Fri Feb 13 23:29:44 2009 (r36699)
@@ -154,6 +154,20 @@
print OUT <<'END_PRINT';
+/* from config/auto/neg_0 */
+END_PRINT
+if (@has_negative_zero@) {
+ print OUT <<'END_PRINT';
+#define PARROT_HAS_NEGATIVE_ZERO 1
+END_PRINT
+}
+else {
+ print OUT <<'END_PRINT';
+#undef PARROT_HAS_NEGATIVE_ZERO
+END_PRINT
+}
+
+print OUT <<'END_PRINT';
#endif /* PARROT_FEATURE_H_GUARD */
END_PRINT
Modified: branches/rename_pccinvoke/config/gen/languages.pm
==============================================================================
--- branches/rename_pccinvoke/config/gen/languages.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/config/gen/languages.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -42,7 +42,7 @@
ecmascript
forth
jako json
- lisp lolcode lua
+ lisp lolcode
ook
parrot_compiler pheme PIR pipp punie pynie
pod
Modified: branches/rename_pccinvoke/config/gen/makefiles/languages.in
==============================================================================
--- branches/rename_pccinvoke/config/gen/makefiles/languages.in Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/config/gen/makefiles/languages.in Fri Feb 13 23:29:44 2009 (r36699)
@@ -22,7 +22,7 @@
ecmascript \
forth \
jako json \
- lisp lolcode lua \
+ lisp lolcode \
ook \
parrot_compiler pheme PIR pipp punie pynie \
regex \
@@ -76,6 +76,8 @@
@echo ""
@echo " co-lazy-k: Try to fetch lazy-k"
@echo ""
+ @echo " co-lua: Try to fetch lua"
+ @echo ""
@echo " co-m4: Try to fetch Parrot m4"
@echo ""
@echo " co-pjs: Try to fetch PJS"
@@ -101,6 +103,8 @@
@echo ""
@echo " up-lazy-k: Try to update lazy-k"
@echo ""
+ @echo " up-lua: Try to update lua"
+ @echo ""
@echo " up-m4: Try to update Parrot m4"
@echo ""
@echo " up-pjs: Try to update PJS"
@@ -133,7 +137,7 @@
ecmascript.test \
forth.test \
jako.test json.test \
- lisp.test lolcode.test lua.test \
+ lisp.test lolcode.test \
ook.test \
parrot_compiler.test pheme.test PIR.test pipp.test punie.test pynie.test \
regex.test \
@@ -149,7 +153,7 @@
forth.clean \
jako.clean json.clean \
lisp.clean \
- lolcode.clean lua.clean \
+ lolcode.clean \
ook.clean \
parrot_compiler.clean pheme.clean PIR.clean pipp.clean punie.clean pynie.clean \
regex.clean \
@@ -164,7 +168,7 @@
ecmascript.realclean \
forth.realclean \
jako.realclean json.realclean \
- lisp.realclean lolcode.realclean lua.realclean \
+ lisp.realclean lolcode.realclean \
ook.realclean \
parrot_compiler.realclean pheme.realclean PIR.realclean pipp.realclean pod.realclean punie.realclean pynie.realclean \
regex.realclean \
@@ -337,16 +341,6 @@
lolcode.realclean:
- $(MAKE) lolcode realclean
-lua: lua.dummy
-lua.dummy:
- - $(MAKE) lua
-lua.test:
- - $(MAKE) lua test
-lua.clean:
- - $(MAKE) lua clean
-lua.realclean:
- - $(MAKE) lua realclean
-
ook : ook.dummy
ook.dummy:
- $(MAKE) ook
@@ -470,9 +464,9 @@
# helpers for checking out externally managed languages
# check out all known externally managed languages
-co-all: co-eclectus co-gil co-hq9plus co-lazy-k co-m4 co-markdown co-pjs \
+co-all: co-eclectus co-gil co-hq9plus co-lazy-k co-lua co-m4 co-markdown co-pjs \
co-primitivearc co-rakudo co-shakespeare co-tcl co-unlambda co-wmlscript
-up-all: up-eclectus up-gil up-hq9plus up-lazy-k up-m4 up-markdown up-pjs \
+up-all: up-eclectus up-gil up-hq9plus up-lazy-k up-lua up-m4 up-markdown up-pjs \
up-primitivearc up-rakudo up-shakespeare up-tcl up-unlambda up-wmlscript
co-eclectus:
@@ -499,6 +493,12 @@
up-lazy-k:
cd lazy-k && $(GIT) pull
+co-lua:
+ - $(GIT) clone 'git:////github.com//fperrad//lua.git'
+
+up-lua:
+ cd lua && $(GIT) pull
+
co-m4:
- $(GIT) clone 'git:////github.com//bschmalhofer//m4.git'
Modified: branches/rename_pccinvoke/config/gen/makefiles/root.in
==============================================================================
--- branches/rename_pccinvoke/config/gen/makefiles/root.in Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/config/gen/makefiles/root.in Fri Feb 13 23:29:44 2009 (r36699)
@@ -466,6 +466,7 @@
PDB = $(CUR_DIR)/parrot_debugger$(EXE)
PBC_TO_EXE = $(CUR_DIR)/pbc_to_exe$(EXE)
PARROT_CONFIG = $(CUR_DIR)/parrot_config$(EXE)
+PIRC = $(CUR_DIR)/pirc$(EXE)
# Installable executables
INSTALLABLEPARROT = $(CUR_DIR)/installable_parrot$(EXE)
@@ -553,10 +554,13 @@
dynpmc \
dynoplibs \
compilers \
- $(PBC_TO_EXE) \
- $(PARROT_CONFIG) \
$(DIS) \
- $(PBCMERGE)
+ $(PARROT_CONFIG) \
+ $(PBC_TO_EXE) \
+ $(PBCMERGE) \
+ $(PDB) \
+ $(PDUMP) \
+ $(PINFO) \
$(GEN_LIBRARY) : $(PARROT)
@@ -766,6 +770,13 @@
$(PARROT) -o parrot_config.pbc tools/util/parrot-config.pir
$(PARROT) pbc_to_exe.pbc parrot_config.pbc
+#IF(win32):pirc : $(PIRC)
+
+$(PIRC) : $(PARROT)
+ $(MAKE) compilers/pirc
+ $(CP) compilers/pirc/pirc$(EXE) $(PIRC)
+ $(CHMOD) 0755 $(PIRC)
+
$(MINIPARROT) : $(SRC_DIR)/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
lib/Parrot/OpLib/core.pm $(SRC_DIR)/null_config$(O)
$(LINK) @ld_out@$@ $(SRC_DIR)/main$(O) $(SRC_DIR)/null_config$(O) \
@@ -1614,7 +1625,7 @@
$(RM_F) \
$(SRC_DIR)/string/private_cstring.h \
"$(SRC_DIR)/*.str" "$(SRC_DIR)/io/*.str" "$(SRC_DIR)/pmc/*.str" \
- "src/pmc/*.c" "src/pmc/pmc_*.h" "src/pmc/*.dump" \
+ "$(SRC_DIR)/call/*.str" "src/pmc/*.c" "src/pmc/pmc_*.h" "src/pmc/*.dump" \
vtable.dump "*.def" "*.lib" "*.exp"
archclean: dynoplibs-clean dynpmc-clean dynext-clean
Modified: branches/rename_pccinvoke/docs/book/ch01_overview.pod
==============================================================================
--- branches/rename_pccinvoke/docs/book/ch01_overview.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/book/ch01_overview.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -198,7 +198,7 @@
project roadmap.
Parrot developers, volunteers, and well-wishers also congregate on IRC
-at C<#parrot> on the U<irc://irc.perl.org> server. It's a good place to
+at C<#parrot> on the U<irc://irc.parrot.org> server. It's a good place to
get real-time answers to questions, or just to see how things are
progressing.
Modified: branches/rename_pccinvoke/docs/book/ch02_getting_started.pod
==============================================================================
--- branches/rename_pccinvoke/docs/book/ch02_getting_started.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/book/ch02_getting_started.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -23,8 +23,9 @@
$ make test
Once you've compiled Parrot, you can run your first small script. Create
-a test file in the main F<parrot> directory called
-F<fjord.pasm> (F<.pasm> files are Parrot assembly language).
+a test file in the main F<parrot> directory called F<fjord.pasm>. C<.pasm>
+files are written in primative Parrot Assembly Language (PASM) which is a
+low-level programming interface to Parrot.
print "He's pining for the fjords.\n"
end
@@ -45,14 +46,19 @@
Then run it as:
$ ./nqp hello.nqp
-
-With a few simple examples, you have
-
-In the next few
-chapters we will discuss more aspects of Parrot programming using
-both PASM and PIR, and we will discuss some of the more advanced
-features of Parrot that make it an interesting and attractive
-programming platform.
+
+This will print, of course, the phrase "Hello, World". NQP stands for I<Not
+Quite Perl>, it's a mini language that's very similar to the Perl 6 programming
+language. NQP is part of the Parrot Compiler Tools (PCT) and is an integral
+part of building compilers for Parrot. We will talk more about NQP and the
+rest of the PCT tools, and how to use these for building compilers for Parrot
+in chapter 9.
+
+In the next few chapters we will discuss more aspects of Parrot programming
+using low-level PASM language, and a higher-level interface language called
+PIR. Chapters 3 and 4 will talk about PIR, which is the primary way to program
+Parrot directly. Chapter 5 will talk about PASM, and the low-level programming
+interface.
=head2 Build Requirements
@@ -145,7 +151,7 @@
X<Parrot;source code>
The second step to participating in Parrot development is to get a
copy of the source code. If you just want to try it out--experiment
-with a few features and see how it feels--the best options is to
+with a few features and see how it feels--the best option is to
download the most recent point release for your system. Point releases
are usually packaged up for easy download and install for various
platforms, including Windows, Debian, and Redhat. Point releases are
Modified: branches/rename_pccinvoke/docs/book/ch13_reference.pod
==============================================================================
--- branches/rename_pccinvoke/docs/book/ch13_reference.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/book/ch13_reference.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -1267,7 +1267,7 @@
=cell C<2>
-=cell Number of DOD sweeps performed.
+=cell Number of GC mark runs performed.
=row
@@ -1303,7 +1303,7 @@
=cell C<8>
-=cell Number of new PMC or buffer headers allocated since last DOD run.
+=cell Number of new PMC or buffer headers allocated since last mark run.
=row
@@ -2017,7 +2017,7 @@
register R<PMC>
Register the given PMC in the interpreter's root set, so that it's
-visible during DOD.
+visible during the mark phase.
I<Arguments: P>
@@ -2535,8 +2535,8 @@
sweep R<LAZY>
-Trigger a dead object detection (DOD) sweep. If R<LAZY> is set to 1,
-only objects that need timely destruction may be destroyed.
+Trigger a GC mark run. If R<LAZY> is set to 1, only objects that need timely
+destruction may be destroyed.
I<Arguments: IC>
@@ -2546,7 +2546,7 @@
sweepoff
-Disable DOD sweeps (nestable).
+Disable GC mark runs (nestable).
=head3 sweepon
@@ -2554,7 +2554,7 @@
sweepon
-Re-enable DOD sweeps.
+Re-enable GC mark runs.
=head3 sysinfo
@@ -3618,7 +3618,7 @@
=item -G,--no-gc
-Turn off DOD/GC. This is for debugging only.
+Turn off GC. This is for debugging only.
=item -.,--wait
Modified: branches/rename_pccinvoke/docs/debugger.pod
==============================================================================
--- branches/rename_pccinvoke/docs/debugger.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/debugger.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -354,8 +354,8 @@
(pdb) info
Total memory allocated = 81936
- DOD runs = 6
- Collect runs = 0
+ GC mark runs = 6
+ GC collect runs = 0
Active PMCs = 8197
Active buffers = 7
Total PMCs = 21840
Modified: branches/rename_pccinvoke/docs/dev/infant.pod
==============================================================================
--- branches/rename_pccinvoke/docs/dev/infant.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/dev/infant.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -8,23 +8,23 @@
=head1 Overview
We have a garbage collector that needs to detect all dead objects (the process
-is called DOD, for Dead Object Detection). Any Parrot operation that might
-allocate memory can potentially trigger a DOD run (if not enough memory is
+is called the mark phase of GC). Any Parrot operation that might allocate
+memory can potentially trigger a GC mark run (if not enough memory is
available, we need to free up some unused objects to give us enough room to
allocate our new object. But in order to know what can be freed up, we need to
-know what's alive, so we do a DOD pass.)
+know what's alive, so we do a GC mark run.)
-The DOD pass begins with a "root set" of objects that are known to be in use --
-the PMC and String registers, the Parrot stack, the global symbol table, etc.
-Each of these objects is scanned for references to other objects, recursively.
-All objects found during this search are regarded as live. Everything else is
-considered dead and so is available for reclamation.
+The GC mark run pass begins with a "root set" of objects that are known to be
+in use -- the PMC and String registers, the Parrot stack, the global symbol
+table, etc. Each of these objects is scanned for references to other objects,
+recursively. All objects found during this search are regarded as live.
+Everything else is considered dead and so is available for reclamation.
The question of what should be in the root set is problematic. Consider the
case where you've created a PMC. If you immediately stuff it into a register,
then you're all set. But what if you're putting it into an aggregate? If the
aggregate isn't large enough, you'll need to resize it, which might allocate
-memory, which might trigger a DOD run. And that DOD run may free your
+memory, which might trigger a GC mark run. And that run may free your
freshly-created PMC.
In this case, the solution is simple: resize the array, if necessary, before
@@ -45,10 +45,10 @@
must also scan through all processor registers, and for some processors there
may be a separate backing store for those registers (eg the Sparc's register
windows). Uninitialized data on the stack and high alignment requirements for
-stackframes can fool the DOD system with left over pointers from previous
+stackframes can fool the GC system with left over pointers from previous
calls. This is especially a problem for objects which need early destruction.
- + No slowdown in the common case of no DOD
+ + No slowdown in the common case of no dead objects
+ Convenient: the programmer does not need to code differently to
accommodate the garbage collection system.
- Unportable. Different processors need different code for scanning
@@ -57,7 +57,7 @@
find all the pointers, while on others you must NOT scan every
possible offset or you'll get a bus error due to a misaligned
access.
- - Slow DOD. A full stack walk takes quite a while, and this time
+ - Slow mark phase. A full stack walk takes quite a while, and this time
grows with nested interpreter calls, external code's stack usage, etc.
- Complex. The stack walk is necessarily conservative, in that it
must consider every valid pointer on the stack to potentially be a
@@ -77,7 +77,7 @@
There are several possible variants of the neonate flag, but the basic idea is
to set a flag on newly created objects that prevents them from being collected.
At some point, this flag is cleared -- either as the newborn object is anchored
-to the root set, or during the first DOD pass after it was anchored, or
+to the root set, or during the first mark pass after it was anchored, or
explicitly when the object is no longer needed.
+ Portable
@@ -100,7 +100,7 @@
The flag is always explicitly cleared by the coder.
+ Very simple
- + Fast DOD
+ + Fast mark phase
- Slow for unanchored temporaries
- Slow for anchored objects
- Easy to forget to clear the flag for unanchored temporaries
@@ -113,7 +113,7 @@
to the root set also clear the flag.
+ Simple
- + Fast DOD
+ + Fast mark phase
- Slow for unanchored temporaries
- Slow for anchored objects
- Easy to forget to clear the flag for unanchored temporaries
@@ -121,15 +121,15 @@
direct assignment into a PMC register, for example)
- longjmp() can bypass the clearing
-=head2 Variant 3: clear during DOD
+=head2 Variant 3: clear during mark phase
-The neonate flag is cleared during DOD when an object is encountered during the
-recursive root set traversal. (Leopold Toetsch's trick of setting the live_FLAG
-during creation is equivalent to this variation, I think.)
+The neonate flag is cleared during the mark phase when an object is encountered
+during the recursive root set traversal. (Leopold Toetsch's trick of setting
+the live_FLAG during creation is equivalent to this variation, I think.)
+ Simple
- + Fast DOD (DOD already manipulates the flags)
- - If there are multiple DOD runs before the object is anchored or
+ + Fast mark phase (GC already manipulates the flags)
+ - If there are multiple mark runs before the object is anchored or
dies, it will be prematurely freed
=head2 Variant 4: generation count
@@ -139,7 +139,7 @@
The generation is incremented only at major control points such between
opcodes, so that there is no chance of unanchored temporaries.
- + Fast DOD (DOD already manipulates the flags)
+ + 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)
@@ -158,12 +158,12 @@
whether the current generation is _different_ from an object's creation
generation (which eliminates wraparound problems, too.) So rather than testing
against a single "current" generation, allow a stack of multiple "current"
-generations. An object encountered during DOD will have its neonate flag
-cleared only if it doesn't match any of the "current" generation ids. This
+generations. An object encountered during the mark phase will have its neonate
+flag cleared only if it doesn't match any of the "current" generation ids. This
check can be optimized using a conservative bit mask as a preliminary test.
- + Still faster DOD than stackwalking, though slower than the
- other neonate variants
+ + Still faster mark phase than stackwalking, though slower than the other
+ neonate variants
- Generation count must be maintained
- Generation stack must be maintained
- Disallows longjmp()'ing out of recursive opcode calls
@@ -175,7 +175,7 @@
Another similar idea is to use a generational system, with the "current
generation" as a value on the C stack, passed as an extra argument after the
interpreter. If a function creates temporary objects it calls other functions
-with an increased generational count. During a DOD run, any PMC with a
+with an increased generational count. During a mark run, any PMC with a
generation less than the current generation is considered live. Any PMC with a
generation greater than the current generation is considered free. This works
through longjmps and recursive run_cores.
@@ -185,7 +185,7 @@
+ Works through longjmps and recursive run_cores
+ No explicit setting and clearing of flags
- Needs to change to change the signature of every Parrot function
- - Nested temporaries can survive if there is no DOD-run between two
+ - Nested temporaries can survive if there is no mark run between two
function calls with increased generation count
=head1 Solution 3: Explicit root set augmentation
@@ -198,7 +198,7 @@
advantages and disadvantages of explicit neonate flag setting:
+ Simple
- + Fast DOD
+ + Fast mark phase
- Slow for unanchored temporaries
- Sometimes slow for anchored objects (depending on whether they need
to be temporarily anchored before the final anchoring)
@@ -214,15 +214,15 @@
=head2 Variant 2: Anchor early, anchor often
First place a new PMC in the root set (e.g. a register), then initialise it. If
-that's too cumbersome, disable DOD; if that's suboptimal, use active anchoring
+that's too cumbersome, disable GC; if that's suboptimal, use active anchoring
to some root set linked list for temporary PMCs.
+ Simple
- + Fast DOD (No stack-walking)
- - DOD might be turned off for a long time (Maybe a recursive run_core
+ + Fast mark phase (No stack-walking)
+ - GC might be turned off for a long time (Maybe a recursive run_core
is called)
- - Easy to forget to reenable DOD
- - longjmp() can bypass reenabling of DOD (this might be hidden in the
+ - Easy to forget to reenable GC
+ - longjmp() can bypass reenabling of GC (this might be hidden in the
wrapper functions as only one value needs to be restored)
=head2 Variant 3: Use a linked list of frames
@@ -230,11 +230,11 @@
The signature of every Parrot function is extended with an extra parameter
which is a parameter to a frame structure. All temporary PMCs needs to put into
such a frame structure. The first parameter of this frame structure is a link
-to the previously used frame structure. If a function that can do a DOD run is
+to the previously used frame structure. If a function that can do a mark run is
called a pointer to the current frame is applied. The linked list of frames
represents always an exact list of the active temporaries on the C-stack.
- + Fast DOD-runs (only the known PMC-pointers are walked)
+ + Fast mark runs (only the known PMC-pointers are walked)
+ Exact
+ works through recursive run_cores and longjmp()
- signature of every Parrot function changes
Modified: branches/rename_pccinvoke/docs/dev/pmc_freeze.pod
==============================================================================
--- branches/rename_pccinvoke/docs/dev/pmc_freeze.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/dev/pmc_freeze.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -58,10 +58,10 @@
=item mark
-Mark all objects as being live by calling B<pobject_lives> called from DOD.
+Mark all objects as being live by calling B<pobject_lives> called from GC.
While the functionality is the same, it will not be implemented on top of this
general scheme for performance reasons. This leads to some code duplication,
-but DOD is run permanently and deserves all the speed it can get.
+but GC is run permanently and deserves all the speed it can get.
=back
@@ -96,8 +96,8 @@
prepending) the current PMC to a B<mark_ptr>, which then points to the current
PMC, forming a linked list of items.
-This pointer is also used during DOD's B<mark()> functionality, so that DOD has
-to be turned off during operations using this scheme.
+This pointer is also used during GC's B<mark()> functionality, so that
+GC has to be turned off during operations using this scheme.
As the B<next_for_GC> pointer is inside the PMC, this scheme isn't thread-safe
at low-level, because shared PMCs also would share this pointer, so that there
@@ -106,7 +106,7 @@
=item todo list
A B<List> called B<todo> holds items still to be worked on. This method is
-slower and consumes more resources, but doesn't interfere with DOD runs and is
+slower and consumes more resources, but doesn't interfere with GC runs and is
thread-safe.
=back
@@ -162,7 +162,7 @@
B<next_for_GC> pointer. This is an optimization reducing the size of scalars
and increasing performance considerably.
-Second, the B<next_for_GC> pointers have to be cleared beforehand. DOD uses
+Second, the B<next_for_GC> pointers have to be cleared beforehand. GC uses
only a nibble-sized flag area located inside the PMCs arena to manage, if a PMC
was seen already by checking the live bit. The B<next_for_GC> pointer is just
set and never cleared to avoid touching a PMCs memory and polluting caches when
Modified: branches/rename_pccinvoke/docs/embed.pod
==============================================================================
--- branches/rename_pccinvoke/docs/embed.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/embed.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -7,7 +7,6 @@
=head1 SYNOPSIS
- #include <parrot/parrot.h>
#include <parrot/embed.h>
#include <parrot/extend.h>
@@ -21,8 +20,8 @@
return 1;
}
- pf = Parrot_readbc(interp, "foo.pbc");
- Parrot_loadbc(interp, pf);
+ pf = Parrot_pbc_read(interp, "foo.pbc", 0);
+ Parrot_pbc_load(interp, pf);
Parrot_runcode(interp, argc, argv);
Parrot_destroy(interp);
@@ -34,8 +33,6 @@
=over 4
-=item F<include/parrot.h>
-
=item F<include/parrot/embed.h>
=item F<include/parrot/extend.h>
@@ -245,12 +242,12 @@
=over 4
-=item C<Parrot_PackFile Parrot_readbc(PARROT_INTERP, const char *path)>
+=item C<Parrot_PackFile Parrot_pbc_read(PARROT_INTERP, const char *path, const int debug)>
Reads Parrot bytecode or PIR from the file referenced by C<path>. Returns
-a packfile structure for use by C<Parrot_loadbc()>.
+a packfile structure for use by C<Parrot_pbc_load()>. C<debug> should be 0.
-=item C<void Parrot_loadbc(PARROT_INTERP, Parrot_PackFile pf)>
+=item C<void Parrot_pbc_load(PARROT_INTERP, Parrot_PackFile pf)>
Loads a packfile into the interpreter. After this operation the interpreter
is ready to run the bytecode in the packfile.
Modified: branches/rename_pccinvoke/docs/gettingstarted.pod
==============================================================================
--- branches/rename_pccinvoke/docs/gettingstarted.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/gettingstarted.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -195,7 +195,7 @@
The mailing list is the main resource for Parrot development. However, there
is an IRC channel which you may find useful if your problem is better solved
with real-time discussion. Visit the channel #parrot on the IRC
-server L<irc.perl.org>. Alternative IRC servers are
+server L<irc.parrot.org>. Alternative IRC servers are
L<irc.rhizomatic.net> and L<irc.pobox.com>.
Modified: branches/rename_pccinvoke/docs/intro.pod
==============================================================================
--- branches/rename_pccinvoke/docs/intro.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/intro.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -393,7 +393,7 @@
=head2 IRC
-The Parrot IRC channel is hosted on irc.perl.org and is named C<#parrot>.
+The Parrot IRC channel is hosted on irc.parrot.org and is named C<#parrot>.
Alternative IRC servers are at irc.pobox.com and irc.rhizomatic.net.
=cut
Modified: branches/rename_pccinvoke/docs/memory_internals.pod
==============================================================================
--- branches/rename_pccinvoke/docs/memory_internals.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/memory_internals.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -132,19 +132,23 @@
=head2 GC-related PObj flags
-Only three flags need to be checked during a DOD run: C<PObj_live_FLAG>,
+Only three flags need to be checked during a mark run: C<PObj_live_FLAG>,
C<PObj_on_free_list_FLAG>, and C<PObj_is_special_PMC_FLAG>. Normally these
flags are stored in C<PObj-E<gt>flags>, meaning that each PMC must be accessed
-during the DOD run.
+during the mark run.
-An alternative approach is to store the DOD-Flags together somewhere, such as
+An alternative approach is to store the GC-Flags together somewhere, such as
in the individual arenas, as a packed array of bits. This approach, called
cardmarking, should be indicated by defining the preprocessor variable
-C<ARENA_DOD_FLAGS> to 1.
+C<ARENA_GC_FLAGS> to 1.
+
+{{ ARENA_GC_FLAGS (nee ARENA_DOD_FLAGS) seems to have been deprecated or
+changed without concomitant update to this document. Someone should figure out
+what this macro used to be and whether it's still relevant. -cotto }}
F<pobj.h> provides macros to facilitate referencing individual object flags:
-C<DOD_flag_SET>, C<DOD_flag_CLEAR> and C<DOD_flag_TEST>. They make up a
-portable way of manipulating the DOD-relevant object flags.
+C<gc_flag_SET>, C<gc_flag_CLEAR> and C<gc_flag_TEST>. They make up a portable
+way of manipulating the GC-relevant object flags.
=head1 Variable sized items
@@ -186,11 +190,11 @@
Using this allocator, all variable sized items are just allocated via a plain
C<malloc()> call, or resized with C<realloc()>, and after they lose their
-existence (ie when DOD detects that the managing buffer header is no longer in
-use) they are C<free()>ed. That's all. The underlying allocator collects these
-pieces, coalesces them if possible to form bigger pieces, and then puts them on
-free lists, sorted by size. Eventually, when a new allocation request arrives,
-it may give them back to Parrot.
+existence (ie when the mark phase detects that the managing buffer header is no
+longer in use) they are C<free()>ed. That's all. The underlying allocator
+collects these pieces, coalesces them if possible to form bigger pieces, and
+then puts them on free lists, sorted by size. Eventually, when a new
+allocation request arrives, it may give them back to Parrot.
So here, the variable length C<memory_pool> is unused. You can consider this
pool to live inside the allocator. Buffers allocated this way don't move
@@ -224,9 +228,10 @@
in the buffer header, so other users of this string can be updated to reuse the
same string (RT#47764 one or all other users?).
-The C<malloc()>/C<free()> approach stores a refcount at C<bufstart>. During DOD
-all dead users increment the refcount, living users set it to an huge value.
-When freeing the buffer, the string is only freed if the refcount reaches zero.
+The C<malloc()>/C<free()> approach stores a refcount at C<bufstart>. During the
+mark phase all dead users increment the refcount, living users set it to an
+huge value. When freeing the buffer, the string is only freed if the refcount
+reaches zero.
=head1 Simplified Figure
Modified: branches/rename_pccinvoke/docs/pct/gettingstarted.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pct/gettingstarted.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pct/gettingstarted.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
this document will get you up and running within 10 minutes (that excludes
building Parrot). Once you begin, it's a matter of getting your hands dirty and
get experienced using the tools. Feel free to ask questions on
-irc.perl.org#parrot.
+irc.parrot.org#parrot.
=head1 GETTING STARTED
@@ -220,7 +220,7 @@
=head2 IRC
Everyday, a bunch of Parrot enthusiasts can be found on #parrot on
-irc.perl.org. You're welcome to ask questions.
+irc.parrot.org. You're welcome to ask questions.
=head1 SUGGESTIONS
Modified: branches/rename_pccinvoke/docs/pdds/draft/pdd06_pasm.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pdds/draft/pdd06_pasm.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pdds/draft/pdd06_pasm.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -700,17 +700,17 @@
Buffers. Doesn't include any housekeeping memory, memory for Buffer or PMC
structs, or things of that nature.
-=item 2 DOD_RUNS
+=item 2 GC_MARK_RUNS
-The total number of dead object detection runs that have been made.
+The total number of garbage collection mark runs that have been made.
-=item 3 COLLECT_RUNS
+=item 3 GC_COLLECT_RUNS
-The total number of memory collection runs that have been made.
+The total number of garbage collection sweep runs that have been made.
=item 4 ACTIVE_PMCS
-The number of PMCs considered active. This means the DOD scan hasn't noted
+The number of PMCs considered active. This means the GC scan hasn't noted
them as dead.
=item 5 ACTIVE_BUFFERS
@@ -730,7 +730,7 @@
=item 8 HEADERS_ALLOC_SINCE_COLLECT
The number of new Buffer header block allocations that have been made since
-the last DOD run. (Buffers, when allocated, are allocated in chunks)
+the last GC mark run. (Buffers, when allocated, are allocated in chunks)
=item 9 MEM_ALLOCS_SINCE_COLLECT
Modified: branches/rename_pccinvoke/docs/pdds/draft/pdd10_embedding.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pdds/draft/pdd10_embedding.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pdds/draft/pdd10_embedding.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -208,7 +208,7 @@
I<Note: I suppose NULL would work as well; it might be more C-like. Continue
considering.>
-I<Note also: the current C<Parrot_readbc()> and C<Parrot_loadbc()> exposes the
+I<Note also: the current C<Parrot_pbc_read()> and C<Parrot_pbc_load()> exposes the
details of packfiles to the external API and uses two operations to perform a
single logical operation.>
Modified: branches/rename_pccinvoke/docs/pdds/draft/pdd11_extending.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pdds/draft/pdd11_extending.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pdds/draft/pdd11_extending.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -258,13 +258,13 @@
=item C<Parrot_register_pmc(interp, pmc)>
-Add a reference to the PMC to the interpreter's DOD registry. This prevents
-PMCs known only to extensions from getting destroyed during DOD runs.
+Add a reference to the PMC to the interpreter's GC registry. This prevents
+PMCs known only to extensions from getting destroyed during GC runs.
=item C<Parrot_unregister_pmc(interp, pmc)>
-Remove a reference to the PMC from the interpreter's DOD registry. If the
-reference count reaches zero, the PMC will be destroyed during the next DOD
+Remove a reference to the PMC from the interpreter's GC registry. If the
+reference count reaches zero, the PMC will be destroyed during the next GC
run.
=back
Modified: branches/rename_pccinvoke/docs/pdds/pdd09_gc.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pdds/pdd09_gc.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pdds/pdd09_gc.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -166,7 +166,7 @@
"sweep" phase). The sweep phase is also known as the collection phase. The
trace phase is also known as the "mark phase" and less frequently as the
"dead object detection" phase. The use of the term "dead object detection"
-and it's acronym DOD has been deprecated.
+and its acronym DOD has been deprecated.
=head3 Initial Marking
Modified: branches/rename_pccinvoke/docs/pdds/pdd17_pmc.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pdds/pdd17_pmc.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pdds/pdd17_pmc.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -513,18 +513,18 @@
void mark(INTERP, PMC *self)
-Called when the DOD is tracing live PMCs. If this method is called then the
+Called when the GC is tracing live PMCs. If this method is called then the
code must mark all strings and PMCs that it contains as live, otherwise they
may be collected.
-This method is only called if the DOD has detected that this PMC is both alive
+This method is only called if the GC has detected that this PMC is both alive
and has a custom mark routine as indicated by the custom mark PMC flag. (Most
normal PMCs don't need a custom mark routine.)
If a PMC has this flag set, then it is responsible for marking all buffers and
PMCs under its control as alive. If it does not, those PMCs or buffers may be
collected later. This method does I<not> have to call the C<mark> method on
-any PMCs it marks--the DOD system takes care of that. (So no need to recurse
+any PMCs it marks--the GC system takes care of that. (So no need to recurse
into aggregate PMCs or anything of the sort).
This method may allocate no memory from Parrot, nor may it alter Parrot's
@@ -535,7 +535,7 @@
void destroy(INTERP, PMC *self)
-Called when the PMC is destroyed. This method is called by the DOD when it
+Called when the PMC is destroyed. This method is called by the GC when it
determines that a PMC is dead and that the PMC has marked itself as having a
destroy method (an active finalizer).
Modified: branches/rename_pccinvoke/docs/pmc.pod
==============================================================================
--- branches/rename_pccinvoke/docs/pmc.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/pmc.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -41,16 +41,16 @@
Each PMC has 8 private flags B<PObj_private0_FLAG> - B<PObj_private7_FLAG>,
which can be used for storing 8 bits.
-=head1 PMCs and DOD
+=head1 PMCs and GC
=head2 Overview
-The DOD system doesn't make any assumptions about your PMC's layout. Whenever a
+The GC system doesn't make any assumptions about your PMC's layout. Whenever a
PMC is found in the root set, B<pobject_lives()> is called with that PMC. The
PMC is responsible to mark all contained or referenced active Parrot objects
(Buffers or other PMCs).
-=head2 DOD related flags
+=head2 GC related flags
=over 4
@@ -83,9 +83,9 @@
=item PObj_active_destroy_FLAG
The PMC's B<destroy> vtable is called, when this PMC is found to be dead during
-DOD.
+GC.
-=item PObj_needs_early_DOD_FLAG
+=item PObj_needs_early_gc_FLAG
Set this flag too, if the PMC needs timely destruction, e.g. to close a file
handle at the end of a block scope, if the PMC isn't alive any more.
Modified: branches/rename_pccinvoke/docs/project/ticket_wrangler_guide.pod
==============================================================================
--- branches/rename_pccinvoke/docs/project/ticket_wrangler_guide.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/project/ticket_wrangler_guide.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -326,4 +326,3 @@
Joshua Hoblitt (JHOBLITT) C<jhoblitt at cpan.org>
=cut
-
Modified: branches/rename_pccinvoke/docs/running.pod
==============================================================================
--- branches/rename_pccinvoke/docs/running.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/running.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -203,9 +203,9 @@
=item -G, --no-gc
-This turns off DOD (Dead Object Detection) and GC. This may be useful to find
-GC related bugs. Don't use this option for longer running programs: as memory
-is no longer recycled, it may quickly become exhausted.
+This turns off GC. This may be useful to find GC related bugs. Don't use this
+option for longer running programs: as memory is no longer recycled, it may
+quickly become exhausted.
=item --leak-test, --destroy-at-end
Modified: branches/rename_pccinvoke/docs/submissions.pod
==============================================================================
--- branches/rename_pccinvoke/docs/submissions.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/docs/submissions.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -294,7 +294,7 @@
=item 4
Request commit access via the C<parrot-dev> mailing list, or via IRC
-(#parrot on irc.perl.org). The existing commiters will discuss your request in
+(#parrot on irc.parrot.org). The existing commiters will discuss your request in
the next couple of weeks.
If approved, a metacommiter will update the permissions to allow you to commit
Modified: branches/rename_pccinvoke/examples/c/test_main.c
==============================================================================
--- branches/rename_pccinvoke/examples/c/test_main.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/examples/c/test_main.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -80,13 +80,13 @@
filename = parseflags(interp, &argc, &argv);
- pf = Parrot_readbc(interp, filename);
+ pf = Parrot_pbc_read(interp, filename, 0);
if (!pf) {
return 1;
}
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
Parrot_runcode(interp, argc, argv);
Parrot_destroy(interp);
Modified: branches/rename_pccinvoke/examples/pir/pirric.pir
==============================================================================
--- branches/rename_pccinvoke/examples/pir/pirric.pir Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/examples/pir/pirric.pir Fri Feb 13 23:29:44 2009 (r36699)
@@ -221,6 +221,7 @@
goto start
opt_debugger:
+ debug_init
runner.'debugger'()
inc $I1
goto read_args
Modified: branches/rename_pccinvoke/ext/Parrot-Embed/lib/Parrot/Embed.xs
==============================================================================
--- branches/rename_pccinvoke/ext/Parrot-Embed/lib/Parrot/Embed.xs Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/ext/Parrot-Embed/lib/Parrot/Embed.xs Fri Feb 13 23:29:44 2009 (r36699)
@@ -84,7 +84,7 @@
interp = Parrot_new( (Parrot_Interp)parent );
pf = PackFile_new( interp, 0 );
- Parrot_loadbc( interp, pf );
+ Parrot_pbc_load( interp, pf );
/* Can't use RETVAL/OUTPUT here because typemap loses class variable */
ST(0) = sv_newmortal();
@@ -100,13 +100,13 @@
Parrot_PackFile pf;
CODE:
real_interp = interp->interp;
- pf = Parrot_readbc( real_interp, filename );
+ pf = Parrot_pbc_read( real_interp, filename, 0 );
if (!pf)
Perl_croak( aTHX_
"File '%s' not found in $parrot_interpreter->load_file()", filename );
- Parrot_loadbc( real_interp, pf );
+ Parrot_pbc_load( real_interp, pf );
RETVAL = 1;
OUTPUT:
RETVAL
Modified: branches/rename_pccinvoke/ext/Parrot-Embed/t/interp.t
==============================================================================
--- branches/rename_pccinvoke/ext/Parrot-Embed/t/interp.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/ext/Parrot-Embed/t/interp.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
#!perl
-# Copyright (C) 2006-2008, The Perl Foundation.
+# Copyright (C) 2006-2009, The Perl Foundation.
# $Id$
use strict;
Modified: branches/rename_pccinvoke/ext/Parrot-Embed/t/languages.t
==============================================================================
--- branches/rename_pccinvoke/ext/Parrot-Embed/t/languages.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/ext/Parrot-Embed/t/languages.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,7 +1,7 @@
#!perl
# Copyright (C) 2009, The Perl Foundation.
-# $Id: $
+# $Id$
use strict;
use warnings;
@@ -23,19 +23,15 @@
my $result = eval { $interp->load_file($abc_pbc) };
my $except = $@;
-ok( $result, '... returning true if it could load the file' );
-is( $except, '', '... throwing no exeption if so' );
+ok( $result, '... returning true if it could load the file' );
+is( $except, '', '... throwing no exception if so' );
my $abc = $interp->find_global( 'main', 'abc::Compiler' );
isa_ok( $abc, 'Parrot::PMC' );
-SKIP: {
- skip( 'Cannot find namespaced names yet', 2 );
-
- my $pmc = $abc->invoke('PS', '2+3');
- ok( $pmc, 'invoke() should return a PMC, given that signature' );
- is( $pmc->get_string(), 1, 'value returned in the PMC' );
-}
+my $pmc = $abc->invoke('PS', '2+3');
+ok( $pmc, 'invoke() should return a PMC, given that signature' );
+is( $pmc->get_string(), 1, 'value returned in the PMC' );
# Local Variables:
# mode: cperl
Modified: branches/rename_pccinvoke/include/parrot/call.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/call.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/call.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -92,16 +92,6 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-PMC* Parrot_pcc_build_sig_object_from_varargs(PARROT_INTERP,
- ARGIN_NULLOK(PMC* obj),
- ARGIN(const char *sig),
- va_list args)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-PARROT_EXPORT
void Parrot_convert_arg(PARROT_INTERP, ARGMOD(call_state *st))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -185,6 +175,16 @@
FUNC_MODIFIES(*dest_indexes);
PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+PMC* Parrot_pcc_build_sig_object_from_varargs(PARROT_INTERP,
+ ARGIN_NULLOK(PMC* obj),
+ ARGIN(const char *sig),
+ va_list args)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
+PARROT_EXPORT
void Parrot_pcc_invoke_from_sig_object(PARROT_INTERP,
ARGIN(PMC *sub_obj),
ARGIN(PMC *sig_obj))
@@ -278,10 +278,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-#define ASSERT_ARGS_Parrot_pcc_build_sig_object_from_varargs \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = \
- PARROT_ASSERT_ARG(interp) \
- || PARROT_ASSERT_ARG(sig)
#define ASSERT_ARGS_Parrot_convert_arg __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp) \
|| PARROT_ASSERT_ARG(st)
@@ -317,6 +313,10 @@
PARROT_ASSERT_ARG(interp) \
|| PARROT_ASSERT_ARG(src_ctx) \
|| PARROT_ASSERT_ARG(dest_ctx)
+#define ASSERT_ARGS_Parrot_pcc_build_sig_object_from_varargs \
+ __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(interp) \
+ || PARROT_ASSERT_ARG(sig)
#define ASSERT_ARGS_Parrot_pcc_invoke_from_sig_object \
__attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp) \
Modified: branches/rename_pccinvoke/include/parrot/embed.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/embed.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/embed.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -22,6 +22,11 @@
typedef int Parrot_warnclass;
+typedef enum {
+ enum_DIS_BARE = 1,
+ enum_DIS_HEADER = 2
+} Parrot_disassemble_options;
+
PARROT_EXPORT Parrot_Interp Parrot_new(Parrot_Interp parent);
PARROT_EXPORT void Parrot_init_stacktop(Parrot_Interp, void *);
@@ -44,9 +49,9 @@
PARROT_EXPORT void Parrot_setwarnings(Parrot_Interp, Parrot_warnclass);
-PARROT_EXPORT Parrot_PackFile Parrot_readbc(Parrot_Interp, const char *);
+PARROT_EXPORT Parrot_PackFile Parrot_pbc_read(Parrot_Interp, const char *, const int);
-PARROT_EXPORT void Parrot_loadbc(Parrot_Interp, Parrot_PackFile);
+PARROT_EXPORT void Parrot_pbc_load(Parrot_Interp, Parrot_PackFile);
PARROT_EXPORT void Parrot_setup_argv(Parrot_Interp, int argc, const char **argv);
@@ -58,7 +63,7 @@
PARROT_EXPORT Parrot_Opcode * Parrot_debug(Parrot_Interp, Parrot_Interp, Parrot_Opcode *pc);
-PARROT_EXPORT void Parrot_disassemble(Parrot_Interp);
+PARROT_EXPORT void Parrot_disassemble(Parrot_Interp, const char *outfile, Parrot_disassemble_options options);
PARROT_EXPORT
PARROT_DOES_NOT_RETURN
@@ -73,6 +78,12 @@
int Parrot_revision(void);
+/* Deprecated */
+
+/* with 0.9.1 TT #266 */
+#define Parrot_readbc(i, c) Parrot_pbc_read((i), (c), 0)
+#define Parrot_loadbc(i, pf) Parrot_pbc_load((i), (pf))
+
#endif /* PARROT_EMBED_H_GUARD */
/*
Modified: branches/rename_pccinvoke/include/parrot/extend.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/extend.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/extend.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -31,7 +31,7 @@
#define Parrot_Language Parrot_Int
#define Parrot_VTABLE VTABLE *
-/* Macro to save off the original stack pointer for DOD scanning. If
+/* Macro to save off the original stack pointer for GC scanning. If
the stacktop was NULL, then set it to the address of the cached
pointer, which is on the stack and as good a thing as any to use as
an anchor */
Modified: branches/rename_pccinvoke/include/parrot/gc_api.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/gc_api.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/gc_api.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -18,33 +18,33 @@
#include "parrot/gc_mark_sweep.h"
#include "parrot/parrot.h"
-/* Macros for recursively blocking and unblocking DOD */
+/* Macros for recursively blocking and unblocking GC mark */
#define Parrot_block_GC_mark(interp) \
{ \
- (interp)->arena_base->DOD_block_level++; \
+ (interp)->arena_base->gc_mark_block_level++; \
Parrot_shared_gc_block(interp); \
}
#define Parrot_unblock_GC_mark(interp) \
- if ((interp)->arena_base->DOD_block_level) { \
- (interp)->arena_base->DOD_block_level--; \
+ if ((interp)->arena_base->gc_mark_block_level) { \
+ (interp)->arena_base->gc_mark_block_level--; \
Parrot_shared_gc_unblock(interp); \
}
-/* Macros for recursively blocking and unblocking GC */
+/* Macros for recursively blocking and unblocking GC sweep */
#define Parrot_block_GC_sweep(interp) \
- (interp)->arena_base->GC_block_level++
+ (interp)->arena_base->gc_sweep_block_level++
#define Parrot_unblock_GC_sweep(interp) \
- if ((interp)->arena_base->GC_block_level) \
- (interp)->arena_base->GC_block_level--
+ if ((interp)->arena_base->gc_sweep_block_level) \
+ (interp)->arena_base->gc_sweep_block_level--
-/* Macros for testing if the DOD and GC are blocked */
+/* Macros for testing if the GC mark and sweep are blocked */
#define Parrot_is_blocked_GC_mark(interp) \
- ((interp)->arena_base->DOD_block_level)
+ ((interp)->arena_base->gc_mark_block_level)
#define Parrot_is_blocked_GC_sweep(interp) \
- ((interp)->arena_base->GC_block_level)
+ ((interp)->arena_base->gc_sweep_block_level)
#define GC_trace_stack_FLAG (UINTVAL)(1 << 0) /* trace system areas and stack */
#define GC_trace_normal (UINTVAL)(1 << 0) /* the same */
Modified: branches/rename_pccinvoke/include/parrot/interpreter.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/interpreter.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/interpreter.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -153,11 +153,10 @@
* one entry per op at (op + extra) */
typedef enum {
- PARROT_PROF_DOD_p1, /* pass 1 mark root set */
- PARROT_PROF_DOD_p2, /* pass 2 mark next_for_GC */
- PARROT_PROF_DOD_cp, /* collect PMCs */
- PARROT_PROF_DOD_cb, /* collect buffers */
- /* DOD must be 0..3 */
+ PARROT_PROF_GC_p1, /* pass 1 mark root set */
+ PARROT_PROF_GC_p2, /* pass 2 mark next_for_GC */
+ PARROT_PROF_GC_cp, /* collect PMCs */
+ PARROT_PROF_GC_cb, /* collect buffers */
PARROT_PROF_GC,
PARROT_PROF_EXCEPTION,
PARROT_PROF_EXTRA
Modified: branches/rename_pccinvoke/include/parrot/oo.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/oo.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/oo.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -27,7 +27,7 @@
/* Objects, classes and PMCarrays all use the same data scheme:
* PMC_data() holds a malloced array, PMC_int_val() is the size of it
- * this simplifies DOD mark a lot
+ * this simplifies the GC mark phase a lot
*
* The active destroy flag is necessary to free the malloced array.
*/
Modified: branches/rename_pccinvoke/include/parrot/packfile.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/packfile.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/packfile.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -24,6 +24,34 @@
#define CONSTANT_SEGMENT_NAME "CONSTANT"
#define BYTE_CODE_SEGMENT_NAME "BYTECODE"
+#define FLOATTYPE_8 0
+#define FLOATTYPE_8_NAME "IEEE-754 8 byte double"
+#define FLOATTYPE_12 1
+#define FLOATTYPE_12_NAME "x86 little endian 12 byte long double"
+#define FLOATTYPE_16 2
+#define FLOATTYPE_16_NAME "IEEE-754 16 byte long double"
+#define FLOATTYPE_MAX 2
+/* Unsupported NaN difference, but patches welcome */
+#define FLOATTYPE_16MIPS 3
+#define FLOATTYPE_16MIPS_NAME "MIPS 16 byte long double"
+/* Not yet set into silicon AFAIK */
+#define FLOATTYPE_32 4
+#define FLOATTYPE_32_NAME "256-bit extended double"
+
+#define TRACE_PACKFILE 0
+
+#if TRACE_PACKFILE
+# define TRACE_PRINTF(args) if (pf->options) Parrot_trace_eprintf args
+# if TRACE_PACKFILE == 2
+# define TRACE_PRINTF_VAL(args) if (pf->options & 2) Parrot_trace_eprintf args
+# else
+# define TRACE_PRINTF_VAL(args)
+# endif
+#else
+# define TRACE_PRINTF(args)
+# define TRACE_PRINTF_VAL(args)
+#endif
+
/*
** Structure Definitions:
*/
@@ -271,6 +299,7 @@
PackFile_ByteCode * cur_cs; /* used during PF loading */
+ INTVAL options;
INTVAL need_wordsize;
INTVAL need_endianize;
@@ -755,6 +784,9 @@
__attribute__nonnull__(3)
FUNC_MODIFIES(*seg);
+void Parrot_trace_eprintf(ARGIN(const char *s), ...)
+ __attribute__nonnull__(1);
+
#define ASSERT_ARGS_do_sub_pragmas __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp) \
|| PARROT_ASSERT_ARG(self)
@@ -902,6 +934,8 @@
PARROT_ASSERT_ARG(interp) \
|| PARROT_ASSERT_ARG(seg) \
|| PARROT_ASSERT_ARG(cursor)
+#define ASSERT_ARGS_Parrot_trace_eprintf __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(s)
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: src/packfile.c */
@@ -970,6 +1004,7 @@
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
opcode_t PF_fetch_opcode(
ARGIN_NULLOK(const PackFile *pf),
ARGMOD(const opcode_t **stream))
@@ -1096,6 +1131,13 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*rb);
+void fetch_buf_be_32(
+ ARGOUT(unsigned char *rb),
+ ARGIN(const unsigned char *b))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*rb);
+
void fetch_buf_be_4(
ARGOUT(unsigned char *rb),
ARGIN(const unsigned char *b))
@@ -1124,6 +1166,13 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*rb);
+void fetch_buf_le_32(
+ ARGOUT(unsigned char *rb),
+ ARGIN(const unsigned char *b))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*rb);
+
void fetch_buf_le_4(
ARGOUT(unsigned char *rb),
ARGIN(const unsigned char *b))
@@ -1160,6 +1209,9 @@
#define ASSERT_ARGS_fetch_buf_be_16 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(rb) \
|| PARROT_ASSERT_ARG(b)
+#define ASSERT_ARGS_fetch_buf_be_32 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(rb) \
+ || PARROT_ASSERT_ARG(b)
#define ASSERT_ARGS_fetch_buf_be_4 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(rb) \
|| PARROT_ASSERT_ARG(b)
@@ -1172,6 +1224,9 @@
#define ASSERT_ARGS_fetch_buf_le_16 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(rb) \
|| PARROT_ASSERT_ARG(b)
+#define ASSERT_ARGS_fetch_buf_le_32 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(rb) \
+ || PARROT_ASSERT_ARG(b)
#define ASSERT_ARGS_fetch_buf_le_4 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(rb) \
|| PARROT_ASSERT_ARG(b)
Modified: branches/rename_pccinvoke/include/parrot/pobj.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/pobj.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/pobj.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -248,7 +248,7 @@
/* Mark the object as on the free list */
b_PObj_on_free_list_FLAG = POBJ_FLAG(19),
-/* DOD/GC FLAGS */
+/* GC FLAGS */
/* Set to true if the PObj has a custom mark routine */
PObj_custom_mark_FLAG = POBJ_FLAG(20),
/* Mark the buffer as needing GC */
@@ -261,16 +261,16 @@
/* PMC specific FLAGs */
/* call object finalizer */
PObj_need_finalize_FLAG = POBJ_FLAG(25),
- /* a PMC that needs special handling in DOD, i.e one that has either:
+ /* a PMC that needs special handling in GC, i.e one that has either:
* - metadata
* - data_is_PMC_array_FLAG
* - custom_mark_FLAG
*/
b_PObj_is_special_PMC_FLAG = POBJ_FLAG(26),
- /* true if this is connected by some route to a needs_early_DOD object */
- PObj_high_priority_DOD_FLAG = POBJ_FLAG(27),
- PObj_needs_early_DOD_FLAG = (POBJ_FLAG(27) | POBJ_FLAG(28)),
+ /* true if this is connected by some route to a needs_early_gc object */
+ PObj_high_priority_gc_FLAG = POBJ_FLAG(27),
+ PObj_needs_early_gc_FLAG = (POBJ_FLAG(27) | POBJ_FLAG(28)),
/* True if the PMC is a class */
PObj_is_class_FLAG = POBJ_FLAG(29),
@@ -290,9 +290,9 @@
# define PObj_on_free_list_FLAG b_PObj_on_free_list_FLAG
# define PObj_is_special_PMC_FLAG b_PObj_is_special_PMC_FLAG
-# define DOD_flag_TEST(flag, o) PObj_flag_TEST(flag, o)
-# define DOD_flag_SET(flag, o) PObj_flag_SET(flag, o)
-# define DOD_flag_CLEAR(flag, o) PObj_flag_CLEAR(flag, o)
+# define gc_flag_TEST(flag, o) PObj_flag_TEST(flag, o)
+# define gc_flag_SET(flag, o) PObj_flag_SET(flag, o)
+# define gc_flag_CLEAR(flag, o) PObj_flag_CLEAR(flag, o)
#define PObj_get_FLAGS(o) ((o)->flags)
@@ -327,13 +327,13 @@
#define PObj_report_CLEAR(o) PObj_flag_CLEAR(report, o)
-#define PObj_on_free_list_TEST(o) DOD_flag_TEST(on_free_list, o)
-#define PObj_on_free_list_SET(o) DOD_flag_SET(on_free_list, o)
-#define PObj_on_free_list_CLEAR(o) DOD_flag_CLEAR(on_free_list, o)
-
-#define PObj_live_TEST(o) DOD_flag_TEST(live, o)
-#define PObj_live_SET(o) DOD_flag_SET(live, o)
-#define PObj_live_CLEAR(o) DOD_flag_CLEAR(live, o)
+#define PObj_on_free_list_TEST(o) gc_flag_TEST(on_free_list, o)
+#define PObj_on_free_list_SET(o) gc_flag_SET(on_free_list, o)
+#define PObj_on_free_list_CLEAR(o) gc_flag_CLEAR(on_free_list, o)
+
+#define PObj_live_TEST(o) gc_flag_TEST(live, o)
+#define PObj_live_SET(o) gc_flag_SET(live, o)
+#define PObj_live_CLEAR(o) gc_flag_CLEAR(live, o)
#define PObj_is_string_TEST(o) PObj_flag_TEST(is_string, o)
#define PObj_is_string_SET(o) PObj_flag_SET(is_string, o)
@@ -346,7 +346,7 @@
#define PObj_special_SET(flag, o) do { \
PObj_flag_SET(flag, o); \
- DOD_flag_SET(is_special_PMC, o); \
+ gc_flag_SET(is_special_PMC, o); \
} while (0)
#define PObj_special_CLEAR(flag, o) do { \
@@ -355,22 +355,22 @@
(PObj_active_destroy_FLAG | \
PObj_custom_mark_FLAG | \
PObj_is_PMC_EXT_FLAG | \
- PObj_needs_early_DOD_FLAG))) \
- DOD_flag_SET(is_special_PMC, o); \
+ PObj_needs_early_gc_FLAG))) \
+ gc_flag_SET(is_special_PMC, o); \
else \
- DOD_flag_CLEAR(is_special_PMC, o); \
+ gc_flag_CLEAR(is_special_PMC, o); \
} while (0)
-#define PObj_is_special_PMC_TEST(o) DOD_flag_TEST(is_special_PMC, o)
-#define PObj_is_special_PMC_SET(o) DOD_flag_SET(is_special_PMC, o)
+#define PObj_is_special_PMC_TEST(o) gc_flag_TEST(is_special_PMC, o)
+#define PObj_is_special_PMC_SET(o) gc_flag_SET(is_special_PMC, o)
-#define PObj_needs_early_DOD_TEST(o) PObj_flag_TEST(needs_early_DOD, o)
-#define PObj_needs_early_DOD_SET(o) PObj_special_SET(needs_early_DOD, o)
-#define PObj_needs_early_DOD_CLEAR(o) PObj_special_CLEAR(needs_early_DOD, o)
-
-#define PObj_high_priority_DOD_TEST(o) PObj_flag_TEST(high_priority_DOD, o)
-#define PObj_high_priority_DOD_SET(o) PObj_special_SET(high_priority_DOD, o)
-#define PObj_high_priority_DOD_CLEAR(o) PObj_special_CLEAR(high_priority_DOD, o)
+#define PObj_needs_early_gc_TEST(o) PObj_flag_TEST(needs_early_gc, o)
+#define PObj_needs_early_gc_SET(o) PObj_special_SET(needs_early_gc, o)
+#define PObj_needs_early_gc_CLEAR(o) PObj_special_CLEAR(needs_early_gc, o)
+
+#define PObj_high_priority_gc_TEST(o) PObj_flag_TEST(high_priority_gc, o)
+#define PObj_high_priority_gc_SET(o) PObj_special_SET(high_priority_gc, o)
+#define PObj_high_priority_gc_CLEAR(o) PObj_special_CLEAR(high_priority_gc, o)
#define PObj_custom_mark_SET(o) PObj_special_SET(custom_mark, o)
#define PObj_custom_mark_CLEAR(o) PObj_special_CLEAR(custom_mark, o)
Modified: branches/rename_pccinvoke/include/parrot/resources.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/resources.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/resources.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -139,13 +139,12 @@
void (*finalize_gc_system) (PARROT_INTERP);
void (*init_pool)(PARROT_INTERP, struct Small_Object_Pool *);
/*
- * statistics for DOD and GC
+ * statistics for GC
*/
- size_t gc_runs; /* Number of times we've done a DOD sweep */
- size_t lazy_gc_runs; /* Number of successful lazy DOD sweep */
- size_t collect_runs; /* Number of times we've
- * done a memory compaction
- */
+ size_t gc_mark_runs; /* Number of times we've done a mark run*/
+ size_t gc_lazy_mark_runs; /* Number of successful lazy mark runs */
+ size_t gc_collect_runs; /* Number of times we've done a memory
+ compaction */
size_t mem_allocs_since_last_collect; /* The number of memory
* allocations from the
* system since the last
@@ -153,42 +152,42 @@
size_t header_allocs_since_last_collect; /* The number of header
* blocks allocated from
* the system since the last
- * DOD run */
- size_t memory_allocated; /* The total amount of
- * allocatable memory
- * allocated. Doesn't count
- * memory for headers or
- * internal structures or
- * anything */
- UINTVAL memory_collected; /* Total amount of memory copied
- during collection */
- UINTVAL num_early_DOD_PMCs; /* how many PMCs want immediate destruction */
- UINTVAL num_early_PMCs_seen;/* how many such PMCs has DOD seen */
- UINTVAL num_extended_PMCs; /* active PMCs having pmc_ext */
- PMC* gc_mark_start; /* first PMC marked during a DOD run */
- PMC* gc_mark_ptr; /* last PMC marked during a DOD run */
- PMC* gc_trace_ptr; /* last PMC trace_children was called on */
- int lazy_gc; /* flag that indicates whether we should stop
- when we've seen all impatient PMCs */
+ * GC run */
+ size_t memory_allocated; /* The total amount of
+ * allocatable memory
+ * allocated. Doesn't count
+ * memory for headers or
+ * internal structures or
+ * anything */
+ UINTVAL memory_collected; /* Total amount of memory copied
+ during collection */
+ UINTVAL num_early_gc_PMCs; /* how many PMCs want immediate destruction */
+ UINTVAL num_early_PMCs_seen; /* how many such PMCs has GC seen */
+ UINTVAL num_extended_PMCs; /* active PMCs having pmc_ext */
+ PMC* gc_mark_start; /* first PMC marked during a GC run */
+ PMC* gc_mark_ptr; /* last PMC marked during a GC run */
+ PMC* gc_trace_ptr; /* last PMC trace_children was called on */
+ int lazy_gc; /* flag that indicates whether we should stop
+ when we've seen all impatient PMCs */
/*
- * DOD, GC blocking
+ * GC blocking
*/
- UINTVAL DOD_block_level; /* How many outstanding DOD block
- requests are there? */
- UINTVAL GC_block_level; /* How many outstanding GC block
- requests are there? */
+ UINTVAL gc_mark_block_level; /* How many outstanding GC block
+ requests are there? */
+ UINTVAL gc_sweep_block_level; /* How many outstanding GC block
+ requests are there? */
/*
* private data for the GC subsystem
*/
- void * gc_private; /* gc subsystem data */
+ void * gc_private; /* gc subsystem data */
} Arenas;
/* &gen_from_enum(interpinfo.pasm) prefix(INTERPINFO_) */
typedef enum {
TOTAL_MEM_ALLOC = 1,
- DOD_RUNS,
- COLLECT_RUNS,
+ GC_MARK_RUNS,
+ GC_COLLECT_RUNS,
ACTIVE_PMCS,
ACTIVE_BUFFERS,
TOTAL_PMCS,
@@ -197,7 +196,7 @@
MEM_ALLOCS_SINCE_COLLECT,
TOTAL_COPIED,
IMPATIENT_PMCS,
- LAZY_DOD_RUNS,
+ GC_LAZY_MARK_RUNS,
EXTENDED_PMCS,
CURRENT_RUNCORE,
Modified: branches/rename_pccinvoke/include/parrot/settings.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/settings.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/settings.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -14,13 +14,13 @@
#define PARROT_SETTINGS_H_GUARD
/*
- * DOD/GC switches
+ * GC switches
*/
/* If you are trying to debug GC problems which only occur on large test cases,
* turning on GC_DEBUG should help make the problem appear with smaller data
- * samples by reducing various numbers, and causing DOD and allocation runs
- * to occur more frequently. It does significantly reduce performance. */
+ * samples by reducing various numbers, and causing GC runs to occur more
+ * frequently. It does significantly reduce performance. */
#ifndef DISABLE_GC_DEBUG
# define DISABLE_GC_DEBUG 0
#endif /* DISABLE_GC_DEBUG */
Modified: branches/rename_pccinvoke/include/parrot/thread.h
==============================================================================
--- branches/rename_pccinvoke/include/parrot/thread.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/include/parrot/thread.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -175,6 +175,9 @@
void pt_clone_code(Parrot_Interp d, Parrot_Interp s);
void pt_clone_globals(Parrot_Interp d, Parrot_Interp s);
+void pt_free_pool(PARROT_INTERP)
+ __attribute__nonnull__(1);
+
void pt_gc_mark_root_finished(PARROT_INTERP)
__attribute__nonnull__(1);
@@ -184,9 +187,6 @@
void pt_gc_stop_mark(PARROT_INTERP)
__attribute__nonnull__(1);
-void pt_free_pool(PARROT_INTERP)
- __attribute__nonnull__(1);
-
void pt_join_threads(PARROT_INTERP)
__attribute__nonnull__(1);
@@ -269,14 +269,14 @@
PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_clone_code __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
#define ASSERT_ARGS_pt_clone_globals __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
+#define ASSERT_ARGS_pt_free_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_gc_mark_root_finished __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_gc_start_mark __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_gc_stop_mark __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp)
-#define ASSERT_ARGS_pt_free_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = \
- PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_join_threads __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(interp)
#define ASSERT_ARGS_pt_shared_fixup __attribute__unused__ int _ASSERT_ARGS_CHECK = \
Modified: branches/rename_pccinvoke/languages/PIR/src/pasm/pasm_core.pg
==============================================================================
--- branches/rename_pccinvoke/languages/PIR/src/pasm/pasm_core.pg Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/PIR/src/pasm/pasm_core.pg Fri Feb 13 23:29:44 2009 (r36699)
@@ -60,7 +60,7 @@
| errorsoff <arg_hack> #<int_constant>
| runinterp <arg_hack> #<target> \, <int_constant>
| getinterp <arg_hack> #<target>
- # DOD/GC
+ # GC
| sweep <arg_hack> #<int_constant>
| collect
| sweepoff
Modified: branches/rename_pccinvoke/languages/abc/abc.pir
==============================================================================
--- branches/rename_pccinvoke/languages/abc/abc.pir Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/abc/abc.pir Fri Feb 13 23:29:44 2009 (r36699)
@@ -21,7 +21,7 @@
=cut
-.namespace [ 'abc::Compiler' ]
+.namespace [ 'abc'; 'Compiler' ]
.loadlib 'abc_group'
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassembly.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassembly.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassembly.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1755,7 +1755,7 @@
}
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
@@ -1882,7 +1882,7 @@
}
/* We create some PMCs that aren't reachable for a while, and GC
- runs will eat them. Thus we'll block DOD while we do it (and
+ runs will eat them. Thus we'll block GC while we do it (and
unblock it again later). */
Parrot_block_GC_mark(INTERP);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassemblyref.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassemblyref.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetassemblyref.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetAssemblyRef dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetbytecode.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetbytecode.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetbytecode.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetBytecode dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetclassmetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetclassmetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetclassmetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetClassMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotneteh.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotneteh.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotneteh.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetEH dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetfieldmetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetfieldmetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetfieldmetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetFieldMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmemberrefmetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmemberrefmetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmemberrefmetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetMemberRefMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmethodmetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmethodmetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetmethodmetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetMethodMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnetparammetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnetparammetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnetparammetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetParamMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/dotnettyperefmetadata.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/dotnettyperefmetadata.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/dotnettyperefmetadata.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,7 +13,7 @@
pmclass DotNetTypeRefMetadata dynpmc group dotnet {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/dotnet/pmc/managedpointer.pmc
==============================================================================
--- branches/rename_pccinvoke/languages/dotnet/pmc/managedpointer.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/dotnet/pmc/managedpointer.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -12,7 +12,7 @@
pmclass ManagedPointer dynpmc group dotnet_runtime {
- /* Instance initialization. We need a custom DOD marking and destroy. */
+ /* Instance initialization. We need a custom GC marking and destroy. */
void init()
{
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/languages/pod/src/Pod/DocTree/Node.pir
==============================================================================
--- branches/rename_pccinvoke/languages/pod/src/Pod/DocTree/Node.pir Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/pod/src/Pod/DocTree/Node.pir Fri Feb 13 23:29:44 2009 (r36699)
@@ -26,6 +26,7 @@
p6meta.'new_class'('Pod::DocTree::Item', 'parent'=>base)
p6meta.'new_class'('Pod::DocTree::Text', 'parent'=>base)
p6meta.'new_class'('Pod::DocTree::Format', 'parent'=>base)
+ p6meta.'new_class'('Pod::DocTree::FormatCode', 'parent'=>base)
p6meta.'new_class'('Pod::DocTree::Paragraph', 'parent'=>base)
p6meta.'new_class'('Pod::DocTree::Literal', 'parent'=>base)
Modified: branches/rename_pccinvoke/languages/pod/src/parser/actions.pm
==============================================================================
--- branches/rename_pccinvoke/languages/pod/src/parser/actions.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/pod/src/parser/actions.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -62,12 +62,38 @@
make $block;
}
-method for_directive($/) {
+method pod_directive($/) {
my $block := Pod::DocTree::Block.new();
+ our @?BLOCK;
+ @?BLOCK.unshift($block);
+ make $block;
+}
+method for_directive($/) {
+ my $block := Pod::DocTree::Block.new();
+ our @?BLOCK;
+ @?BLOCK.unshift($block);
make $block;
}
+method cut_directive($/) {
+ our @?BLOCK;
+ my $count := @?BLOCK;
+ if $count > 0 {
+ my $block := @?BLOCK.shift();
+ make $block;
+ }
+}
+
+method end_directive($/) {
+ our @?BLOCK;
+ my $count := @?BLOCK;
+ if $count > 0 {
+ my $block := @?BLOCK.shift();
+ make $block;
+ }
+}
+
method over_directive($/) {
my $list := Pod::DocTree::List.new();
our @?LIST;
@@ -106,7 +132,7 @@
}
method block_title($/) {
- make Pod::DocTree::Text.new( :name("text") );
+ make Pod::DocTree::Text.new( :name('text') );
}
method paragraph($/) {
@@ -131,6 +157,51 @@
make Pod::DocTree::Text.new( :name(~$/) );
}
+method format_code($/) {
+ my $fcode := Pod::DocTree::FormatCode.new();
+ $fcode.code($<code>);
+ my $text := $( $<formatted_text> );
+ my $name;
+ if $<code> eq 'B' {
+ $name := 'bold';
+ }
+ elsif $<code> eq 'C' {
+ $name := 'code';
+ }
+ elsif $<code> eq 'E' {
+ $name := 'escape';
+ }
+ elsif $<code> eq 'F' {
+ $name := 'filename';
+ }
+ elsif $<code> eq 'I' {
+ $name := 'italic';
+ }
+ elsif $<code> eq 'L' {
+ $name := 'link';
+ }
+ elsif $<code> eq 'S' {
+ $name := 'XXX';
+ }
+ elsif $<code> eq 'X' {
+ $name := 'XXX';
+ }
+ elsif $<code> eq 'Z' {
+ $name := 'XXX';
+ }
+ $fcode.name($name);
+ $fcode.push($text);
+ make $fcode;
+}
+
+method literal_paragraph($/) {
+ my $paragraph := Pod::DocTree::Literal.new();
+ for $<formatted_text> {
+ $paragraph.push( $( $_ ) );
+ }
+ make $paragraph;
+}
+
method formatted_text($/) {
make Pod::DocTree::Text.new( :name(~$/) );
}
Modified: branches/rename_pccinvoke/languages/pod/src/parser/grammar.pg
==============================================================================
--- branches/rename_pccinvoke/languages/pod/src/parser/grammar.pg Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/pod/src/parser/grammar.pg Fri Feb 13 23:29:44 2009 (r36699)
@@ -46,13 +46,13 @@
token pod_directive {
^^ '=pod' \n
<.blank_line>
-
+ {*}
}
token cut_directive {
^^ '=cut' \n
<.blank_line>?
-
+ {*}
}
token heading {
@@ -80,7 +80,7 @@
<block_name>
\n
<.blank_line>
-
+ {*}
}
token for_directive {
@@ -148,7 +148,7 @@
^^
[ <.pod_ws> <formatted_text> \n ]+
<.blank_line>
-
+ {*}
}
token block_name {
@@ -180,7 +180,7 @@
| '<<' <formatted_text> '>>'
| '<' <formatted_text> '>'
]
-
+ {*}
}
token pod_ws {
Modified: branches/rename_pccinvoke/languages/squaak/doc/tutorial_episode_1.pod
==============================================================================
--- branches/rename_pccinvoke/languages/squaak/doc/tutorial_episode_1.pod Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/squaak/doc/tutorial_episode_1.pod Fri Feb 13 23:29:44 2009 (r36699)
@@ -262,7 +262,7 @@
=item * Parrot mailing list: parrot-dev at lists.parrot.org
-=item * IRC: join #parrot on irc.perl.org
+=item * IRC: join #parrot on irc.parrot.org
=item * Getting started with PCT: docs/pct/gettingstarted.pod
Modified: branches/rename_pccinvoke/languages/t/harness
==============================================================================
--- branches/rename_pccinvoke/languages/t/harness Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/languages/t/harness Fri Feb 13 23:29:44 2009 (r36699)
@@ -57,10 +57,8 @@
# Step 0: handle command line args
-my $do_gen_html; # smoke testing
my $languages_list; # select a subset of languages
-my $result = GetOptions( 'html' => \$do_gen_html,
- 'languages=s' => \$languages_list );
+my $result = GetOptions( 'languages=s' => \$languages_list );
# Step 1: find harness files for testable languages
@@ -85,7 +83,7 @@
cola
dotnet
jako
- lisp lua
+ lisp
ook
parrot_compiler pipp punie
regex
@@ -109,74 +107,7 @@
chomp(@tests);
# Step 3: test.
-
-if ( ! $do_gen_html ) {
- Test::Harness::runtests(@tests);
-}
-else {
- my $html_fn = "languages_smoke.html";
- my @smoke_config_vars = qw(
- osname archname cc build_dir cpuarch revision VERSION optimize DEVEL
- );
-
- eval {
- require Test::TAP::HTMLMatrix;
- require Test::TAP::Model::Visual;
- };
- die "You must have Test::TAP::HTMLMatrix installed.\n\n$@"
- if $@;
-
- {
- no warnings qw/redefine once/;
- *Test::TAP::Model::run_tests = sub {
- my $self = shift;
-
- $self->_init;
- $self->{meat}{start_time} = time();
-
- my %stats;
-
- foreach my $file (@_) {
- my $data;
- print STDERR "- $file\n";
- $data = $self->run_test($file);
- $stats{tests} += $data->{results}{max} || 0;
- $stats{ok} += $data->{results}{ok} || 0;
- }
-
- printf STDERR "%s OK from %s tests (%.2f%% ok)\n\n",
- $stats{ok},
- $stats{tests},
- $stats{ok} / $stats{tests} * 100;
-
- $self->{meat}{end_time} = time();
- };
-
- my $start = time();
- my $model = Test::TAP::Model::Visual->new_with_tests(@tests);
- my $end = time();
-
- my $duration = $end - $start;
- my $languages = join( q{ }, @unified_testable_languages );
- my $v = Test::TAP::HTMLMatrix->new(
- $model,
- join("\n",
- "languages: $languages",
- "duration: $duration",
- "branch: unknown",
- "harness_args: languages",
- map { "$_: $PConfig{$_}" } sort @smoke_config_vars),
- );
-
- $v->has_inline_css(1); # no separate css file
-
- open HTML, '>', $html_fn;
- print HTML $v->html();
- close HTML;
-
- print "$html_fn has been generated.\n";
- }
-}
+Test::Harness::runtests(@tests);
# Local Variables:
# mode: cperl
Modified: branches/rename_pccinvoke/lib/Parrot/Configure/Step/List.pm
==============================================================================
--- branches/rename_pccinvoke/lib/Parrot/Configure/Step/List.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/lib/Parrot/Configure/Step/List.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -50,6 +50,7 @@
auto::memalign
auto::signal
auto::socklen_t
+ auto::neg_0
auto::env
auto::gmp
auto::readline
Modified: branches/rename_pccinvoke/lib/Parrot/Distribution.pm
==============================================================================
--- branches/rename_pccinvoke/lib/Parrot/Distribution.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/lib/Parrot/Distribution.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -658,7 +658,6 @@
APL/tools
BASIC/compiler BASIC/interpreter
dotnet dotnet/build dotnet/tools
- lua
pipp
python
regex
@@ -712,7 +711,6 @@
dotnet/build/SRM dotnet/t
jako/lib/Jako
jako/lib/Jako/Construct
- lua/Lua lua/t/Parrot/Test
parrot_compiler/lib/Parrot/Test
perl6/t/01-sanity
pipp/lib/Parrot/Test pipp/lib/Parrot/Test/Pipp
Modified: branches/rename_pccinvoke/lib/Parrot/Docs/Section/Languages.pm
==============================================================================
--- branches/rename_pccinvoke/lib/Parrot/Docs/Section/Languages.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/lib/Parrot/Docs/Section/Languages.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -55,7 +55,6 @@
$self->new_section( 'forth', 'forth.html', '', 'languages/forth' ),
$self->new_section( 'Jako', 'jako.html', '', 'languages/jako' ),
$self->new_section( 'lolcode', 'lolcode.html', '', 'languages/lolcode' ),
- $self->new_section( 'Lua', 'lua.html', '', 'languages/lua' ),
$self->new_section( 'Ook!', 'ook.html', '', 'languages/ook' ),
$self->new_section( 'pheme', 'pheme.html', '', 'languages/pheme' ),
$self->new_section( 'Pipp', 'pipp.html', '', 'languages/pipp' ),
Modified: branches/rename_pccinvoke/lib/Parrot/Harness/Options.pm
==============================================================================
--- branches/rename_pccinvoke/lib/Parrot/Harness/Options.pm Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/lib/Parrot/Harness/Options.pm Fri Feb 13 23:29:44 2009 (r36699)
@@ -64,8 +64,9 @@
sub get_test_prog_args {
my ($optsref, $gc_debug, $run_exec) = @_;
- my %opts = %{ $optsref };
+ my %opts = remap_runcore_opts( $optsref );
my $args = join(' ', map { "-$_" } keys %opts );
+
$args =~ s/-O/-O$opts{O}/ if exists $opts{O};
$args =~ s/-D/-D$opts{D}/;
$args .= ' --gc-debug' if $gc_debug;
@@ -77,6 +78,22 @@
return $args;
}
+sub remap_runcore_opts
+{
+ my ($opts_ref) = @_;
+ my %remap = (
+ 'j' => '-runcore=jit',
+ 'g' => '-runcore=cgoto',
+ 'C' => '-runcore=cgp',
+ 'S' => '-runcore=switch',
+ 'b' => '-runcore=bounds',
+ 'f' => '-runcore=fast',
+ );
+
+ return map { $_ => ( exists $remap{$_} ? $remap{$_} : $opts_ref->{$_} ) }
+ keys %{ $opts_ref };
+}
+
sub Usage {
print <<"EOF";
perl t/harness [options] [testfiles]
Modified: branches/rename_pccinvoke/parrotbug
==============================================================================
--- branches/rename_pccinvoke/parrotbug Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/parrotbug Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (C) 2004-2007, The Perl Foundation.
+# Copyright (C) 2004-2007, Parrot Foundation.
# $Id$
#
Modified: branches/rename_pccinvoke/src/byteorder.c
==============================================================================
--- branches/rename_pccinvoke/src/byteorder.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/byteorder.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
@@ -54,6 +54,7 @@
# if INTVAL_SIZE == 4
return (w << 24) | ((w & 0xff00) << 8) | ((w & 0xff0000) >> 8) | (w >> 24);
# else
+# if INTVAL_SIZE == 8
INTVAL r;
r = w << 56;
@@ -65,6 +66,10 @@
r |= (w & 0xff000000000000) >> 40;
r |= (w & 0xff00000000000000) >> 56;
return r;
+# else
+ exit_fatal(1, "Unsupported INTVAL_SIZE=%d\n",
+ INTVAL_SIZE);
+# endif
# endif
#endif
}
@@ -92,6 +97,7 @@
# if INTVAL_SIZE == 4
return (w << 24) | ((w & 0xff00) << 8) | ((w & 0xff0000) >> 8) | (w >> 24);
# else
+# if INTVAL_SIZE == 8
INTVAL r;
r = w << 56;
r |= (w & 0xff00) << 40;
@@ -102,6 +108,10 @@
r |= (w & 0xff000000000000) >> 40;
r |= (w & 0xff00000000000000) >> 56;
return r;
+# else
+ exit_fatal(1, "Unsupported INTVAL_SIZE=%d\n",
+ INTVAL_SIZE);
+# endif
# endif
#endif
}
@@ -436,6 +446,110 @@
/*
+=item C<void fetch_buf_le_32>
+
+Converts a 32-byte little-endian buffer C<b> into a big-endian buffer C<b>.
+
+=cut
+
+*/
+
+void
+fetch_buf_le_32(ARGOUT(unsigned char *rb), ARGIN(const unsigned char *b))
+{
+ ASSERT_ARGS(fetch_buf_le_32)
+#if !PARROT_BIGENDIAN
+ memcpy(rb, b, 32);
+#else
+ rb[0] = b[31];
+ rb[1] = b[30];
+ rb[2] = b[29];
+ rb[3] = b[28];
+ rb[4] = b[27];
+ rb[5] = b[26];
+ rb[6] = b[25];
+ rb[7] = b[24];
+ rb[8] = b[23];
+ rb[9] = b[22];
+ rb[10] = b[21];
+ rb[11] = b[20];
+ rb[12] = b[19];
+ rb[13] = b[18];
+ rb[14] = b[17];
+ rb[15] = b[16];
+ rb[16] = b[15];
+ rb[17] = b[14];
+ rb[18] = b[13];
+ rb[19] = b[12];
+ rb[20] = b[11];
+ rb[21] = b[10];
+ rb[22] = b[9];
+ rb[23] = b[8];
+ rb[24] = b[7];
+ rb[25] = b[6];
+ rb[26] = b[5];
+ rb[27] = b[4];
+ rb[28] = b[3];
+ rb[29] = b[2];
+ rb[30] = b[1];
+ rb[31] = b[0];
+#endif
+}
+
+/*
+
+=item C<void fetch_buf_be_32>
+
+Converts a 32-byte big-endian buffer C<b> into a little-endian buffer C<b>.
+
+=cut
+
+*/
+
+void
+fetch_buf_be_32(ARGOUT(unsigned char *rb), ARGIN(const unsigned char *b))
+{
+ ASSERT_ARGS(fetch_buf_be_32)
+#if PARROT_BIGENDIAN
+ memcpy(rb, b, 32);
+#else
+ rb[0] = b[31];
+ rb[1] = b[30];
+ rb[2] = b[29];
+ rb[3] = b[28];
+ rb[4] = b[27];
+ rb[5] = b[26];
+ rb[6] = b[25];
+ rb[7] = b[24];
+ rb[8] = b[23];
+ rb[9] = b[22];
+ rb[10] = b[21];
+ rb[11] = b[20];
+ rb[12] = b[19];
+ rb[13] = b[18];
+ rb[14] = b[17];
+ rb[15] = b[16];
+ rb[16] = b[15];
+ rb[17] = b[14];
+ rb[18] = b[13];
+ rb[19] = b[12];
+ rb[20] = b[11];
+ rb[21] = b[10];
+ rb[22] = b[9];
+ rb[23] = b[8];
+ rb[24] = b[7];
+ rb[25] = b[6];
+ rb[26] = b[5];
+ rb[27] = b[4];
+ rb[28] = b[3];
+ rb[29] = b[2];
+ rb[30] = b[1];
+ rb[31] = b[0];
+#endif
+}
+
+/*
+
=back
=head1 HISTORY
Modified: branches/rename_pccinvoke/src/call/pcc.c
==============================================================================
--- branches/rename_pccinvoke/src/call/pcc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/call/pcc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1881,7 +1881,7 @@
Parrot_process_args(interp, &st, param_or_result);
- /* If we created a slurpy, we had to DOD register it so it did not get
+ /* If we created a slurpy, we had to GC register it so it did not get
* collected during arg processing; we'll now unregister it. */
}
Modified: branches/rename_pccinvoke/src/datatypes.c
==============================================================================
--- branches/rename_pccinvoke/src/datatypes.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/datatypes.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2002-2009, The Perl Foundation.
+Copyright (C) 2002-2009, Parrot Foundation.
License: Artistic 2.0, see README and LICENSE for details
$Id$
Modified: branches/rename_pccinvoke/src/debug.c
==============================================================================
--- branches/rename_pccinvoke/src/debug.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/debug.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -1005,6 +1005,7 @@
/* Allocate space for command line buffers, NUL terminated c strings */
pdb->cur_command = (char *)mem_sys_allocate_zeroed(DEBUG_CMD_BUFFER_LENGTH + 1);
pdb->last_command = (char *)mem_sys_allocate_zeroed(DEBUG_CMD_BUFFER_LENGTH + 1);
+ pdb->file = mem_allocate_zeroed_typed(PDB_file_t);
}
/* PDB_disassemble(interp, NULL); */
@@ -3161,7 +3162,8 @@
PDB_t *pdb = interp->pdb;
unsigned long n = 10;
- if (!pdb->file) {
+ TRACEDEB_MSG("PDB_list");
+ if (!pdb->file || !pdb->file->line) {
Parrot_io_eprintf(pdb->debugger, "No source file loaded\n");
return;
}
@@ -3326,32 +3328,35 @@
PDB_info(PARROT_INTERP)
{
ASSERT_ARGS(PDB_info)
- Parrot_io_eprintf(interp, "Total memory allocated = %ld\n",
- interpinfo(interp, TOTAL_MEM_ALLOC));
- Parrot_io_eprintf(interp, "DOD runs = %ld\n",
- interpinfo(interp, DOD_RUNS));
- Parrot_io_eprintf(interp, "Lazy DOD runs = %ld\n",
- interpinfo(interp, LAZY_DOD_RUNS));
- Parrot_io_eprintf(interp, "Collect runs = %ld\n",
- interpinfo(interp, COLLECT_RUNS));
- Parrot_io_eprintf(interp, "Collect memory = %ld\n",
- interpinfo(interp, TOTAL_COPIED));
- Parrot_io_eprintf(interp, "Active PMCs = %ld\n",
- interpinfo(interp, ACTIVE_PMCS));
- Parrot_io_eprintf(interp, "Extended PMCs = %ld\n",
- interpinfo(interp, EXTENDED_PMCS));
- Parrot_io_eprintf(interp, "Timely DOD PMCs = %ld\n",
- interpinfo(interp, IMPATIENT_PMCS));
- Parrot_io_eprintf(interp, "Total PMCs = %ld\n",
- interpinfo(interp, TOTAL_PMCS));
- Parrot_io_eprintf(interp, "Active buffers = %ld\n",
- interpinfo(interp, ACTIVE_BUFFERS));
- Parrot_io_eprintf(interp, "Total buffers = %ld\n",
- interpinfo(interp, TOTAL_BUFFERS));
- Parrot_io_eprintf(interp, "Header allocations since last collect = %ld\n",
- interpinfo(interp, HEADER_ALLOCS_SINCE_COLLECT));
- Parrot_io_eprintf(interp, "Memory allocations since last collect = %ld\n",
- interpinfo(interp, MEM_ALLOCS_SINCE_COLLECT));
+ Parrot_Interp itdeb = interp->pdb->debugger;
+ Parrot_Interp itp = interp->pdb->debugee;
+
+ Parrot_io_eprintf(itdeb, "Total memory allocated = %ld\n",
+ interpinfo(itp, TOTAL_MEM_ALLOC));
+ Parrot_io_eprintf(itdeb, "GC mark runs = %ld\n",
+ interpinfo(itp, GC_MARK_RUNS));
+ Parrot_io_eprintf(itdeb, "Lazy gc mark runs = %ld\n",
+ interpinfo(itp, GC_LAZY_MARK_RUNS));
+ Parrot_io_eprintf(itdeb, "GC collect runs = %ld\n",
+ interpinfo(itp, GC_COLLECT_RUNS));
+ Parrot_io_eprintf(itdeb, "Collect memory = %ld\n",
+ interpinfo(itp, TOTAL_COPIED));
+ Parrot_io_eprintf(itdeb, "Active PMCs = %ld\n",
+ interpinfo(itp, ACTIVE_PMCS));
+ Parrot_io_eprintf(itdeb, "Extended PMCs = %ld\n",
+ interpinfo(itp, EXTENDED_PMCS));
+ Parrot_io_eprintf(itdeb, "Timely GC PMCs = %ld\n",
+ interpinfo(itp, IMPATIENT_PMCS));
+ Parrot_io_eprintf(itdeb, "Total PMCs = %ld\n",
+ interpinfo(itp, TOTAL_PMCS));
+ Parrot_io_eprintf(itdeb, "Active buffers = %ld\n",
+ interpinfo(itp, ACTIVE_BUFFERS));
+ Parrot_io_eprintf(itdeb, "Total buffers = %ld\n",
+ interpinfo(itp, TOTAL_BUFFERS));
+ Parrot_io_eprintf(itdeb, "Header allocations since last collect = %ld\n",
+ interpinfo(itp, HEADER_ALLOCS_SINCE_COLLECT));
+ Parrot_io_eprintf(itdeb, "Memory allocations since last collect = %ld\n",
+ interpinfo(itp, MEM_ALLOCS_SINCE_COLLECT));
}
/*
Modified: branches/rename_pccinvoke/src/dynext.c
==============================================================================
--- branches/rename_pccinvoke/src/dynext.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/dynext.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -384,7 +384,7 @@
/*
* work around gcc 3.3.3 and other problem with dynpmcs
- * something during library loading doesn't stand a DOD run
+ * something during library loading doesn't stand a GC run
*/
Parrot_block_GC_mark(interp);
Modified: branches/rename_pccinvoke/src/dynpmc/rational.pmc
==============================================================================
--- branches/rename_pccinvoke/src/dynpmc/rational.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/dynpmc/rational.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2008, The Perl Foundation.
+Copyright (C) 2008-2009, The Perl Foundation.
$Id$
=pod
@@ -54,8 +54,8 @@
*/
static STRING *rat_get_string_to_base(PARROT_INTERP, PMC *self, int base) {
#ifdef PARROT_HAS_GMP
- char * const cstr = mpq_get_str(NULL, (int) base, RT(self));
- STRING * pstr = Parrot_str_new(interp, cstr, 0);
+ char * const cstr = mpq_get_str(NULL, (int) base, RT(self));
+ STRING * const pstr = Parrot_str_new(interp, cstr, 0);
Parrot_str_free_cstring(cstr);
return pstr;
#else
@@ -320,7 +320,7 @@
VTABLE PMC *clone() {
#ifdef PARROT_HAS_GMP
mpz_t num, den;
- PMC *ret = pmc_new(INTERP, SELF->vtable->base_type);
+ PMC * const ret = pmc_new(INTERP, SELF->vtable->base_type);
mpq_get_num(num, RT(SELF));
mpq_get_den(den, RT(SELF));
mpq_set_num(RT(ret), num);
@@ -431,7 +431,7 @@
mpz_init(q);
mpz_tdiv_q(q, mpq_numref(RT(SELF)), mpq_denref(RT(SELF)));
if (mpz_fits_slong_p(q)) {
- INTVAL ret = (INTVAL) mpz_get_si(q);
+ const INTVAL ret = (INTVAL) mpz_get_si(q);
mpz_clear(q);
return ret;
}
@@ -454,8 +454,7 @@
*/
VTABLE FLOATVAL get_number() {
#ifdef PARROT_HAS_GMP
- double d;
- d = mpq_get_d(RT(SELF));
+ const double d = mpq_get_d(RT(SELF));
return (FLOATVAL) d;
#else
RAISE_EXCEPTION
Modified: branches/rename_pccinvoke/src/embed.c
==============================================================================
--- branches/rename_pccinvoke/src/embed.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/embed.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -113,10 +113,10 @@
Initializes the new interpreter when it hasn't been initialized before.
Additionally sets the stack top, so that Parrot objects created
-in inner stack frames will be visible during DODs stack walking code.
+in inner stack frames will be visible during GC stack walking code.
B<stack_top> should be the address of an automatic variable in the caller's
stack frame. All unanchored Parrot objects (PMCs) must live in inner stack
-frames so that they are not destroyed during DOD runs.
+frames so that they are not destroyed during GC runs.
Use this function when you call into Parrot before entering a run loop.
@@ -374,7 +374,7 @@
/*
-=item C<PackFile * Parrot_readbc>
+=item C<PackFile * Parrot_pbc_read>
Read in a bytecode, unpack it into a C<PackFile> structure, and do fixups.
@@ -385,7 +385,7 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
PackFile *
-Parrot_readbc(PARROT_INTERP, ARGIN_NULLOK(const char *fullname))
+Parrot_pbc_read(PARROT_INTERP, ARGIN_NULLOK(const char *fullname), const int debug)
{
FILE *io = NULL;
INTVAL is_mapped = 0;
@@ -440,9 +440,9 @@
#endif
/* if we've opened a file (or stdin) with PIO, read it in */
if (io) {
+ char *cursor;
size_t chunk_size = program_size > 0 ? program_size : 1024;
INTVAL wanted = program_size;
- char *cursor;
size_t read_result;
program_code = (char *)mem_sys_allocate(chunk_size);
@@ -461,6 +461,7 @@
Parrot_io_eprintf(interp,
"Parrot VM: Could not reallocate buffer "
"while reading packfile from PIO.\n");
+ fclose(io);
return NULL;
}
@@ -527,6 +528,9 @@
pf = PackFile_new(interp, is_mapped);
+ /* Make the cmdline option available to the unpackers */
+ pf->options = debug;
+
if (!PackFile_unpack(interp, pf, (opcode_t *)program_code,
(size_t)program_size)) {
Parrot_io_eprintf(interp, "Parrot VM: Can't unpack packfile %s.\n",
@@ -555,9 +559,9 @@
/*
-=item C<void Parrot_loadbc>
+=item C<void Parrot_pbc_load>
-Loads the C<PackFile> returned by C<Parrot_readbc()>.
+Loads the C<PackFile> returned by C<Parrot_pbc_read()>.
=cut
@@ -565,7 +569,7 @@
PARROT_EXPORT
void
-Parrot_loadbc(PARROT_INTERP, NOTNULL(PackFile *pf))
+Parrot_pbc_load(PARROT_INTERP, NOTNULL(PackFile *pf))
{
if (pf == NULL) {
Parrot_io_eprintf(interp, "Invalid packfile\n");
@@ -669,14 +673,14 @@
{
ASSERT_ARGS(op_name)
switch (k) {
- case PARROT_PROF_DOD_p1:
- return "DOD_mark_root";
- case PARROT_PROF_DOD_p2:
- return "DOD_mark_next";
- case PARROT_PROF_DOD_cp:
- return "DOD_collect_PMC";
- case PARROT_PROF_DOD_cb:
- return "DOD_collect_buffers";
+ case PARROT_PROF_GC_p1:
+ return "GC_mark_root";
+ case PARROT_PROF_GC_p2:
+ return "GC_mark_next";
+ case PARROT_PROF_GC_cp:
+ return "GC_collect_PMC";
+ case PARROT_PROF_GC_cb:
+ return "GC_collect_buffers";
case PARROT_PROF_GC:
return "GC";
case PARROT_PROF_EXCEPTION:
@@ -1040,7 +1044,7 @@
INTVAL i;
/* TODO: would be nice to print the name of the file as well */
- Parrot_io_printf(interp, "Constant-table\n");
+ Parrot_io_printf(interp, "=head1 Constant-table\n\n");
for (i = 0; i < numconstants; ++i) {
PackFile_Constant *c = interp->code->const_table->constants[i];
@@ -1110,7 +1114,7 @@
}
}
- Parrot_io_printf(interp, "\n");
+ Parrot_io_printf(interp, "\n=cut\n\n");
}
@@ -1128,7 +1132,7 @@
PARROT_EXPORT
void
-Parrot_disassemble(PARROT_INTERP)
+Parrot_disassemble(PARROT_INTERP, const char *outfile, Parrot_disassemble_options options)
{
PDB_line_t *line;
PDB_t *pdb = mem_allocate_zeroed_typed(PDB_t);
@@ -1146,11 +1150,15 @@
debugs = (interp->code->debugs != NULL);
print_constant_table(interp);
+ if (options & enum_DIS_HEADER)
+ return;
- Parrot_io_printf(interp, "%12s-%12s", "Seq_Op_Num", "Relative-PC");
+ if (!(options & enum_DIS_BARE))
+ Parrot_io_printf(interp, "# %12s-%12s", "Seq_Op_Num", "Relative-PC");
if (debugs) {
- Parrot_io_printf(interp, " %6s:\n", "SrcLn#");
+ if (!(options & enum_DIS_BARE))
+ Parrot_io_printf(interp, " %6s:\n", "SrcLn#");
num_mappings = interp->code->debugs->num_mappings;
}
else {
@@ -1168,16 +1176,17 @@
if (op_code_seq_num == interp->code->debugs->mappings[curr_mapping]->offset) {
const int filename_const_offset =
interp->code->debugs->mappings[curr_mapping]->filename;
- Parrot_io_printf(interp, "Current Source Filename %Ss\n",
+ Parrot_io_printf(interp, "# Current Source Filename '%Ss'\n",
interp->code->const_table->constants[filename_const_offset]->u.string);
curr_mapping++;
}
}
- Parrot_io_printf(interp, "%012i-%012i",
- op_code_seq_num, line->opcode - interp->code->base.data);
+ if (!(options & enum_DIS_BARE))
+ Parrot_io_printf(interp, "%012i-%012i",
+ op_code_seq_num, line->opcode - interp->code->base.data);
- if (debugs)
+ if (debugs && !(options & enum_DIS_BARE))
Parrot_io_printf(interp, " %06i: ",
interp->code->debugs->base.data[op_code_seq_num]);
@@ -1231,7 +1240,7 @@
pf->cur_cs->base.data = program_code;
pf->cur_cs->base.size = 2;
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
run_native = func;
Modified: branches/rename_pccinvoke/src/events.c
==============================================================================
--- branches/rename_pccinvoke/src/events.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/events.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/exceptions.c
==============================================================================
--- branches/rename_pccinvoke/src/exceptions.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exceptions.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/exec.c
==============================================================================
--- branches/rename_pccinvoke/src/exec.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exec.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/exec_save.c
==============================================================================
--- branches/rename_pccinvoke/src/exec_save.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exec_save.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/exec_save.h
==============================================================================
--- branches/rename_pccinvoke/src/exec_save.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exec_save.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2007, The Perl Foundation.
+ * Copyright (C) 2003-2007, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/src/exec_start.c
==============================================================================
--- branches/rename_pccinvoke/src/exec_start.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exec_start.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2006, The Perl Foundation.
+Copyright (C) 2001-2006, Parrot Foundation.
$Id$
=head1 NAME
@@ -81,7 +81,7 @@
printf("Can't unpack.\n");
return 1;
}
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
PackFile_fixup_subs(interp, PBC_PBC, NULL);
/* opcode_map has the offset of each opcode in the compiled code
Modified: branches/rename_pccinvoke/src/exit.c
==============================================================================
--- branches/rename_pccinvoke/src/exit.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/exit.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
@@ -71,7 +71,7 @@
/* call all the exit handlers */
/* we are well "below" the runloop now, where lo_var_ptr
* is set usually - exit handlers may run some resource-hungry
- * stuff like printing profile stats - a DOD run would kill
+ * stuff like printing profile stats - a GC run would kill
* resources - RT#46405 reset stacktop or better disable GC
*/
/*
Modified: branches/rename_pccinvoke/src/extend.c
==============================================================================
--- branches/rename_pccinvoke/src/extend.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/extend.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
@@ -26,7 +26,7 @@
*/
/* Some internal notes. Parrot will die a horrible and bizarre death
- if the stack start pointer's not set and a DOD run is
+ if the stack start pointer's not set and a GC run is
triggered. The pointer *will* be set by the interpreter if the
interpreter calls code which calls these functions, so most
extension code is safe, no problem.
@@ -1297,9 +1297,8 @@
=item C<void Parrot_register_pmc>
-Add a reference of the PMC to the interpreters DOD registry. This
-prevents PMCs only known to extension from getting destroyed during DOD
-runs.
+Add a reference of the PMC to the interpreter's GC registry. This prevents PMCs
+only known to extension from getting destroyed during GC runs.
=cut
@@ -1319,9 +1318,8 @@
=item C<void Parrot_unregister_pmc>
-Remove a reference of the PMC from the interpreters DOD registry. If the
-reference count reaches zero, the PMC will be destroyed during the next
-DOD run.
+Remove a reference of the PMC from the interpreter's GC registry. If the
+reference count reaches zero, the PMC will be destroyed during the next GC run.
=cut
Modified: branches/rename_pccinvoke/src/gc/api.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/api.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/api.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -23,7 +23,7 @@
*/
-#define DOD_C_SOURCE
+#define GC_C_SOURCE
#include "parrot/parrot.h"
#include "parrot/gc_api.h"
#include "gc_private.h"
@@ -282,8 +282,8 @@
Arenas * const arena_base = interp->arena_base;
/* TODO collect objects with finalizers */
- if (PObj_needs_early_DOD_TEST(p))
- --arena_base->num_early_DOD_PMCs;
+ if (PObj_needs_early_gc_TEST(p))
+ --arena_base->num_early_gc_PMCs;
if (PObj_active_destroy_TEST(p))
VTABLE_destroy(interp, pmc);
@@ -425,7 +425,7 @@
=item C<void Parrot_gc_profile_start>
-Records the start time of a DOD run when profiling is enabled.
+Records the start time of a GC mark run when profiling is enabled.
=cut
@@ -443,7 +443,7 @@
=item C<void Parrot_gc_profile_end>
-Records the end time of the DOD part C<what> run when profiling is
+Records the end time of the GC mark run part C<what> run when profiling is
enabled. Also record start time of next part.
=cut
@@ -462,7 +462,7 @@
profile->data[what].time += now - profile->gc_time;
/*
- * we've recorded the time of a DOD/GC piece from
+ * we've recorded the time of a GC piece from
* gc_time until now, so add this to the start of the
* currently executing opcode, which hasn't run this
* interval.
@@ -478,7 +478,7 @@
=item C<void Parrot_gc_ms_run_init>
-Prepares the collector for a mark & sweep DOD run. This is the
+Prepares the collector for a mark & sweep GC run. This is the
initializer function for the MS garbage collector.
=cut
Modified: branches/rename_pccinvoke/src/gc/gc_malloc.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/gc_malloc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/gc_malloc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -83,7 +83,7 @@
clear_cow(interp, pool, 0);
if (interp->profile && (flag & POOL_PMC))
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_cp);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_cp);
*total_free += pool->num_free_objects;
Modified: branches/rename_pccinvoke/src/gc/generational_ms.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/generational_ms.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/generational_ms.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1240,7 +1240,7 @@
* 2) Merge the blacks to the existing older generation
* The plan to use depends on the interpreter, specifically, if
* we are doing a lazy run, entering a new scope, or what not.
- * 3) If we are leaving a scope (denoted by a lazy DOD run
+ * 3) If we are leaving a scope (denoted by a lazy GC run
* and we had created one or more generations in this scope
* go back by resetting the generation number to the outer
* scope's generation
@@ -1477,7 +1477,7 @@
int priority;
PObj_live_SET(obj);
- priority = PObj_needs_early_DOD_TEST(obj);
+ priority = PObj_needs_early_gc_TEST(obj);
if (priority)
++interp->arena_base->num_early_PMCs_seen;
h = PObj_to_GMSH(obj);
@@ -1606,13 +1606,13 @@
UINTVAL bits;
if (lazy_gc && arena_base->num_early_PMCs_seen >=
- arena_base->num_early_DOD_PMCs) {
+ arena_base->num_early_gc_PMCs) {
return 1;
}
/* TODO propagate flag in pobject_lives */
arena_base->gc_trace_ptr = current;
- if (!PObj_needs_early_DOD_TEST(current))
- PObj_high_priority_DOD_CLEAR(current);
+ if (!PObj_needs_early_gc_TEST(current))
+ PObj_high_priority_gc_CLEAR(current);
/* mark children */
if (PObj_custom_mark_TEST(current)) {
@@ -1672,8 +1672,8 @@
for (h = pool->white; h != pool->free_list; h = h->next) {
PMC * const obj = (PMC*)GMSH_to_PObj(h);
- if (PObj_needs_early_DOD_TEST(obj))
- --arena_base->num_early_DOD_PMCs;
+ if (PObj_needs_early_gc_TEST(obj))
+ --arena_base->num_early_gc_PMCs;
if (PObj_active_destroy_TEST(obj))
VTABLE_destroy(interp, (PMC *)obj);
if (PObj_is_PMC_EXT_TEST(obj) && obj->pmc_ext) {
@@ -1846,10 +1846,10 @@
Arenas * const arena_base = interp->arena_base;
Gc_gms_private *g_gms;
- if (arena_base->DOD_block_level) {
+ if (arena_base->gc_mark_block_level) {
return;
}
- ++arena_base->DOD_block_level;
+ ++arena_base->gc_mark_block_level;
g_gms = arena_base->gc_private;
if (flags & GC_finish_FLAG) {
Small_Object_Pool * const pool = arena_base->pmc_pool;
@@ -1858,12 +1858,12 @@
/* XXX need to sweep over objects that have finalizers only */
Parrot_forall_header_pools(interp, POOL_PMC, 0, sweep_cb_pmc);
gc_gms_end_cycle(interp);
- --arena_base->DOD_block_level;
+ --arena_base->gc_mark_block_level;
return;
}
- /* normal or lazy DOD run */
- arena_base->gc_runs++;
+ /* normal or lazy mark run */
+ arena_base->gc_mark_runs++;
arena_base->lazy_gc = (flags & GC_lazy_FLAG);
gc_gms_init_mark(interp);
if (gc_gms_trace_root(interp, !arena_base->lazy_gc) &&
@@ -1873,12 +1873,12 @@
}
else {
/*
- * successful lazy DOD run
+ * successful lazy mark run
*/
- ++arena_base->lazy_gc_runs;
+ ++arena_base->gc_lazy_mark_runs;
}
gc_gms_end_cycle(interp);
- --arena_base->DOD_block_level;
+ --arena_base->gc_mark_block_level;
}
/*
Modified: branches/rename_pccinvoke/src/gc/incremental_ms.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/incremental_ms.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/incremental_ms.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -52,21 +52,16 @@
All objects have one of three colors: white, grey, or black.
-At the beginning of a DOD run all objects are white (not yet visited).
+At the beginning of a GC mark run all objects are white (not yet visited).
During marking objects are greyed (visited - found alive), but their
contents isn't yet scanned. A fully scanned grey object gets finally
-colored black. It will not again be rescanned in this DOD run.
+colored black. It will not again be rescanned in this run.
Only aggregates can be grey, non-containers are blackened immediately.
Objects on the free-list are sometimes denoted having the color off-white
or ecru.
-=item DOD
-
-Dead object detection. Please note that in Parrot src and docs this
-stands for the stop-the-world garbage collector that recycles objects.
-
=item GC
In Parrot tree the copying garbage collector that recycles string and
@@ -75,7 +70,7 @@
=item collector
-The DOD and reclamation system.
+The reclamation system.
=item mutator
@@ -106,7 +101,7 @@
white object, so that it's reachable.
The strong invariant is the basic idea of mark and sweep too. But as the
-mutator isn't running during DOD the invariant is never violated.
+mutator isn't running during mark phase, the invariant is never violated.
Due to this invariant, after the root set has been marked and when all
greyed objects are marked (blackened), the white objects have to be
@@ -179,9 +174,9 @@
free-list-ptr to-space scan-pointer from-space
Objects get "moved" during collection by rearranging the doubly-linked
-object pointers. At the end of a DOD run (when the last grey object is
+object pointers. At the end of a mark run (when the last grey object is
blackened), the from-space and the free-list are merged serving
-as the new free-list of the next DOD cycle. This operation is just a few
+as the new free-list of the next GC cycle. This operation is just a few
pointer manipulations that replaces the sweep phase of a mark and sweep
collector.
@@ -191,7 +186,7 @@
=item a) initialization
-After interpreter creation the DOD system is initialized by marking
+After interpreter creation the GC system is initialized by marking
parts of the root set (globals, internal structures).
=item b) program operation
@@ -203,14 +198,14 @@
To keep the memory usage limited k > 1 must hold.
-=item c) near the end of a DOD cycle
+=item c) near the end of a mark phase
The rest of the root set is scanned, i.e. the registers. By deferring
scanning of registers all temporaries that might have exist somewhen
-just stay unscanned - they will be collected in this DOD cycle, if
-we allocate new objects white or in the next DOD cycle.
+just stay unscanned - they will be collected in this mark phase, if
+we allocate new objects white or in the next mark phase.
-=item d) finishing a DOD cycle
+=item d) finishing a mark phase
The current sweep of the whole arena is done, or with implicit reclamation:
@@ -222,7 +217,7 @@
Now he meaning of the black bit is reversed effectively setting the new
from-space to white.
-The next DOD cycle is initialized in one step a) and the new cycle starts.
+The next mark phase is initialized in one step a) and the new cycle starts.
Alternatively the mutator could run and allocate objects for some time,
without starting the collector again, if there are plenty of free objects on
@@ -247,7 +242,7 @@
MS IMS IMIR
------------------------------------------------------------------------
operation stop-the-world incremental incremental
- time per DOD cycle unbounded bounded bounded
+ time per mark phase unbounded bounded bounded
size overhead 1 word 1 word 2 words
time overhead O(2*live + dead) O(2*live + dead) O(live) 2)
@@ -279,7 +274,7 @@
=item big aggregates
Greying has to be done in increments. Big aggregates can't have a mark
-vtable that could run arbitrarily long. This means that the DOD system
+vtable that could run arbitrarily long. This means that the GC system
must know the layout of arrays, hashes, and objects. This is currently
true for arrays and objects but not for hashes. But the latter need some
refactoring of internals anyway.
@@ -297,11 +292,11 @@
timely destruction. When during scope exit an high priority sweep is
triggered, we have basically two cases:
-1) all of these objects were already seen by this DOD run - the scope
+1) all of these objects were already seen in this mark phase - the scope
exit can continue.
2) Not all objects were seen - they might be alive or not. This means
-that the DOD cycle must run to the end to decide, if these objects are
+that the mark phase must run to the end to decide, if these objects are
alive (or again until all are found alive).
To increase performance its likely that we need some additional
@@ -469,7 +464,7 @@
* that this amount of the total size could be freed
*
* This factor also depends on the allocation color of buffer headers,
- * which is set to black now. So we are always one DOD cycle behind
+ * which is set to black now. So we are always one mark phase behind
* and the statistics are rather wrong.
*/
#define MEM_POOL_RECLAIM 0.2
@@ -482,7 +477,7 @@
typedef enum { /* these states have to be in execution order */
GC_IMS_INITIAL, /* memory subsystem setup */
- GC_IMS_STARTING, /* wait for DOD_block to clear */
+ GC_IMS_STARTING, /* wait for gc_block_level to clear */
GC_IMS_RE_INIT, /* start of normal operation - mark root */
GC_IMS_MARKING, /* mark children */
GC_IMS_START_SWEEP, /* mark finished, start sweep buffers */
@@ -569,7 +564,7 @@
/*
* buffers are born black, PMCs not yet?
* XXX this does not solve the problem of storing keys in hashes
- * in the next DOD cycle (if the key isn't marked elsewhere ?)
+ * in the next mark phase (if the key isn't marked elsewhere ?)
*/
PObj_flags_SETTO(ptr, pool == arena_base->pmc_pool ? 0 : PObj_live_FLAG);
--pool->num_free_objects;
@@ -775,7 +770,7 @@
Parrot_gc_sweep(interp, pool);
if (interp->profile && (flag & POOL_PMC))
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_cp);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_cp);
*n_obj += pool->total_objects - pool->num_free_objects;
@@ -826,7 +821,7 @@
UNUSED(ignored);
if (interp->profile)
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_cb);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_cb);
g_ims->state = GC_IMS_COLLECT;
g_ims->n_objects = n_objects;
@@ -947,7 +942,7 @@
Arenas * const arena_base = interp->arena_base;
Gc_ims_private * const g_ims = (Gc_ims_private *)arena_base->gc_private;
- if (arena_base->DOD_block_level || g_ims->state == GC_IMS_DEAD)
+ if (arena_base->gc_mark_block_level || g_ims->state == GC_IMS_DEAD)
return;
++g_ims->increments;
@@ -980,7 +975,7 @@
(void)parrot_gc_ims_collect(interp, 0);
break;
case GC_IMS_FINISHED:
- ++arena_base->gc_runs;
+ ++arena_base->gc_mark_runs;
g_ims->state = GC_IMS_CONSUMING;
/* fall through */
case GC_IMS_CONSUMING:
@@ -1028,7 +1023,7 @@
Arenas * const arena_base = interp->arena_base;
Gc_ims_private * const g_ims = (Gc_ims_private *)arena_base->gc_private;
- if (arena_base->DOD_block_level || g_ims->state == GC_IMS_DEAD)
+ if (arena_base->gc_mark_block_level || g_ims->state == GC_IMS_DEAD)
return;
if (flags & GC_finish_FLAG) {
@@ -1049,7 +1044,7 @@
}
/* make the test happy that checks the count ;) */
- arena_base->gc_runs++;
+ arena_base->gc_mark_runs++;
lazy = flags & GC_lazy_FLAG;
@@ -1076,13 +1071,13 @@
return;
}
- /* lazy DOD handling */
+ /* lazy GC handling */
IMS_DEBUG((stderr, "\nLAZY state = %d\n", g_ims->state));
g_ims->lazy = lazy;
if (g_ims->state >= GC_IMS_COLLECT) {
/* we are beyond sweep, timely destruction is done */
- if (arena_base->num_early_PMCs_seen >= arena_base->num_early_DOD_PMCs)
+ if (arena_base->num_early_PMCs_seen >= arena_base->num_early_gc_PMCs)
return;
/* when not all seen, start a fresh cycle */
@@ -1096,7 +1091,7 @@
* run through all steps until we see enough PMCs that need timely
* destruction or we finished sweeping
*/
- while (arena_base->num_early_PMCs_seen < arena_base->num_early_DOD_PMCs) {
+ while (arena_base->num_early_PMCs_seen < arena_base->num_early_gc_PMCs) {
parrot_gc_ims_run_increment(interp);
if (g_ims->state >= GC_IMS_COLLECT)
break;
@@ -1104,7 +1099,7 @@
/* if we stopped early, the lazy run was successful */
if (g_ims->state < GC_IMS_COLLECT)
- ++arena_base->lazy_gc_runs;
+ ++arena_base->gc_lazy_mark_runs;
g_ims->lazy = 0;
}
@@ -1122,13 +1117,13 @@
*/
-#define DOD_IMS_GREY_NEW 1
+#define GC_IMS_GREY_NEW 1
void
Parrot_gc_ims_wb(PARROT_INTERP, ARGMOD(PMC *agg), ARGMOD(PMC *_new))
{
ASSERT_ARGS(Parrot_gc_ims_wb)
-#if DOD_IMS_GREY_NEW
+#if GC_IMS_GREY_NEW
IMS_DEBUG((stderr, "%d agg %p mark %p\n",
((Gc_ims_private *)interp->arena_base->
gc_private)->state, agg, _new));
Modified: branches/rename_pccinvoke/src/gc/mark_sweep.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/mark_sweep.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/mark_sweep.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -157,12 +157,12 @@
/* XXX these should go into the interpreter */
int total_free = 0;
- if (arena_base->DOD_block_level)
+ if (arena_base->gc_mark_block_level)
return;
if (interp->pdb && interp->pdb->debugger) {
/*
- * if the other interpreter did a DOD run, it can set
+ * if the other interpreter did a GC mark run, it can set
* live bits of shared objects, but these aren't reset, because
* they are in a different arena. When now such a PMC points to
* other non-shared object, these wouldn't be marked and hence
@@ -194,10 +194,10 @@
return;
}
- ++arena_base->DOD_block_level;
+ ++arena_base->gc_mark_block_level;
arena_base->lazy_gc = flags & GC_lazy_FLAG;
- /* tell the threading system that we're doing DOD mark */
+ /* tell the threading system that we're doing GC mark */
pt_gc_start_mark(interp);
Parrot_gc_ms_run_init(interp);
@@ -222,22 +222,22 @@
UNUSED(ignored);
if (interp->profile)
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_cb);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_cb);
}
else {
pt_gc_stop_mark(interp); /* XXX */
- /* successful lazy DOD count */
- ++arena_base->lazy_gc_runs;
+ /* successful lazy mark run count */
+ ++arena_base->gc_lazy_mark_runs;
Parrot_gc_clear_live_bits(interp);
if (interp->profile)
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_p2);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_p2);
}
/* Note it */
- arena_base->gc_runs++;
- --arena_base->DOD_block_level;
+ arena_base->gc_mark_runs++;
+ --arena_base->gc_mark_block_level;
return;
}
@@ -247,7 +247,7 @@
=item C<int Parrot_gc_trace_root>
-Traces the root set. Returns 0 if it's a lazy DOD run and all objects
+Traces the root set. Returns 0 if it's a lazy GC run and all objects
that need timely destruction were found.
C<trace_stack> can have these values:
@@ -280,7 +280,7 @@
Parrot_Context *ctx;
PObj *obj;
- /* note: adding locals here did cause increased DOD runs */
+ /* note: adding locals here did cause increased GC runs */
mark_context_start();
if (trace == GC_TRACE_SYSTEM_ONLY) {
@@ -319,7 +319,7 @@
* XXX these PMCs are constant and shouldn't get collected
* but t/library/dumper* fails w/o this marking.
*
- * It seems that the Class PMC gets DODed - these should
+ * It seems that the Class PMC gets GCed - these should
* get created as constant PMCs.
*/
mark_vtables(interp);
@@ -353,7 +353,7 @@
/* quick check if we can already bail out */
if (arena_base->lazy_gc
- && arena_base->num_early_PMCs_seen >= arena_base->num_early_DOD_PMCs)
+ && arena_base->num_early_PMCs_seen >= arena_base->num_early_gc_PMCs)
return 0;
/* Find important stuff on the system stack */
@@ -361,7 +361,7 @@
trace_system_areas(interp);
if (interp->profile)
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_p1);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_p1);
return 1;
}
@@ -607,7 +607,7 @@
* pointers of the originating interpreter.
*
* We are possibly changing another interpreter's data here, so
- * the mark phase of DOD must run only on one interpreter of a pool
+ * the mark phase of GC must run only on one interpreter of a pool
* at a time. However, freeing unused objects can occur in parallel.
* And: to be sure that a shared object is dead, we have to finish
* the mark phase of all interpreters in a pool that might reference
@@ -623,12 +623,12 @@
arena_base = interp->arena_base;
- if (PObj_needs_early_DOD_TEST(obj))
+ if (PObj_needs_early_gc_TEST(obj))
++arena_base->num_early_PMCs_seen;
- if (PObj_high_priority_DOD_TEST(obj) && arena_base->gc_trace_ptr) {
+ if (PObj_high_priority_gc_TEST(obj) && arena_base->gc_trace_ptr) {
/* set obj's parent to high priority */
- PObj_high_priority_DOD_SET(arena_base->gc_trace_ptr);
+ PObj_high_priority_gc_SET(arena_base->gc_trace_ptr);
hi_prio = 1;
}
else
@@ -681,7 +681,7 @@
=item C<static void more_traceable_objects>
-We're out of traceable objects. First we try a DOD run to free some up. If
+We're out of traceable objects. First we try a GC run to free some up. If
that doesn't work, allocate a new arena.
=cut
@@ -764,7 +764,7 @@
Free object allocator for the MS garbage collector system. If there are no
free objects, call C<gc_ms_add_free_object> to either free them up with a
-DOD run, or allocate new objects. If there are objects available on the
+GC run, or allocate new objects. If there are objects available on the
free list, pop it off and return it.
=cut
@@ -854,7 +854,7 @@
Parrot_gc_sweep(interp, pool);
if (interp->profile && (flag & POOL_PMC))
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_cp);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_cp);
*total_free += pool->num_free_objects;
@@ -975,7 +975,7 @@
PMC *next;
if (lazy_gc && arena_base->num_early_PMCs_seen >=
- arena_base->num_early_DOD_PMCs) {
+ arena_base->num_early_gc_PMCs) {
return 0;
}
@@ -985,8 +985,8 @@
PObj_get_FLAGS(current) |= PObj_custom_GC_FLAG;
/* clearing the flag is much more expensive then testing */
- if (!PObj_needs_early_DOD_TEST(current))
- PObj_high_priority_DOD_CLEAR(current);
+ if (!PObj_needs_early_gc_TEST(current))
+ PObj_high_priority_gc_CLEAR(current);
/* mark properties */
if (PMC_metadata(current))
@@ -1009,7 +1009,7 @@
arena_base->gc_trace_ptr = NULL;
if (interp->profile)
- Parrot_gc_profile_end(interp, PARROT_PROF_DOD_p2);
+ Parrot_gc_profile_end(interp, PARROT_PROF_GC_p2);
return 1;
}
Modified: branches/rename_pccinvoke/src/gc/res_lea.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/res_lea.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/res_lea.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -35,7 +35,7 @@
=item C<void Parrot_go_collect(PARROT_INTERP)>
-Does nothing other than increment the interpreter's C<collect_runs>
+Does nothing other than increment the interpreter's C<gc_collect_runs>
count.
=cut
@@ -46,10 +46,10 @@
Parrot_go_collect(PARROT_INTERP)
{
ASSERT_ARGS(parrot_go_collect)
- if (interp->arena_base->GC_block_level) {
+ if (interp->arena_base->gc_sweep_block_level) {
return;
}
- interp->arena_base->collect_runs++; /* fake it */
+ interp->arena_base->gc_collect_runs++; /* fake it */
}
/*
@@ -120,7 +120,7 @@
=item C<void Parrot_reallocate(PARROT_INTERP, Buffer *buffer, size_t newsize)>
COWable objects (strings or Buffers) use an INTVAL before C<bufstart> for
-refcounting in DOD.
+refcounting in GC.
=cut
Modified: branches/rename_pccinvoke/src/gc/resources.c
==============================================================================
--- branches/rename_pccinvoke/src/gc/resources.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/gc/resources.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -239,13 +239,13 @@
/* If not enough room, try to find some */
if (pool->top_block->free < size) {
/*
- * force a DOD run to get live flags set
+ * force a GC mark run to get live flags set
* for incremental M&S collection is run from there
* but only if there may be something worth collecting!
- * TODO pass required allocation size to the DOD system,
+ * TODO pass required allocation size to the GC system,
* so that collection can be skipped if needed
*/
- if (!interp->arena_base->DOD_block_level
+ if (!interp->arena_base->gc_mark_block_level
&& interp->arena_base->mem_allocs_since_last_collect) {
Parrot_do_gc_run(interp, GC_trace_stack_FLAG);
#if !PARROT_GC_IMS
@@ -374,10 +374,10 @@
Arenas * const arena_base = interp->arena_base;
/* Bail if we're blocked */
- if (arena_base->GC_block_level)
+ if (arena_base->gc_sweep_block_level)
return;
- ++arena_base->GC_block_level;
+ ++arena_base->gc_sweep_block_level;
if (interp->profile)
Parrot_gc_profile_start(interp);
@@ -385,7 +385,7 @@
/* We're collecting */
arena_base->mem_allocs_since_last_collect = 0;
arena_base->header_allocs_since_last_collect = 0;
- arena_base->collect_runs++;
+ arena_base->gc_collect_runs++;
/* total - reclaimable == currently used. Add a minimum block to the
* current amount, so we can avoid having to allocate it in the future. */
@@ -583,7 +583,7 @@
if (interp->profile)
Parrot_gc_profile_end(interp, PARROT_PROF_GC);
- --arena_base->GC_block_level;
+ --arena_base->gc_sweep_block_level;
}
/*
Modified: branches/rename_pccinvoke/src/global.c
==============================================================================
--- branches/rename_pccinvoke/src/global.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/global.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2008, The Perl Foundation.
+Copyright (C) 2004-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -836,8 +836,10 @@
const INTVAL cur_id = CONTEXT(interp)->current_HLL;
PMC *ns;
+
/* PF structures aren't fully constructed yet */
Parrot_block_GC_mark(interp);
+
/* store relative to HLL namespace */
CONTEXT(interp)->current_HLL = PMC_sub(sub)->HLL_id;
@@ -849,6 +851,7 @@
/* store a :multi sub */
if (!PMC_IS_NULL(PMC_sub(sub)->multi_signature))
store_sub_in_multi(interp, sub, ns);
+
/* store other subs (as long as they're not :anon) */
else if (!(PObj_get_FLAGS(sub) & SUB_FLAG_PF_ANON)) {
STRING * const ns_entry_name = PMC_sub(sub)->ns_entry_name;
Modified: branches/rename_pccinvoke/src/global_setup.c
==============================================================================
--- branches/rename_pccinvoke/src/global_setup.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/global_setup.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/hash.c
==============================================================================
--- branches/rename_pccinvoke/src/hash.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/hash.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, The Perl Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -1054,7 +1054,7 @@
FIXME: This function can go back to just returning the hash struct
pointer once Buffers can define their own custom mark routines.
-The problem is: During DODs stack walking the item on the stack must be
+The problem is: During GC stack walking the item on the stack must be
a PMC. When an auto C<Hash*> is seen, it doesn't get properly marked
(only the C<Hash*> buffer is marked, not its contents). By passing the
C<**hptr> up to the Hash's init function, the newly constructed PMC is
Modified: branches/rename_pccinvoke/src/hll.c
==============================================================================
--- branches/rename_pccinvoke/src/hll.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/hll.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2005-2008, The Perl Foundation.
+Copyright (C) 2005-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -90,7 +90,7 @@
/*
* ATT: all items that are owned by the HLL_info structure
* have to be created as constant objects, because
- * this structure isn't marked by DOD/GC
+ * this structure isn't marked by GC
*/
PMC * const entry = constant_pmc_new(interp, enum_class_FixedPMCArray);
Modified: branches/rename_pccinvoke/src/inter_cb.c
==============================================================================
--- branches/rename_pccinvoke/src/inter_cb.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/inter_cb.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -121,7 +121,7 @@
* We are going to be passing the user_data PMC to external code, but
* it may go out of scope until the callback is called -- we don't know
* for certain as we don't know when the callback will be called.
- * Therefore, to prevent the PMC from being destroyed by a DOD sweep,
+ * Therefore, to prevent the PMC from being destroyed by a GC sweep,
* we need to anchor it.
*
*/
Modified: branches/rename_pccinvoke/src/inter_create.c
==============================================================================
--- branches/rename_pccinvoke/src/inter_create.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/inter_create.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -250,7 +250,7 @@
/* Done. Return and be done with it */
/* Okay, we've finished doing anything that might trigger GC.
- * Actually, we could enable DOD/GC earlier, but here all setup is
+ * Actually, we could enable GC earlier, but here all setup is
* done
*/
Parrot_unblock_GC_mark(interp);
@@ -331,11 +331,11 @@
* Be sure that an async collector hasn't live bits set now, so
* trigger a finish run
*
- * Need to turn off DOD blocking, else things stay alive and IO
+ * Need to turn off GC blocking, else things stay alive and IO
* handles aren't closed
*/
- interp->arena_base->DOD_block_level =
- interp->arena_base->GC_block_level = 0;
+ interp->arena_base->gc_mark_block_level = 0;
+ interp->arena_base->gc_sweep_block_level = 0;
if (Interp_trace_TEST(interp, ~0)) {
Parrot_io_eprintf(interp, "FileHandle objects (like stdout and stderr)"
@@ -344,7 +344,7 @@
}
/* Destroys all PMCs, even constants and the FileHandle objects for
- * std{in, out, err}, so don't be verbose about DOD'ing. */
+ * std{in, out, err}, so don't be verbose about GC'ing. */
if (interp->thread_data)
interp->thread_data->state |= THREAD_STATE_SUSPENDED_GC;
Modified: branches/rename_pccinvoke/src/inter_misc.c
==============================================================================
--- branches/rename_pccinvoke/src/inter_misc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/inter_misc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -245,14 +245,14 @@
#endif
ret = arena_base->memory_allocated;
break;
- case DOD_RUNS:
- ret = arena_base->gc_runs;
+ case GC_MARK_RUNS:
+ ret = arena_base->gc_mark_runs;
break;
- case LAZY_DOD_RUNS:
- ret = arena_base->lazy_gc_runs;
+ case GC_LAZY_MARK_RUNS:
+ ret = arena_base->gc_lazy_mark_runs;
break;
- case COLLECT_RUNS:
- ret = arena_base->collect_runs;
+ case GC_COLLECT_RUNS:
+ ret = arena_base->gc_collect_runs;
break;
case ACTIVE_PMCS:
ret = arena_base->pmc_pool->total_objects -
@@ -290,7 +290,7 @@
ret = arena_base->memory_collected;
break;
case IMPATIENT_PMCS:
- ret = arena_base->num_early_DOD_PMCs;
+ ret = arena_base->num_early_gc_PMCs;
break;
case EXTENDED_PMCS:
ret = arena_base->num_extended_PMCs;
Modified: branches/rename_pccinvoke/src/interp_guts.h
==============================================================================
--- branches/rename_pccinvoke/src/interp_guts.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/interp_guts.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2001-2007, The Perl Foundation.
+ * Copyright (C) 2001-2007, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/src/interpreter.c
==============================================================================
--- branches/rename_pccinvoke/src/interpreter.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/interpreter.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/jit.c
==============================================================================
--- branches/rename_pccinvoke/src/jit.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/jit.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/jit.h
==============================================================================
--- branches/rename_pccinvoke/src/jit.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/jit.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2001-2007, The Perl Foundation.
+ * Copyright (C) 2001-2007, Parrot Foundation.
*/
/*
Modified: branches/rename_pccinvoke/src/jit_debug.c
==============================================================================
--- branches/rename_pccinvoke/src/jit_debug.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/jit_debug.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/jit_debug_xcoff.c
==============================================================================
--- branches/rename_pccinvoke/src/jit_debug_xcoff.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/jit_debug_xcoff.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/key.c
==============================================================================
--- branches/rename_pccinvoke/src/key.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/key.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/library.c
==============================================================================
--- branches/rename_pccinvoke/src/library.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/library.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2009, The Perl Foundation.
+Copyright (C) 2004-2009, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/list.c
==============================================================================
--- branches/rename_pccinvoke/src/list.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/list.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2002-2008, The Perl Foundation.
+Copyright (C) 2002-2008, Parrot Foundation.
License: Artistic 2.0, see README and LICENSE for details
$Id$
@@ -593,7 +593,7 @@
/* allocate a new chunk_list buffer, if old one has moved or is too small */
len = list->n_chunks;
- if (list->collect_runs != interp->arena_base->collect_runs ||
+ if (list->collect_runs != interp->arena_base->gc_collect_runs ||
len > chunk_list_size(list)) {
/* round up to reasonable size */
len = 1 << (ld(len) + 1);
@@ -604,7 +604,7 @@
if (list->container) {
GC_WRITE_BARRIER(interp, list->container, 0, list);
}
- list->collect_runs = interp->arena_base->collect_runs;
+ list->collect_runs = interp->arena_base->gc_collect_runs;
}
/* reset type, actual state of chunks will show, what we really have */
@@ -934,7 +934,7 @@
UINTVAL i;
#ifndef GC_IS_MALLOC
- if (list->collect_runs != interp->arena_base->collect_runs)
+ if (list->collect_runs != interp->arena_base->gc_collect_runs)
rebuild_chunk_list(interp, list);
#endif
#ifdef SLOW_AND_BORING
Modified: branches/rename_pccinvoke/src/longopt.c
==============================================================================
--- branches/rename_pccinvoke/src/longopt.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/longopt.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/main.c
==============================================================================
--- branches/rename_pccinvoke/src/main.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/main.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2007-2008, The Perl Foundation
+Copyright (C) 2007-2008, Parrot Foundation
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/malloc-trace.c
==============================================================================
--- branches/rename_pccinvoke/src/malloc-trace.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/malloc-trace.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -3,7 +3,7 @@
* by Wolfram Gloger 1995.
*
* $Id$
- * Copyright (C) 2002-2007, The Perl Foundation.
+ * Copyright (C) 2002-2007, Parrot Foundation.
*/
#include <stdio.h>
Modified: branches/rename_pccinvoke/src/misc.c
==============================================================================
--- branches/rename_pccinvoke/src/misc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/misc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/multidispatch.c
==============================================================================
--- branches/rename_pccinvoke/src/multidispatch.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/multidispatch.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2003-2008, The Perl Foundation.
+Copyright (C) 2003-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/nci_test.c
==============================================================================
--- branches/rename_pccinvoke/src/nci_test.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/nci_test.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/oo.c
==============================================================================
--- branches/rename_pccinvoke/src/oo.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/oo.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2007-2009, The Perl Foundation.
+Copyright (C) 2007-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -527,7 +527,7 @@
INTVAL type;
const INTVAL typeid_exists = fail_if_type_exists(interp, name);
- PMC *classobj = VTABLE_get_class(interp, _namespace);
+ PMC * const classobj = VTABLE_get_class(interp, _namespace);
if (!PMC_IS_NULL(classobj)) {
STRING *classname = VTABLE_get_string(interp, _namespace);
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -745,7 +745,7 @@
* quick'n'dirty method cache
* RT #45987: use a hash if method_name is not constant
* i.e. from obj.$Sreg(args)
- * If this hash is implemented mark it during DOD
+ * If this hash is implemented mark it during GC
*/
/*
Modified: branches/rename_pccinvoke/src/ops/core.ops
==============================================================================
--- branches/rename_pccinvoke/src/ops/core.ops Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/ops/core.ops Fri Feb 13 23:29:44 2009 (r36699)
@@ -1047,9 +1047,9 @@
=item B<interpinfo>(out INT, in INT)
-.TOTAL_MEM_ALLOC, .DOD_RUNS, .COLLECT_RUNS, .ACTIVE_PMCS, .ACTIVE_BUFFERS,
+.TOTAL_MEM_ALLOC, .GC_MARK_RUNS, .GC_COLLECT_RUNS, .ACTIVE_PMCS, .ACTIVE_BUFFERS,
.TOTAL_PMCS, .TOTAL_BUFFERS, .HEADER_ALLOCS_SINCE_COLLECT,
-.MEM_ALLOCS_SINCE_COLLECT, .TOTAL_COPIED, .IMPATIENT_PMCS, .LAZY_DOD_RUNS,
+.MEM_ALLOCS_SINCE_COLLECT, .TOTAL_COPIED, .IMPATIENT_PMCS, .GC_LAZY_MARK_RUNS,
.EXTENDED_PMCS, .RUNCORE
=item B<interpinfo>(out PMC, in INT)
@@ -1188,9 +1188,9 @@
###############################################################################
-=head2 Dead Object Detection/Garbage Collection
+=head2 Garbage Collection
-Opcodes that interact with the DOD and GC subsystems.
+Opcodes that interact with the GC subsystem.
=over 4
@@ -1200,18 +1200,18 @@
=item B<sweep>(inconst INT)
-Triggers a DOD run, based on the value of $1, where:
+Triggers a GC run, based on the value of $1, where:
=over
=item * 0
-Trigger a DOD run only if there are things that have flagged themselves as
+Trigger a GC run only if there are things that have flagged themselves as
really needing to be collected.
=item * 1
-Trigger a dead object detection (DOD) sweep unconditionally.
+Trigger a GC run unconditionally.
=back
@@ -1221,7 +1221,7 @@
if ($1)
Parrot_do_gc_run(interp, 0);
else
- if (interp->arena_base->num_early_DOD_PMCs)
+ if (interp->arena_base->num_early_gc_PMCs)
Parrot_do_gc_run(interp, GC_lazy_FLAG);
}
@@ -1237,7 +1237,7 @@
=item B<sweepoff>()
-Disable DOD sweeps. (Nestable)
+Disable GC runs. (Nestable)
=cut
@@ -1247,7 +1247,7 @@
=item B<sweepon>()
-Re-enable DOD sweeps.
+Re-enable GC runs.
=cut
@@ -1283,8 +1283,8 @@
=cut
op needs_destroy(invar PMC) {
- PObj_needs_early_DOD_SET($1);
- ++interp->arena_base->num_early_DOD_PMCs;
+ PObj_needs_early_gc_SET($1);
+ ++interp->arena_base->num_early_gc_PMCs;
}
=back
Modified: branches/rename_pccinvoke/src/ops/io.ops
==============================================================================
--- branches/rename_pccinvoke/src/ops/io.ops Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/ops/io.ops Fri Feb 13 23:29:44 2009 (r36699)
@@ -152,7 +152,17 @@
}
inline op print(in NUM) :base_io {
+#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT, $1);
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero($1)) {
+ Parrot_io_printf(interp, "-0");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT, $1);
+ }
+#endif
}
op print(in STR) :base_io {
@@ -185,7 +195,17 @@
}
inline op say(in NUM) :base_io {
+#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT "\n", $1);
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero($1)) {
+ Parrot_io_printf(interp, "-0\n");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT "\n", $1);
+ }
+#endif
}
op say(in STR) :base_io {
Modified: branches/rename_pccinvoke/src/ops/pmc.ops
==============================================================================
--- branches/rename_pccinvoke/src/ops/pmc.ops Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/ops/pmc.ops Fri Feb 13 23:29:44 2009 (r36699)
@@ -549,11 +549,11 @@
=item B<register>(invar PMC)
Add a reference of PMC $1 to the interpreter's root set of PMCs. This is needed
-for extensions to make sure that the PMC is properly marked during DOD, if that
+for extensions to make sure that the PMC is properly marked during GC, if that
PMC is not known to Parrot's core elsewhere.
A PMC can be registered multiple times. If it's unregistered and the
-registration count reaches zero, it will be destroyed during the next DOD run.
+registration count reaches zero, it will be destroyed during the next GC run.
=item B<unregister>(invar PMC)
Modified: branches/rename_pccinvoke/src/packdump.c
==============================================================================
--- branches/rename_pccinvoke/src/packdump.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/packdump.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
This program is free software. It is subject to the same license as
Parrot itself.
$Id$
@@ -113,8 +113,8 @@
"data_is_PMC_array",
"need_finalize",
"is_special_PMC",
- "high_priority_DOD",
- "needs_early_DOD",
+ "high_priority_gc",
+ "needs_early_gc",
"is_class",
"is_object"
};
Modified: branches/rename_pccinvoke/src/packfile.c
==============================================================================
--- branches/rename_pccinvoke/src/packfile.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/packfile.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, The Perl Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
This program is free software. It is subject to the same license as
Parrot itself.
$Id$
@@ -451,13 +451,22 @@
extern int Parrot_exec_run;
#endif
-#define TRACE_PACKFILE 0
-
/* TODO: This is broken on 64/32 transformations. See TT #254 */
#define ROUND_16(val) (((val) & 0xf) ? 16 - ((val) & 0xf) : 0)
#define ALIGN_16(st, cursor) \
(cursor) += ROUND_16((const char *)(cursor) - (const char *)(st))/sizeof (opcode_t)
+#if TRACE_PACKFILE
+void
+Parrot_trace_eprintf(ARGIN(const char *s), ...)
+{
+ va_list args;
+ va_start(args, s);
+ vfprintf(stderr, s, args);
+ va_end(args);
+}
+#endif
+
/*
=item C<void PackFile_destroy>
@@ -839,11 +848,12 @@
opcode_t i;
PackFile_FixupTable * const ft = self->fixups;
PackFile_ConstTable * const ct = self->const_table;
-
#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile: do_sub_pragmas (action=%d)\n", action);
+ PackFile * const pf = self->base.pf;
#endif
+ TRACE_PRINTF(("PackFile: do_sub_pragmas (action=%d)\n", action));
+
for (i = 0; i < ft->fixup_count; i++) {
switch (ft->fixups[i]->type) {
case enum_fixup_sub:
@@ -911,6 +921,9 @@
const opcode_t *cursor;
int header_read_length;
opcode_t padding;
+#if TRACE_PACKFILE
+ PackFile * const pf = self;
+#endif
self->src = packed;
self->size = packed_size;
@@ -926,7 +939,10 @@
}
/* Ensure the bytecode version is one we can read. Currently, we only
- * support bytecode versions matching the current one. */
+ * support bytecode versions matching the current one.
+ *
+ * tools/dev/pbc_header.pl --upd t/native_pbc/ *.pbc
+ * stamps version and fingerprint in the native tests. */
if (header->bc_major != PARROT_PBC_MAJOR
&& header->bc_minor != PARROT_PBC_MINOR) {
Parrot_io_eprintf(NULL, "PackFile_unpack: This Parrot cannot read bytecode "
@@ -947,23 +963,23 @@
return 0;
}
- if (header->floattype != 0 && header->floattype != 1) {
+ if (header->floattype > FLOATTYPE_MAX) {
Parrot_io_eprintf(NULL, "PackFile_unpack: Invalid floattype %d\n",
header->floattype);
return 0;
}
/* Describe what was read for debugging. */
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_unpack: Wordsize %d.\n", header->wordsize);
- Parrot_io_eprintf(NULL, "PackFile_unpack: Floattype %d (%s).\n",
- header->floattype,
- header->floattype ?
- "x86 little endian 12 byte long double" :
- "IEEE-754 8 byte double");
- Parrot_io_eprintf(NULL, "PackFile_unpack: Byteorder %d (%sendian).\n",
- header->byteorder, header->byteorder ? "big " : "little-");
-#endif
+ TRACE_PRINTF(("PackFile_unpack: Wordsize %d.\n", header->wordsize));
+ TRACE_PRINTF(("PackFile_unpack: Floattype %d (%s).\n",
+ header->floattype,
+ header->floattype == FLOATTYPE_8
+ ? FLOATTYPE_8_NAME
+ : header->floattype == FLOATTYPE_16
+ ? FLOATTYPE_16_NAME
+ : FLOATTYPE_12_NAME));
+ TRACE_PRINTF(("PackFile_unpack: Byteorder %d (%sendian).\n",
+ header->byteorder, header->byteorder ? "big " : "little-"));
/* Check the UUID type is valid and, if needed, read a UUID. */
if (header->uuid_type == 0) {
@@ -1007,18 +1023,14 @@
}
/* Padding. */
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_unpack: 3 words padding.\n");
-#endif
+ TRACE_PRINTF(("PackFile_unpack: 3 words padding.\n"));
padding = PF_fetch_opcode(self, &cursor);
padding = PF_fetch_opcode(self, &cursor);
padding = PF_fetch_opcode(self, &cursor);
UNUSED(padding);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_unpack: Directory read, offset %d.\n",
- (INTVAL)cursor - (INTVAL)packed);
-#endif
+ TRACE_PRINTF(("PackFile_unpack: Directory read, offset %d.\n",
+ (INTVAL)cursor - (INTVAL)packed));
self->directory.base.file_offset = (INTVAL)cursor - (INTVAL)self->src;
@@ -1040,9 +1052,7 @@
}
#endif
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_unpack: Unpack done.\n");
-#endif
+ TRACE_PRINTF(("PackFile_unpack: Unpack done.\n"));
return cursor - packed;
}
@@ -1220,9 +1230,18 @@
header->bc_major = PARROT_PBC_MAJOR;
header->bc_minor = PARROT_PBC_MINOR;
#if NUMVAL_SIZE == 8
- header->floattype = 0;
-#else /* if XXX */
- header->floattype = 1;
+ header->floattype = FLOATTYPE_8;
+#else
+# if (NUMVAL_SIZE == 12) && PARROT_BIGENDIAN
+ header->floattype = FLOATTYPE_12;
+# else
+# if (NUMVAL_SIZE == 16)
+ header->floattype = FLOATTYPE_16;
+# else
+ exit_fatal(1, "PackFile_set_header: Unsupported floattype NUMVAL_SIZE=%d,"
+ " PARROT_BIGENDIAN=%d\n", NUMVAL_SIZE, PARROT_BIGENDIAN);
+# endif
+# endif
#endif
}
@@ -1285,6 +1304,7 @@
PackFile * const pf = mem_allocate_zeroed_typed(PackFile);
pf->header = mem_allocate_zeroed_typed(PackFile_Header);
pf->is_mmap_ped = is_mapped;
+ pf->options = 0;
/* fill header with system specific data */
PackFile_set_header(pf->header);
@@ -1375,15 +1395,16 @@
{
ASSERT_ARGS(default_unpack)
DECL_CONST_CAST_OF(opcode_t);
+#if TRACE_PACKFILE
+ PackFile * const pf = self->pf;
+#endif
self->op_count = PF_fetch_opcode(self->pf, &cursor);
self->itype = PF_fetch_opcode(self->pf, &cursor);
self->id = PF_fetch_opcode(self->pf, &cursor);
self->size = PF_fetch_opcode(self->pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "default_unpack: op_count=%d, itype=%d, id=%d, size=%d.\n",
- self->op_count, self->itype, self->id, self->size);
-#endif
+ TRACE_PRINTF_VAL(("default_unpack: op_count=%d, itype=%d, id=%d, size=%d.\n",
+ self->op_count, self->itype, self->id, self->size));
if (self->size == 0)
return cursor;
@@ -1415,10 +1436,8 @@
int i;
for (i = 0; i < (int)self->size; i++) {
self->data[i] = PF_fetch_opcode(self->pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "default_unpack: transformed op[#%d]/%d %u\n",
- i, self->size, self->data[i]);
-#endif
+ TRACE_PRINTF(("default_unpack: transformed op[#%d]/%d %u\n",
+ i, self->size, self->data[i]));
}
}
@@ -1788,6 +1807,9 @@
{
ASSERT_ARGS(PackFile_Segment_unpack)
PackFile_Segment_unpack_func_t f = self->pf->PackFuncs[self->type].unpack;
+#if TRACE_PACKFILE
+ PackFile * const pf = self->pf;
+#endif
cursor = default_unpack(self, cursor);
@@ -1795,21 +1817,22 @@
return NULL;
if (f) {
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_Segment_unpack: special\n");
-#endif
+ TRACE_PRINTF(("PackFile_Segment_unpack: special\n"));
+
cursor = (f)(interp, self, cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, " PackFile_Segment_unpack: cursor=0x%x\n", cursor);
-#endif
+ TRACE_PRINTF_VAL((" PackFile_Segment_unpack: offset=0x%x\n",
+ pf->src - cursor));
+
if (!cursor)
return NULL;
}
+ TRACE_PRINTF_VAL(("pre-ALIGN_16: offset=0x%x src=0x%x cursor=0x%x\n",
+ pf->src - cursor, pf->src, cursor));
+ /* FIXME on 64bit reading 32bit */
ALIGN_16(self->pf->src, cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, " ALIGN_16: src=0x%x cursor=0x%x\n", self->pf->src, cursor);
-#endif
+ TRACE_PRINTF_VAL(("ALIGN_16: offset=0x%x src=0x%x cursor=0x%x\n",
+ pf->src - cursor, pf->src, cursor));
return cursor;
}
@@ -1923,9 +1946,7 @@
size_t i;
dir->num_segments = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(interp, "directory_unpack: %ld num_segments\n", dir->num_segments);
-#endif
+ TRACE_PRINTF(("directory_unpack: %ld num_segments\n", dir->num_segments));
mem_realloc_n_typed(dir->segments, dir->num_segments, PackFile_Segment *);
for (i = 0; i < dir->num_segments; i++) {
@@ -1938,28 +1959,19 @@
if (type >= PF_MAX_SEG)
type = PF_UNKNOWN_SEG;
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "Segment type %d.\n", type);
-#endif
+ TRACE_PRINTF_VAL(("Segment type %d.\n", type));
/* get name */
name = PF_fetch_cstring(pf, &cursor);
-
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "Segment name \"%s\".\n", name);
-#endif
+ TRACE_PRINTF_VAL(("Segment name \"%s\".\n", name));
/* create it */
seg = PackFile_Segment_new_seg(interp, dir, type, name, 0);
mem_sys_free(name);
seg->file_offset = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "Segment file_offset %ld.\n", seg->file_offset);
-#endif
+ TRACE_PRINTF_VAL(("Segment file_offset %ld.\n", seg->file_offset));
seg->op_count = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "Segment op_count %ld.\n", seg->op_count);
-#endif
+ TRACE_PRINTF_VAL(("Segment op_count %ld.\n", seg->op_count));
if (pf->need_wordsize) {
#if OPCODE_T_SIZE == 8
@@ -1975,10 +1987,9 @@
pf->header->wordsize);
return 0;
}
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "Segment offset: new pos 0x%x (src=0x%x cursor=0x%x).\n",
- pos - pf->src, pf->src, cursor);
-#endif
+ TRACE_PRINTF_VAL(("Segment offset: new pos 0x%x (src=0x%x cursor=0x%x).\n",
+ pos - pf->src, pf->src, cursor));
+
}
else
pos = pf->src + seg->file_offset;
@@ -2007,14 +2018,12 @@
seg->dir = dir;
}
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "pre-ALIGN_16: cursor=0x%x\n", cursor);
+ TRACE_PRINTF_VAL(("pre-ALIGN_16: offset=0x%x src=0x%x cursor=0x%x\n",
+ pf->src - cursor, pf->src, cursor));
/* FIXME on 64bit reading 32bit */
-#endif
ALIGN_16(pf->src, cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "ALIGN_16: src=0x%x cursor=0x%x\n", pf->src, cursor);
-#endif
+ TRACE_PRINTF_VAL(("ALIGN_16: offset=0x%x src=0x%x cursor=0x%x\n",
+ pf->src - cursor, pf->src, cursor));
/* and now unpack contents of dir */
for (i = 0; cursor && i < dir->num_segments; i++) {
@@ -2027,9 +2036,7 @@
size_t delta = 0;
cursor = csave;
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "PackFile_Segment_unpack [%d] tmp len=%d.\n", i, tmp);
-#endif
+ TRACE_PRINTF_VAL(("PackFile_Segment_unpack [%d] tmp len=%d.\n", i, tmp));
pos = PackFile_Segment_unpack(interp, dir->segments[i], cursor);
if (!pos) {
@@ -2037,10 +2044,9 @@
dir->segments[i]->name);
return 0;
}
-#if TRACE_PACKFILE == 2
- else
- Parrot_io_eprintf(NULL, "PackFile_Segment_unpack ok. pos=0x%x\n", pos);
-#endif
+ else {
+ TRACE_PRINTF_VAL(("PackFile_Segment_unpack ok. pos=0x%x\n", pos));
+ }
/* BUG: on 64bit reading 32bit lurking here! */
if (pf->need_wordsize) {
@@ -2054,10 +2060,8 @@
}
else
delta = pos - cursor;
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, " delta=%d pos=0x%x cursor=0x%x\n",
- delta, pos, cursor);
-#endif
+ TRACE_PRINTF_VAL((" delta=%d pos=0x%x cursor=0x%x\n",
+ delta, pos, cursor));
if ((size_t)delta != tmp || dir->segments[i]->op_count != tmp)
fprintf(stderr, "PackFile_unpack segment '%s' directory length %d "
@@ -3246,10 +3250,7 @@
pf = self->base.pf;
self->fixup_count = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(interp,
- "PackFile_FixupTable_unpack(): %ld entries\n", self->fixup_count);
-#endif
+ TRACE_PRINTF(("PackFile_FixupTable_unpack(): %ld entries\n", self->fixup_count));
if (self->fixup_count) {
self->fixups = (PackFile_FixupEntry **)mem_sys_allocate_zeroed(
@@ -3274,11 +3275,8 @@
case enum_fixup_sub:
entry->name = PF_fetch_cstring(pf, &cursor);
entry->offset = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(interp,
- "PackFile_FixupTable_unpack(): type %d, name %s, offset %ld\n",
- entry->type, entry->name, entry->offset);
-#endif
+ TRACE_PRINTF_VAL(("PackFile_FixupTable_unpack(): type %d, name %s, offset %ld\n",
+ entry->type, entry->name, entry->offset));
break;
case enum_fixup_none:
break;
@@ -3497,11 +3495,8 @@
self->const_count = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(interp,
- "PackFile_ConstTable_unpack: Unpacking %ld constants\n",
- self->const_count);
-#endif
+ TRACE_PRINTF(("PackFile_ConstTable_unpack: Unpacking %ld constants\n",
+ self->const_count));
if (self->const_count == 0) {
return cursor;
@@ -3519,11 +3514,8 @@
}
for (i = 0; i < self->const_count; i++) {
-#if TRACE_PACKFILE
- Parrot_io_eprintf(interp,
- "PackFile_ConstTable_unpack(): Unpacking constant %ld/%ld\n",
- i, self->const_count);
-#endif
+ TRACE_PRINTF(("PackFile_ConstTable_unpack(): Unpacking constant %ld/%ld\n",
+ i, self->const_count));
#if EXEC_CAPABLE
if (Parrot_exec_run)
@@ -3617,7 +3609,7 @@
Delete the C<PackFile_Constant> C<self>.
-Don't delete C<PMC>s or C<STRING>s, they are destroyed via DOD/GC.
+Don't delete C<PMC>s or C<STRING>s, they are destroyed via GC.
=cut
@@ -3719,10 +3711,8 @@
PackFile * const pf = constt->base.pf;
const opcode_t type = PF_fetch_opcode(pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PackFile_Constant_unpack(): Type is %ld ('%c')...\n",
- type, (char)type);
-#endif
+ TRACE_PRINTF(("PackFile_Constant_unpack(): Type is %ld ('%c')...\n",
+ type, (char)type));
switch (type) {
case PFC_NUMBER:
@@ -3785,7 +3775,7 @@
/*
* TODO use thaw_constants
* current issue: a constant Sub with attached properties
- * doesn't DOD mark the properties
+ * doesn't GC mark the properties
* for a constant PMC *all* contents have to be in the constant pools
*/
pmc = Parrot_thaw(interp, image);
@@ -4056,24 +4046,21 @@
INTVAL i, str_len;
PackFile_ByteCode *code;
char *code_name;
+#if TRACE_PACKFILE
+ PackFile * const pf = seg->pf;
+#endif
/* Unpack keys. */
self->num_keys = PF_fetch_opcode(seg->pf, &cursor);
-#if TRACE_PACKFILE
- Parrot_io_eprintf(interp,
- "PackFile_Annotations_unpack: Unpacking %ld keys\n",
- self->num_keys);
-#endif
+ TRACE_PRINTF(("PackFile_Annotations_unpack: Unpacking %ld keys\n",
+ self->num_keys));
self->keys = mem_allocate_n_typed(self->num_keys, PackFile_Annotations_Key *);
for (i = 0; i < self->num_keys; i++) {
self->keys[i] = mem_allocate_typed(PackFile_Annotations_Key);
self->keys[i]->name = PF_fetch_opcode(seg->pf, &cursor);
self->keys[i]->type = PF_fetch_opcode(seg->pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(interp,
- "PackFile_Annotations_unpack: key[%d]/%d name=%s type=%d\n",
- i, self->num_keys, self->keys[i]->name, self->keys[i]->type);
-#endif
+ TRACE_PRINTF_VAL(("PackFile_Annotations_unpack: key[%d]/%d name=%s type=%d\n",
+ i, self->num_keys, self->keys[i]->name, self->keys[i]->type));
}
/* Unpack groups. */
@@ -4083,11 +4070,10 @@
self->groups[i] = mem_allocate_typed(PackFile_Annotations_Group);
self->groups[i]->bytecode_offset = PF_fetch_opcode(seg->pf, &cursor);
self->groups[i]->entries_offset = PF_fetch_opcode(seg->pf, &cursor);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(interp,
- "PackFile_Annotations_unpack: group[%d]/%d bytecode_offset=%d entries_offset=%d\n",
- i, self->num_groups, self->groups[i]->bytecode_offset, self->groups[i]->entries_offset);
-#endif
+ TRACE_PRINTF_VAL((
+ "PackFile_Annotations_unpack: group[%d]/%d bytecode_offset=%d entries_offset=%d\n",
+ i, self->num_groups, self->groups[i]->bytecode_offset,
+ self->groups[i]->entries_offset));
}
/* Unpack entries. */
@@ -4447,11 +4433,14 @@
PackFile_append_pbc(PARROT_INTERP, ARGIN_NULLOK(const char *filename))
{
ASSERT_ARGS(PackFile_append_pbc)
- PackFile * const pf = Parrot_readbc(interp, filename);
+ PackFile * const pf = Parrot_pbc_read(interp, filename, 0);
+
if (!pf)
return NULL;
+
PackFile_add_segment(interp, &interp->initial_pf->directory,
&pf->directory.base);
+
do_sub_pragmas(interp, pf->cur_cs, PBC_LOADED, NULL);
return pf;
}
@@ -4488,12 +4477,16 @@
"\"load_bytecode\" no file name");
parrot_split_path_ext(interp, file_str, &wo_ext, &ext);
+
/* check if wo_ext is loaded */
is_loaded_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_PBC_LIBS);
+
if (VTABLE_exists_keyed_str(interp, is_loaded_hash, wo_ext))
return;
+
pbc = CONST_STRING(interp, "pbc");
+
if (Parrot_str_not_equal(interp, ext, pbc) == 0)
file_type = PARROT_RUNTIME_FT_PBC;
else
@@ -4505,9 +4498,10 @@
"\"load_bytecode\" couldn't find file '%Ss'", file_str);
/* remember wo_ext => full_path mapping */
- VTABLE_set_string_keyed_str(interp, is_loaded_hash,
- wo_ext, path);
+ VTABLE_set_string_keyed_str(interp, is_loaded_hash, wo_ext, path);
+
filename = Parrot_str_to_cstring(interp, path);
+
if (file_type == PARROT_RUNTIME_FT_PBC) {
PackFile *pf = PackFile_append_pbc(interp, filename);
Parrot_str_free_cstring(filename);
@@ -4519,8 +4513,7 @@
else {
STRING *err;
PackFile_ByteCode * const cs =
- (PackFile_ByteCode *)IMCC_compile_file_s(interp,
- filename, &err);
+ (PackFile_ByteCode *)IMCC_compile_file_s(interp, filename, &err);
Parrot_str_free_cstring(filename);
if (cs)
@@ -4531,6 +4524,7 @@
}
}
+
/*
=item C<void PackFile_fixup_subs>
@@ -4556,6 +4550,9 @@
=head1 HISTORY
+Parrot_readbc and Parrot_loadbc renamed. Trace macros and 64-bit fixes
+by Reini Urban 2009.
+
Rework by Melvin; new bytecode format, make bytecode portable. (Do
endian conversion and wordsize transforms on the fly.)
Modified: branches/rename_pccinvoke/src/packfile/pf_items.c
==============================================================================
--- branches/rename_pccinvoke/src/packfile/pf_items.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/packfile/pf_items.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -60,24 +60,66 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*dest);
+static void cvt_num16_num12(
+ ARGOUT(unsigned char *dest),
+ ARGIN(const unsigned char *src))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*dest);
+
+static void cvt_num16_num12_le(
+ ARGOUT(unsigned char *dest),
+ ARGIN(unsigned char *src))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*dest);
+
+static void cvt_num16_num8(
+ ARGOUT(unsigned char *dest),
+ ARGIN(const unsigned char *src))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*dest);
+
+static void cvt_num16_num8_be(
+ ARGOUT(unsigned char *dest),
+ ARGIN(const unsigned char *src))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*dest);
+
+static void cvt_num16_num8_le(
+ ARGOUT(unsigned char *dest),
+ ARGIN(unsigned char *src))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*dest);
+
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_be_4(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_be_8(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_le_4(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_le_8(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_mixed_be(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_mixed_le(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
+PARROT_WARN_UNUSED_RESULT
static opcode_t fetch_op_test(ARGIN(const unsigned char *b))
__attribute__nonnull__(1);
@@ -90,6 +132,21 @@
#define ASSERT_ARGS_cvt_num12_num8_le __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(dest) \
|| PARROT_ASSERT_ARG(src)
+#define ASSERT_ARGS_cvt_num16_num12 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(dest) \
+ || PARROT_ASSERT_ARG(src)
+#define ASSERT_ARGS_cvt_num16_num12_le __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(dest) \
+ || PARROT_ASSERT_ARG(src)
+#define ASSERT_ARGS_cvt_num16_num8 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(dest) \
+ || PARROT_ASSERT_ARG(src)
+#define ASSERT_ARGS_cvt_num16_num8_be __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(dest) \
+ || PARROT_ASSERT_ARG(src)
+#define ASSERT_ARGS_cvt_num16_num8_le __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+ PARROT_ASSERT_ARG(dest) \
+ || PARROT_ASSERT_ARG(src)
#define ASSERT_ARGS_fetch_op_be_4 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
PARROT_ASSERT_ARG(b)
#define ASSERT_ARGS_fetch_op_be_8 __attribute__unused__ int _ASSERT_ARGS_CHECK = \
@@ -107,8 +164,6 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
-#define TRACE_PACKFILE 0
-
/*
* round val up to whole size, return result in bytes
*/
@@ -124,6 +179,7 @@
*
* Floattype 0 = IEEE-754 8 byte double
* Floattype 1 = x86 little endian 12 byte long double
+ * Floattype 2 = IEEE-754 16 byte long double
*
*/
@@ -188,10 +244,49 @@
/*
+=item C<static void cvt_num12_num8>
+
+Converts i386 LE 12-byte long double to IEEE 754 8 byte double.
+
+not yet implemented (throws internal_exception).
+
+=cut
+
+*/
+
+static void
+cvt_num16_num8(ARGOUT(unsigned char *dest), ARGIN(const unsigned char *src))
+{
+ ASSERT_ARGS(cvt_num16_num8)
+ exit_fatal(1, "TODO cvt_num16_num8\n");
+}
+
+/*
+
+=item C<static void cvt_num16_num12>
+
+Converts IEEE 754 LE 16-byte long double to i386 LE 12-byte long double .
+
+Not yet implemented (throws internal_exception).
+
+=cut
+
+*/
+
+static void
+cvt_num16_num12(ARGOUT(unsigned char *dest), ARGIN(const unsigned char *src))
+{
+ ASSERT_ARGS(cvt_num16_num12)
+ exit_fatal(1, "TODO cvt_num16_num12\n");
+}
+
+/*
+
=item C<static void cvt_num12_num8_be>
Converts a 12-byte i386 long double into a big-endian IEEE 754 8-byte double.
-converting to BE not yet implemented (throws internal_exception).
+
+Converting to BE not yet implemented (throws internal_exception).
=cut
@@ -201,9 +296,10 @@
cvt_num12_num8_be(ARGOUT(unsigned char *dest), ARGIN(const unsigned char *src))
{
ASSERT_ARGS(cvt_num12_num8_be)
- cvt_num12_num8(dest, src);
- /* TODO endianize */
- exit_fatal(1, "TODO cvt_num12_num8_be\n");
+ unsigned char b[8];
+ cvt_num12_num8(b, src);
+ /* TODO test endianize */
+ fetch_buf_le_8(dest, b);
}
/*
@@ -228,6 +324,70 @@
/*
+=item C<static void cvt_num16_num8_le>
+
+Converts a IEEE 754 16-byte long double into a little-endian IEEE 754
+8-byte double.
+
+Not yet implemented (throws internal_exception).
+
+=cut
+
+*/
+
+static void
+cvt_num16_num8_le(ARGOUT(unsigned char *dest), ARGIN(unsigned char *src))
+{
+ ASSERT_ARGS(cvt_num16_num8_le)
+ unsigned char b[8];
+ cvt_num16_num8(b, src);
+ fetch_buf_le_8(dest, b);
+}
+
+/*
+
+=item C<static void cvt_num16_num8_be>
+
+Converts a IEEE 754 16-byte IA64 long double into a big-endian IEEE 754 8-byte double.
+
+Not yet implemented (throws internal_exception).
+
+=cut
+
+*/
+
+static void
+cvt_num16_num8_be(ARGOUT(unsigned char *dest), ARGIN(const unsigned char *src))
+{
+ ASSERT_ARGS(cvt_num16_num8_be)
+ unsigned char b[8];
+ cvt_num16_num8(b, src);
+ fetch_buf_be_8(dest, b);
+}
+
+/*
+
+=item C<static void cvt_num16_num12_le>
+
+Converts a IEEE 754 16-byte BE long double into a 12-byte i386 long double.
+
+Not yet implemented (throws internal_exception).
+
+=cut
+
+*/
+
+static void
+cvt_num16_num12_le(ARGOUT(unsigned char *dest), ARGIN(unsigned char *src))
+{
+ ASSERT_ARGS(cvt_num16_num12_le)
+ unsigned char b[12];
+ cvt_num16_num12(b, src);
+ fetch_buf_le_12(dest, b);
+}
+
+/*
+
=item C<static opcode_t fetch_op_test>
Fetches an C<opcode_t> operation in little-endian format.
@@ -236,6 +396,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_test(ARGIN(const unsigned char *b))
{
@@ -262,6 +423,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_mixed_le(ARGIN(const unsigned char *b))
{
@@ -298,6 +460,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_mixed_be(ARGIN(const unsigned char *b))
{
@@ -332,6 +495,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_be_4(ARGIN(const unsigned char *b))
{
@@ -366,6 +530,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_be_8(ARGIN(const unsigned char *b))
{
@@ -396,6 +561,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_le_4(ARGIN(const unsigned char *b))
{
@@ -430,6 +596,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static opcode_t
fetch_op_le_8(ARGIN(const unsigned char *b))
{
@@ -461,6 +628,7 @@
*/
PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
opcode_t
PF_fetch_opcode(ARGIN_NULLOK(const PackFile *pf), ARGMOD(const opcode_t **stream))
{
@@ -470,9 +638,7 @@
return *(*stream)++;
o = (pf->fetch_op)(*((const unsigned char **)stream));
*((const unsigned char **) (stream)) += pf->header->wordsize;
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, " PF_fetch_opcode: 0x%lx (%ld)\n", o, o);
-#endif
+ TRACE_PRINTF_VAL((" PF_fetch_opcode: 0x%lx (%ld)\n", o, o));
return o;
}
@@ -606,35 +772,34 @@
FLOATVAL f;
double d;
if (!pf || !pf->fetch_nv) {
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PF_fetch_number: Native [%d bytes]\n",
- sizeof (FLOATVAL));
-#endif
+ TRACE_PRINTF(("PF_fetch_number: Native [%d bytes]\n",
+ sizeof (FLOATVAL)));
memcpy(&f, (const char*)*stream, sizeof (FLOATVAL));
+ TRACE_PRINTF_VAL(("PF_fetch_number: %f\n", f));
(*stream) += (sizeof (FLOATVAL) + sizeof (opcode_t) - 1)/
sizeof (opcode_t);
return f;
}
f = (FLOATVAL) 0;
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PF_fetch_number: Byteordering..\n");
-#endif
- /* Here is where the size transforms get messy.
- Floattype 0 = IEEE-754 8 byte double
- Floattype 1 = x86 little endian 12 byte long double
- */
- if (NUMVAL_SIZE == 8 && pf->header->floattype) {
+ TRACE_PRINTF(("PF_fetch_number: Byteordering..\n"));
+ /* 12->8 has a messy cast. */
+ if (NUMVAL_SIZE == 8 && pf->header->floattype == FLOATTYPE_12) {
(pf->fetch_nv)((unsigned char *)&d, (const unsigned char *) *stream);
f = d;
+ TRACE_PRINTF_VAL(("PF_fetch_number: cast %f\n", f));
}
else {
(pf->fetch_nv)((unsigned char *)&f, (const unsigned char *) *stream);
+ TRACE_PRINTF_VAL(("PF_fetch_number: %f\n", f));
}
- if (pf->header->floattype) {
+ if (pf->header->floattype == FLOATTYPE_8) {
+ *((const unsigned char **) (stream)) += 8;
+ }
+ else if (pf->header->floattype == FLOATTYPE_12) {
*((const unsigned char **) (stream)) += 12;
}
- else {
- *((const unsigned char **) (stream)) += 8;
+ else if (pf->header->floattype == FLOATTYPE_16) {
+ *((const unsigned char **) (stream)) += 16;
}
return f;
}
@@ -718,21 +883,19 @@
/* These may need to be separate */
size = (size_t)PF_fetch_opcode(pf, cursor);
-
-#if TRACE_PACKFILE
- Parrot_io_eprintf(NULL, "PF_fetch_string(): flags are 0x%04x...\n", flags);
- Parrot_io_eprintf(NULL, "PF_fetch_string(): charset_nr is %ld...\n",
- charset_nr);
- Parrot_io_eprintf(NULL, "PF_fetch_string(): size is %ld...\n", size);
-#endif
+ TRACE_PRINTF(("PF_fetch_string(): flags are 0x%04x...\n", flags));
+ TRACE_PRINTF(("PF_fetch_string(): charset_nr is %ld...\n",
+ charset_nr));
+ TRACE_PRINTF(("PF_fetch_string(): size is %ld...\n", size));
charset_name = Parrot_charset_c_name(interp, charset_nr);
s = string_make(interp, (const char *)*cursor, size, charset_name, flags);
-#if TRACE_PACKFILE == 3
- Parrot_io_eprintf(NULL, "PF_fetch_string(): string is: ");
- Parrot_io_putps(interp, Parrot_io_STDERR(interp), s);
- Parrot_io_eprintf(NULL, "\n");
+#if TRACE_PACKFILE == 2
+ if (pf->options & 3) {
+ /* print only printable characters */
+ Parrot_io_eprintf(NULL, "PF_fetch_string(): string is '%s'\n", s->strstart);
+ }
#endif
/* s = string_make(interp, *cursor, size,
@@ -740,9 +903,7 @@
flags); */
size = ROUND_UP_B(size, wordsize);
-#if TRACE_PACKFILE == 2
- Parrot_io_eprintf(NULL, "PF_fetch_string(): round size up to %ld.\n", size);
-#endif
+ TRACE_PRINTF(("PF_fetch_string(): round size up to %ld.\n", size));
*((const unsigned char **) (cursor)) += size;
return s;
}
@@ -766,7 +927,7 @@
opcode_t padded_size = s->bufused;
char *charcursor;
-#if TRACE_PACKFILE == 2
+#if TRACE_PACKFILE == 3
Parrot_io_eprintf(NULL, "PF_store_string(): size is %ld...\n", s->bufused);
#endif
@@ -930,20 +1091,52 @@
else
pf->fetch_op = fetch_op_le_8;
- if (pf->header->floattype)
+ if (pf->header->floattype == FLOATTYPE_8 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = fetch_buf_le_8;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = fetch_buf_le_12;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 16)
+ pf->fetch_nv = fetch_buf_le_16;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 8)
pf->fetch_nv = cvt_num12_num8_le;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = cvt_num16_num12_le;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num16_num8_le;
else
- pf->fetch_nv = fetch_buf_le_8;
+ exit_fatal(1,
+ "PackFile_unpack: unsupported float conversion %d to %d, PARROT_BIGENDIAN=%d\n",
+ NUMVAL_SIZE, pf->header->floattype, PARROT_BIGENDIAN);
+ return 0;
}
else {
if (pf->header->wordsize == 4)
pf->fetch_op = fetch_op_be_4;
else
pf->fetch_op = fetch_op_be_8;
+
+ if (pf->header->floattype == FLOATTYPE_8 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = fetch_buf_be_8;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = fetch_buf_be_12;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 16)
+ pf->fetch_nv = fetch_buf_be_16;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num12_num8;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = cvt_num16_num12;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num16_num8;
+ else {
+ exit_fatal(1,
+ "PackFile_unpack: unsupported float conversion %d to %d, PARROT_BIGENDIAN=%d\n",
+ NUMVAL_SIZE, pf->header->floattype, PARROT_BIGENDIAN);
+ }
}
#else
+ pf->fetch_iv = pf->fetch_op;
/* this Parrot is on a LITTLE ENDIAN machine */
if (need_endianize) {
if (pf->header->wordsize == 4)
@@ -951,23 +1144,46 @@
else
pf->fetch_op = fetch_op_be_8;
- if (pf->header->floattype)
- pf->fetch_nv = cvt_num12_num8_be;
- else
+ if (pf->header->floattype == FLOATTYPE_8 && NUMVAL_SIZE == 8)
pf->fetch_nv = fetch_buf_be_8;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 16)
+ pf->fetch_nv = fetch_buf_be_16;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num12_num8_be;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num16_num8_be;
+ else {
+ exit_fatal(1,
+ "PackFile_unpack: unsupported float conversion %d to %d, PARROT_BIGENDIAN=%d\n",
+ NUMVAL_SIZE, pf->header->floattype, PARROT_BIGENDIAN);
+ return;
+ }
}
else {
if (pf->header->wordsize == 4)
pf->fetch_op = fetch_op_le_4;
else
pf->fetch_op = fetch_op_le_8;
- if (NUMVAL_SIZE == 8 && pf->header->floattype)
- pf->fetch_nv = cvt_num12_num8;
- else if (NUMVAL_SIZE != 8 && ! pf->header->floattype)
+
+ if (pf->header->floattype == FLOATTYPE_8 && NUMVAL_SIZE == 8)
pf->fetch_nv = fetch_buf_le_8;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = fetch_buf_le_12;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 16)
+ pf->fetch_nv = fetch_buf_le_16;
+ else if (pf->header->floattype == FLOATTYPE_12 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num12_num8;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 12)
+ pf->fetch_nv = cvt_num16_num12;
+ else if (pf->header->floattype == FLOATTYPE_16 && NUMVAL_SIZE == 8)
+ pf->fetch_nv = cvt_num16_num8;
+ else {
+ exit_fatal(1,
+ "PackFile_unpack: unsupported float conversion %d to %d, PARROT_BIGENDIAN=%d\n",
+ NUMVAL_SIZE, pf->header->floattype, PARROT_BIGENDIAN);
+ }
}
#endif
- pf->fetch_iv = pf->fetch_op;
}
/*
@@ -982,6 +1198,8 @@
Renamed PackFile_* to PF_*
+Added 16 byte types.
+
=head1 TODO
C<<PF_store_<type>()>> - write an opcode_t stream to cursor in natural
Modified: branches/rename_pccinvoke/src/packout.c
==============================================================================
--- branches/rename_pccinvoke/src/packout.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/packout.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
This program is free software. It is subject to the same license as
Parrot itself.
$Id$
Modified: branches/rename_pccinvoke/src/parrot_debugger.c
==============================================================================
--- branches/rename_pccinvoke/src/parrot_debugger.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/parrot_debugger.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
History:
@@ -179,19 +179,19 @@
ext = strrchr(filename, '.');
if (ext && STREQ(ext, ".pbc")) {
- Parrot_PackFile pf = Parrot_readbc(interp, filename);
+ Parrot_PackFile pf = Parrot_pbc_read(interp, filename, 0);
if (!pf)
return 1;
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
PackFile_fixup_subs(interp, PBC_MAIN, NULL);
}
else {
Parrot_PackFile pf = PackFile_new(interp, 0);
int pasm_file = 0;
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
IMCC_push_parser_state(interp);
IMCC_INFO(interp)->state->file = filename;
Modified: branches/rename_pccinvoke/src/pbc_disassemble.c
==============================================================================
--- branches/rename_pccinvoke/src/pbc_disassemble.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pbc_disassemble.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2003, The Perl Foundation.
+Copyright (C) 2001-2003, Parrot Foundation.
$Id$
=head1 NAME
@@ -8,7 +8,7 @@
=head1 SYNOPSIS
- pbc_disassemble file.pbc
+ pbc_disassemble [-bdh?] [-o outfile] [file.pbc]
=head1 DESCRIPTION
@@ -16,6 +16,8 @@
which in turn uses the C<PDB_disassemble()> function from
F<src/debug.c>.
+Without non-option arguments it reads the pbc from STDIN.
+
=head2 Functions
=over 4
@@ -30,7 +32,40 @@
#include <stdlib.h>
#include <ctype.h>
-static void do_dis(Parrot_Interp);
+static void do_dis(Parrot_Interp, const char *, Parrot_disassemble_options);
+
+/*
+
+=item C<static void help(void)>
+
+Print out the user help info.
+
+=cut
+
+*/
+
+static void help(void)
+{
+ printf("pbc_disassemble - dump or convert parrot bytecode (PBC) files\n");
+ printf("usage:\n");
+ printf("pbc_disassemble [-bh] [--bare|--header-only] [file.pbc]\n");
+ printf("pbc_disassemble -o converted.pasm file.pbc\n\n");
+ printf(" -b\t\t ... bare .pasm without header and left column\n");
+ printf(" -h\t\t ... dump Constant-table header only\n");
+#if TRACE_PACKFILE
+ printf(" -d\t\t ... debug\n");
+#endif
+ printf(" -o filename\t ... output to filename\n");
+ exit(EXIT_SUCCESS);
+}
+
+static struct longopt_opt_decl options[] = {
+ { 'h', 'h', OPTION_optional_FLAG, { "--header-only" } },
+ { '?', '?', OPTION_optional_FLAG, { "--help" } },
+ { 'b', 'b', OPTION_optional_FLAG, { "--bare" } },
+ { 'd', 'd', OPTION_optional_FLAG, { "--debug" } },
+ { 'o', 'o', OPTION_required_FLAG, { "--output" } }
+};
/*
@@ -44,45 +79,66 @@
*/
int
-main(int argc, char *argv[])
+main(int argc, const char *argv[])
{
- Parrot_Interp interp;
- char *filename;
Parrot_PackFile pf;
+ Parrot_Interp interp;
+ const char *outfile = NULL;
+ int option = 0;
+ int debug = 0;
+ struct longopt_opt_info opt = LONGOPT_OPT_INFO_INIT;
+ int status;
interp = Parrot_new(NULL);
-
if (!interp) {
return 1;
}
-
- /* set the top of the stack so GC can trace it for GC-able pointers
- * see trace_system_areas() in src/cpu_dep.c */
- interp->lo_var_ptr = &interp;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: pbc_disassemble programfile \n");
- Parrot_exit(interp, 1);
+ /* init and set top of stack */
+ Parrot_init_stacktop(interp, &status);
+ while ((status = longopt_get(interp,
+ argc, argv, options, &opt)) > 0) {
+ switch (opt.opt_id) {
+ case 'h':
+ option += enum_DIS_HEADER;
+ break;
+ case 'b':
+ option += enum_DIS_BARE;
+ break;
+ case 'o':
+ outfile = opt.opt_arg;
+ break;
+ case 'd':
+ debug = 1;
+ break;
+ case '?':
+ default:
+ help();
+ break;
+ }
}
+ if (status == -1) {
+ help();
+ }
+ argc -= opt.opt_index;
+ argv += opt.opt_index;
- filename = argv[1];
-
- pf = Parrot_readbc(interp, filename);
+ pf = Parrot_pbc_read(interp, argc ? *argv : "-", debug);
if (!pf) {
+ printf("Can't read PBC\n");
return 1;
}
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
- do_dis(interp);
+ do_dis(interp, outfile, option);
Parrot_exit(interp, 0);
}
/*
-=item C<static void do_dis(PARROT_INTERP)>
+=item C<static void do_dis(PARROT_INTERP, outfile, options)>
Do the disassembling.
@@ -91,9 +147,9 @@
*/
static void
-do_dis(PARROT_INTERP)
+do_dis(PARROT_INTERP, const char *outfile, Parrot_disassemble_options options)
{
- Parrot_disassemble(interp);
+ Parrot_disassemble(interp, outfile, options);
}
/*
@@ -112,6 +168,7 @@
actually run the disassembler to normal C comments (Wed, 16 Nov 2005).
Reini Urban: Renamed from disassemble to pbc_disassemble (2008-07-03).
+ Add options: help, -h, -o, --debug, --bare (2009-01-29)
=cut
Modified: branches/rename_pccinvoke/src/pbc_dump.c
==============================================================================
--- branches/rename_pccinvoke/src/pbc_dump.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pbc_dump.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2003, The Perl Foundation.
+Copyright (C) 2001-2003, Parrot Foundation.
$Id$
=head1 NAME
@@ -32,6 +32,11 @@
Terse output.
+=item C<-e> C--debug>
+
+Display detailed packfile reader debugging information if
+F<include/parrot/packfile.h> enables TRACE_PACKFILE
+
=item C<-o converted.pbc>
Repacks a PBC file into the platform's native binary format for better
@@ -180,6 +185,9 @@
printf("\t-d ... disassemble bytecode segments\n");
printf("\t-h ... dump header only\n");
printf("\t-t ... terse output\n");
+#if TRACE_PACKFILE
+ printf("\t--debug debug output\n");
+#endif
printf("\n\t-o converted.pbc repacks a PBC file into "
"the platform's native\n");
printf("\t binary format for better efficiency on reading "
@@ -192,6 +200,7 @@
{ '?', '?', OPTION_optional_FLAG, { "--help" } },
{ 't', 't', OPTION_optional_FLAG, { "--terse" } },
{ 'd', 'd', OPTION_optional_FLAG, { "--disassemble" } },
+ { 'e', 'e', OPTION_optional_FLAG, { "--debug" } },
{ 'o', 'o', OPTION_required_FLAG, { "--output" } }
};
@@ -215,6 +224,7 @@
int disas = 0;
int convert = 0;
int header = 0;
+ int debug = 0;
const char *file = NULL;
struct longopt_opt_info opt = LONGOPT_OPT_INFO_INIT;
int status;
@@ -237,6 +247,9 @@
case 'd':
disas = 1;
break;
+ case 'e':
+ debug = 1;
+ break;
case 'o':
file = opt.opt_arg;
convert = 1;
@@ -254,13 +267,13 @@
argv += opt.opt_index;
- pf = Parrot_readbc(interp, *argv);
+ pf = Parrot_pbc_read(interp, *argv, debug);
if (!pf) {
printf("Can't read PBC\n");
return 1;
}
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
if (convert) {
size_t size;
opcode_t *pack;
Modified: branches/rename_pccinvoke/src/pbc_info.c
==============================================================================
--- branches/rename_pccinvoke/src/pbc_info.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pbc_info.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2003, The Perl Foundation.
+Copyright (C) 2001-2003, Parrot Foundation.
$Id$
=head1 NAME
@@ -70,7 +70,7 @@
interp = Parrot_new(NULL);
- pf = Parrot_readbc(interp, argv[1]);
+ pf = Parrot_pbc_read(interp, argv[1], 0);
/*
* add some more segments
Modified: branches/rename_pccinvoke/src/pbc_merge.c
==============================================================================
--- branches/rename_pccinvoke/src/pbc_merge.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pbc_merge.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2005-2008, The Perl Foundation.
+Copyright (C) 2005-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -228,7 +228,7 @@
=item C<static PackFile* pbc_merge_loadpbc>
This function loads a PBC file and unpacks it. We can't
-use Parrot_readbc because that is specified to also
+use Parrot_pbc_read because that is specified to also
fixup the segments, which we don't want.
=cut
@@ -270,7 +270,7 @@
Parrot_exit(interp, 1);
}
- /* Read in program. Nabbed from Parrot_readpbc. */
+ /* Read in program. Nabbed from Parrot_pbc_read. */
chunk_size = program_size > 0 ? program_size : 1024;
program_code = (char *)mem_sys_allocate(chunk_size);
wanted = program_size;
Modified: branches/rename_pccinvoke/src/pic.c
==============================================================================
--- branches/rename_pccinvoke/src/pic.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pic.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2008, The Perl Foundation.
+Copyright (C) 2004-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/pic_jit.c
==============================================================================
--- branches/rename_pccinvoke/src/pic_jit.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pic_jit.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2006-2007, The Perl Foundation.
+Copyright (C) 2006-2007, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/pmc.c
==============================================================================
--- branches/rename_pccinvoke/src/pmc.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -666,7 +666,7 @@
if (PObj_is_PMC_EXT_TEST(_class))
Parrot_gc_free_pmc_ext(interp, _class);
- DOD_flag_CLEAR(is_special_PMC, _class);
+ gc_flag_CLEAR(is_special_PMC, _class);
PMC_pmc_val(_class) = (PMC *)0xdeadbeef;
PMC_struct_val(_class) = (void *)0xdeadbeef;
@@ -755,7 +755,7 @@
=item C<void gc_register_pmc>
-Registers the PMC with the interpreter's DOD registry.
+Registers the PMC with the interpreter's GC registry.
=cut
@@ -766,7 +766,7 @@
gc_register_pmc(PARROT_INTERP, ARGIN(PMC *pmc))
{
ASSERT_ARGS(gc_register_pmc)
- /* Better not trigger a DOD run with a potentially unanchored PMC */
+ /* Better not trigger a GC run with a potentially unanchored PMC */
Parrot_block_GC_mark(interp);
PARROT_ASSERT(interp->gc_registry);
@@ -780,7 +780,7 @@
=item C<void gc_unregister_pmc>
-Unregisters the PMC from the interpreter's DOD registry.
+Unregisters the PMC from the interpreter's GC registry.
=cut
Modified: branches/rename_pccinvoke/src/pmc/addrregistry.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/addrregistry.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/addrregistry.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -4,7 +4,7 @@
=head1 NAME
-src/pmc/addrregistry.pmc - A DOD Registry PMC
+src/pmc/addrregistry.pmc - A GC Registry PMC
=head1 DESCRIPTION
Modified: branches/rename_pccinvoke/src/pmc/bigint.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/bigint.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/bigint.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2008, The Perl Foundation.
+Copyright (C) 2004-2009, The Perl Foundation.
$Id$
=head1 NAME
@@ -792,21 +792,21 @@
*/
VTABLE STRING *get_string() {
- char *s = bigint_get_string(INTERP, SELF, 10);
- STRING *ps = Parrot_str_new(INTERP, s, 0);
+ char * const s = bigint_get_string(INTERP, SELF, 10);
+ STRING * const ps = Parrot_str_new(INTERP, s, 0);
mem_sys_free(s);
return ps;
}
VTABLE STRING *get_string_keyed_int(INTVAL base) {
- char *s = bigint_get_string(INTERP, SELF, base);
- STRING *ps = Parrot_str_new(INTERP, s, 0);
+ char * const s = bigint_get_string(INTERP, SELF, base);
+ STRING * const ps = Parrot_str_new(INTERP, s, 0);
mem_sys_free(s);
return ps;
}
VTABLE STRING *get_repr() {
- STRING *s = SELF.get_string();
+ STRING * const s = SELF.get_string();
return Parrot_str_append(INTERP, s, CONST_STRING(INTERP, "L"));
}
/*
@@ -1017,7 +1017,7 @@
MULTI PMC *pow(PMC *value, PMC *dest) {
/* XXX only Integer RHS currently */
- INTVAL r = VTABLE_get_integer(INTERP, value);
+ const INTVAL r = VTABLE_get_integer(INTERP, value);
dest = pmc_new(INTERP, SELF->vtable->base_type);
bigint_pow_bigint_int(INTERP, SELF, r, dest);
Modified: branches/rename_pccinvoke/src/pmc/class.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/class.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/class.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -448,7 +448,7 @@
VTABLE void init() {
Parrot_Class_attributes * const _class = mem_allocate_zeroed_typed(Parrot_Class_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
@@ -1208,7 +1208,7 @@
/* Create object. */
object = pmc_new_noinit(interp, enum_class_Object);
- /* Set custom DOD mark and destroy on the object. */
+ /* Set custom GC mark and destroy on the object. */
PObj_custom_mark_SET(object);
PObj_active_destroy_SET(object);
Modified: branches/rename_pccinvoke/src/pmc/continuation.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/continuation.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/continuation.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -240,8 +240,8 @@
* the register pointer is already switched back
* to the caller, therefore the registers of the
* sub we are returning from aren't marked, if
- * inside argument passing a DOD run is triggered
- * therefore we have to block DOD
+ * inside argument passing a GC run is triggered
+ * therefore we have to block GC
*/
opcode_t *src_indexes = interp->current_args;
opcode_t *dest_indexes = to_ctx->current_results;
Modified: branches/rename_pccinvoke/src/pmc/default.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/default.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/default.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -89,7 +89,7 @@
be constructed in an interpreter that is later destroyed */
#if 0
/* RT #46659
- * a quick hack, to prevent freeing that string during DOD
+ * a quick hack, to prevent freeing that string during GC
* triggered in t/pmc/pmc_62.t when configured with --gc=libc
*/
static STRING *ro;
@@ -1081,7 +1081,7 @@
=item C<void visit(visit_info *info)>
-Used by DOD to mark the PMC.
+Used by GC to mark the PMC.
=cut
Modified: branches/rename_pccinvoke/src/pmc/eval.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/eval.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/eval.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -265,7 +265,7 @@
res->strstart = adr;
}
- /* We block DOD while doing the packing, since GC run during a pack
+ /* We block GC while doing the packing, since GC run during a pack
has been observed to cause problems. There may be a Better Fix.
See RT #40410 for example of the problem (note on line that
segfaults, it is *cursor that is pointing to dealloced memory). */
Modified: branches/rename_pccinvoke/src/pmc/exception.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/exception.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/exception.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -85,7 +85,7 @@
Parrot_Exception_attributes * const core_struct =
mem_allocate_zeroed_typed(Parrot_Exception_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
@@ -119,7 +119,7 @@
INTVAL ishash = VTABLE_isa(interp, values, CONST_STRING(interp, 'Hash'));
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/exporter.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/exporter.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/exporter.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -118,7 +118,7 @@
exp->globals = PMCNULL;
PMC_data(SELF) = exp;
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
}
Modified: branches/rename_pccinvoke/src/pmc/float.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/float.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/float.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2003-2008, The Perl Foundation.
+Copyright (C) 2003-2009, The Perl Foundation.
$Id$
=head1 NAME
@@ -34,7 +34,7 @@
*/
VTABLE void init() {
- Parrot_Float_attributes *fattr = mem_allocate_zeroed_typed(Parrot_Float_attributes);
+ Parrot_Float_attributes * const fattr = mem_allocate_zeroed_typed(Parrot_Float_attributes);
fattr->fv = 0.0;
PMC_data(SELF) = fattr;
}
@@ -63,7 +63,7 @@
VTABLE PMC *clone() {
FLOATVAL fv;
- PMC *dest = pmc_new(INTERP, SELF->vtable->base_type);
+ PMC * const dest = pmc_new(INTERP, SELF->vtable->base_type);
GET_ATTR_fv(INTERP, SELF, fv);
SET_ATTR_fv(INTERP, dest, fv);
return dest;
@@ -117,7 +117,7 @@
VTABLE INTVAL get_integer() {
/* two steps avoid casting warnings */
- FLOATVAL n = SELF.get_number();
+ const FLOATVAL n = SELF.get_number();
return (INTVAL) n;
}
Modified: branches/rename_pccinvoke/src/pmc/hash.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/hash.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/hash.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2009, The Perl Foundation.
$Id$
=head1 NAME
@@ -89,7 +89,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Hash: Cannot use NULL key");
else {
- STRING *keystr = key_string(interp, key);
+ STRING * const keystr = key_string(interp, key);
if (STRING_IS_NULL(keystr))
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_UNEXPECTED_NULL, "Hash: Cannot use NULL STRING key");
@@ -271,7 +271,7 @@
VTABLE FLOATVAL get_number() {
/* doing this in two steps avoids dodgy cast warnings with -O */
- INTVAL size = parrot_hash_size(INTERP, (Hash *)PMC_struct_val(SELF));
+ const INTVAL size = parrot_hash_size(INTERP, (Hash *)PMC_struct_val(SELF));
return (FLOATVAL)size;
}
@@ -554,14 +554,15 @@
}
VTABLE PMC *get_pmc_keyed(PMC *key) {
- Hash * const hash = (Hash *)PMC_struct_val(SELF);
+ const Hash * const hash = (Hash *)PMC_struct_val(SELF);
STRING *keystr;
HashBucket *b;
PMC *nextkey;
- PMC *result;
/* called from iterator with an integer idx in key */
if ((PObj_get_FLAGS(key) & KEY_type_FLAGS) == KEY_hash_iterator_FLAGS) {
+ PMC *result;
+
/* check if we really have Hash_key_type_int */
if (hash->key_type == Hash_key_type_int) {
void *idx = parrot_hash_get_idx(INTERP, hash, key);
Modified: branches/rename_pccinvoke/src/pmc/iterator.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/iterator.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/iterator.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -140,9 +140,9 @@
*/
VTABLE PMC *clone() {
- STRING *name = CONST_STRING(interp, "set_key");
- PMC * const key = (PMC *)PMC_struct_val(SELF);
- PMC * const res = pmc_new_init(INTERP, SELF->vtable->base_type,
+ STRING * const name = CONST_STRING(interp, "set_key");
+ PMC * const key = (PMC *)PMC_struct_val(SELF);
+ PMC * const res = pmc_new_init(INTERP, SELF->vtable->base_type,
SELF.get_pmc());
Parrot_PCCINVOKE(interp, res, name, "P->", VTABLE_clone(interp, key));
return res;
@@ -351,7 +351,7 @@
*/
VTABLE void set_integer_native(INTVAL value) {
- PMC *key, *agg;
+ PMC *agg;
if (value < ITERATE_FROM_START || value > ITERATE_FROM_END)
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Illegal set_integer on iterator");
@@ -365,6 +365,7 @@
VTABLE_nextkey_keyed(INTERP, agg, NULL, value);
}
else {
+ PMC *key;
if (!PMC_struct_val(SELF))
key = key_new(INTERP);
else
@@ -487,7 +488,7 @@
/* iterator constructor */
if (REG_INT(interp, 3) == 1) {
- PMC *arg = REG_PMC(interp, 5);
+ PMC * const arg = REG_PMC(interp, 5);
PMC *iter;
if (PObj_is_object_TEST(arg)) {
Modified: branches/rename_pccinvoke/src/pmc/key.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/key.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/key.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2009, The Perl Foundation.
$Id$
=head1 NAME
@@ -50,7 +50,6 @@
PMC * const dest = pmc_new_noinit(INTERP, SELF->vtable->base_type);
PMC *dkey = dest;
PMC *key = SELF;
- PMC *p;
PObj_custom_mark_SET(dest);
@@ -71,8 +70,10 @@
break;
case KEY_pmc_FLAG:
case KEY_pmc_FLAG | KEY_register_FLAG:
- p = key_pmc(INTERP, key);
+ {
+ PMC * const p = key_pmc(INTERP, key);
key_set_pmc(INTERP, dkey, VTABLE_clone(INTERP, p));
+ }
break;
default:
break;
@@ -81,7 +82,7 @@
key = key_next(INTERP, key);
if (key) {
- p = key_new(INTERP);
+ PMC * const p = key_new(INTERP);
key_append(INTERP, dkey, p);
dkey = p;
}
@@ -284,7 +285,7 @@
*/
VTABLE PMC *nextkey_keyed(PMC *agg, INTVAL what) {
- PMC *ret = SELF;
+ PMC * const ret = SELF;
const INTVAL n = VTABLE_elements(INTERP, agg);
switch (what) {
@@ -418,9 +419,8 @@
}
void thaw(visit_info *info) {
- IMAGE_IO * const io = info->image_io;
- INTVAL const flags = VTABLE_shift_integer(INTERP, io)
- & KEY_type_FLAGS;
+ IMAGE_IO * const io = info->image_io;
+ const INTVAL flags = VTABLE_shift_integer(INTERP, io) & KEY_type_FLAGS;
PObj_get_FLAGS(SELF) |= flags;
PObj_custom_mark_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/object.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/object.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/object.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -684,7 +684,7 @@
/* If we get here, no custom clone. Create a new object PMC. */
cloned = pmc_new_noinit(interp, enum_class_Object);
- /* Set custom DOD mark and destroy on the object. */
+ /* Set custom GC mark and destroy on the object. */
PObj_custom_mark_SET(cloned);
PObj_active_destroy_SET(cloned);
@@ -783,7 +783,7 @@
*/
void thawfinish(visit_info *info) {
- /* Set custom DOD mark and destroy on the object. */
+ /* Set custom GC mark and destroy on the object. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/packfile.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/packfile.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/packfile.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -82,7 +82,7 @@
=cut
-Implementation note: taken from the bottom end of Parrot_readbc().
+Implementation note: taken from the bottom end of Parrot_pbc_read().
*/
VTABLE void set_string_native(STRING *str) {
PackFile *pf = PMC_data_typed(SELF, PackFile *);
Modified: branches/rename_pccinvoke/src/pmc/parrotinterpreter.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/parrotinterpreter.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/parrotinterpreter.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -45,7 +45,7 @@
void
clone_interpreter(Parrot_Interp d, Parrot_Interp s, INTVAL flags)
{
- /* we block DOD runs while cloning since C<d> is not yet running */
+ /* we block GC runs while cloning since C<d> is not yet running */
Parrot_block_GC_mark(d);
d->scheduler = pmc_new(d, enum_class_Scheduler);
Modified: branches/rename_pccinvoke/src/pmc/parrotthread.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/parrotthread.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/parrotthread.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -40,7 +40,7 @@
#include "parrot/embed.h"
/*
- * can't do multi-threaded DOD/GC yet
+ * can't do multi-threaded GC yet
* XXX a quick hack to pass the few tests
*/
static void
@@ -133,7 +133,7 @@
UNLOCK(interpreter_array_mutex);
- /* can't allow DOD runs for now */
+ /* can't allow GC runs for now */
stop_GC(INTERP, PMC_data_typed(SELF, Parrot_Interp));
}
@@ -156,7 +156,7 @@
UNLOCK(interpreter_array_mutex);
- /* can't allow DOD runs for now */
+ /* can't allow GC runs for now */
stop_GC(INTERP, PMC_data_typed(SELF, Parrot_Interp));
}
}
Modified: branches/rename_pccinvoke/src/pmc/pmcproxy.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/pmcproxy.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/pmcproxy.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -83,7 +83,7 @@
STRING * const name = CONST_STRING(interp, "proxy");
PMC_data(SELF) = _pmc;
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/role.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/role.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/role.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -225,7 +225,7 @@
Parrot_Role_attributes * const role = mem_allocate_zeroed_typed(Parrot_Role_attributes);
PMC_data(SELF) = role;
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/scheduler.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/scheduler.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/scheduler.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -51,7 +51,7 @@
Parrot_Scheduler_attributes * const core_struct =
mem_allocate_zeroed_typed(Parrot_Scheduler_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/schedulermessage.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/schedulermessage.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/schedulermessage.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -40,7 +40,7 @@
Parrot_SchedulerMessage_attributes * const core_struct
= mem_allocate_zeroed_typed(Parrot_SchedulerMessage_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/task.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/task.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/task.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -47,7 +47,7 @@
Parrot_Task_attributes * const core_struct =
mem_allocate_zeroed_typed(Parrot_Task_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
@@ -126,7 +126,7 @@
core_struct = mem_allocate_zeroed_typed(Parrot_Task_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc/timer.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/timer.pmc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc/timer.pmc Fri Feb 13 23:29:44 2009 (r36699)
@@ -78,7 +78,7 @@
Parrot_Timer_attributes * const core_struct =
mem_allocate_zeroed_typed(Parrot_Timer_attributes);
- /* Set flags for custom DOD mark and destroy. */
+ /* Set flags for custom GC mark and destroy. */
PObj_custom_mark_SET(SELF);
PObj_active_destroy_SET(SELF);
Modified: branches/rename_pccinvoke/src/pmc_freeze.c
==============================================================================
--- branches/rename_pccinvoke/src/pmc_freeze.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/pmc_freeze.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -445,10 +445,10 @@
/* normal freeze can use next_for_GC ptrs or a seen hash */
#define FREEZE_USE_NEXT_FOR_GC 0
-/* when thawing a string longer then this size, we first do a DOD run and then
- * block DOD/GC - the system can't give us more headers */
+/* when thawing a string longer then this size, we first do a GC run and then
+ * block GC - the system can't give us more headers */
-#define THAW_BLOCK_DOD_SIZE 100000
+#define THAW_BLOCK_GC_SIZE 100000
/* preallocate freeze image for aggregates with this estimation */
#if FREEZE_ASCII
@@ -1829,8 +1829,8 @@
info.image = image;
/*
* if we are thawing a lot of PMCs, its cheaper to do
- * a DOD run first and then block DOD - the limit should be
- * chosen so that no more then one DOD run would be triggered
+ * a GC run first and then block GC - the limit should be
+ * chosen so that no more then one GC run would be triggered
*
* XXX
*
@@ -1838,7 +1838,7 @@
* info->thaw_ptr becomes invalid - seems that the hash got
* collected under us.
*/
- if (1 || (Parrot_str_byte_length(interp, image) > THAW_BLOCK_DOD_SIZE)) {
+ if (1 || (Parrot_str_byte_length(interp, image) > THAW_BLOCK_GC_SIZE)) {
Parrot_do_gc_run(interp, 1);
Parrot_block_GC_mark(interp);
Parrot_block_GC_sweep(interp);
@@ -1885,7 +1885,7 @@
This function must not consume any resources (except the image itself).
It uses the C<next_for_GC> pointer, so its not reentrant and must not be
-interrupted by a DOD run.
+interrupted by a GC run.
=cut
@@ -1938,7 +1938,7 @@
#if FREEZE_USE_NEXT_FOR_GC
ASSERT_ARGS(Parrot_freeze)
/*
- * we could do a DOD run here before, to free resources
+ * we could do a GC run here before, to free resources
*/
return Parrot_freeze_at_destruct(interp, pmc);
#else
Modified: branches/rename_pccinvoke/src/runops_cores.c
==============================================================================
--- branches/rename_pccinvoke/src/runops_cores.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/runops_cores.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 Run Cores
@@ -347,12 +347,12 @@
{
ASSERT_ARGS(runops_trace_core)
- static size_t gc_runs, collect_runs;
+ static size_t gc_mark_runs, gc_collect_runs;
Arenas * const arena_base = interp->arena_base;
Interp *debugger;
- gc_runs = arena_base->gc_runs;
- collect_runs = arena_base->collect_runs;
+ gc_mark_runs = arena_base->gc_mark_runs;
+ gc_collect_runs = arena_base->gc_collect_runs;
if (interp->pdb) {
debugger = interp->pdb->debugger;
PARROT_ASSERT(debugger);
@@ -399,14 +399,14 @@
DO_OP(pc, interp);
trace_op(interp, code_start, code_end, pc);
- if (gc_runs != arena_base->gc_runs) {
- gc_runs = arena_base->gc_runs;
- Parrot_io_eprintf(debugger, " DOD\n");
+ if (gc_mark_runs != arena_base->gc_mark_runs) {
+ gc_mark_runs = arena_base->gc_mark_runs;
+ Parrot_io_eprintf(debugger, " GC mark\n");
}
- if (collect_runs != arena_base->collect_runs) {
- collect_runs = arena_base->collect_runs;
- Parrot_io_eprintf(debugger, " GC\n");
+ if (gc_collect_runs != arena_base->gc_collect_runs) {
+ gc_collect_runs = arena_base->gc_collect_runs;
+ Parrot_io_eprintf(debugger, " GC collect\n");
}
}
Modified: branches/rename_pccinvoke/src/runops_cores.h
==============================================================================
--- branches/rename_pccinvoke/src/runops_cores.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/runops_cores.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/* runops_cores.h
- * Copyright (C) 2001-2006, The Perl Foundation.
+ * Copyright (C) 2001-2006, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
Modified: branches/rename_pccinvoke/src/scheduler.c
==============================================================================
--- branches/rename_pccinvoke/src/scheduler.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/scheduler.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2007-2008, The Perl Foundation.
+Copyright (C) 2007-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/spf_render.c
==============================================================================
--- branches/rename_pccinvoke/src/spf_render.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/spf_render.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/spf_vtable.c
==============================================================================
--- branches/rename_pccinvoke/src/spf_vtable.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/spf_vtable.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/stacks.c
==============================================================================
--- branches/rename_pccinvoke/src/stacks.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/stacks.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
@@ -118,7 +118,7 @@
=item C<void mark_stack>
-Mark entries in a stack structure during DOD.
+Mark entries in a stack structure during GC.
=cut
Modified: branches/rename_pccinvoke/src/sub.c
==============================================================================
--- branches/rename_pccinvoke/src/sub.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/sub.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/thread.c
==============================================================================
--- branches/rename_pccinvoke/src/thread.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/thread.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -958,7 +958,7 @@
{
ASSERT_ARGS(remove_queued_suspend_gc)
parrot_event *ev = NULL;
- QUEUE *queue = interp->task_queue;
+ QUEUE * const queue = interp->task_queue;
QUEUE_ENTRY *prev = NULL;
QUEUE_ENTRY *cur;
@@ -1237,7 +1237,7 @@
{
ASSERT_ARGS(pt_suspend_self_for_gc)
PARROT_ASSERT(interp);
- PARROT_ASSERT(!interp->arena_base->DOD_block_level);
+ PARROT_ASSERT(!interp->arena_base->gc_mark_block_level);
DEBUG_ONLY(fprintf(stderr, "%p: suspend_self_for_gc\n", interp));
/* since we are modifying our own state, we need to lock
* the interpreter_array_mutex.
@@ -1332,16 +1332,16 @@
if (retval) {
PMC *parent_ret;
/*
- * clone the PMC into caller, if its not a shared PMC
+ * clone the PMC into caller, if it's not a shared PMC
* the PMC is not in the parents root set nor in the
- * stack so block DOD during clone
+ * stack so block GC during clone
* XXX should probably acquire the parent's interpreter mutex
*/
Parrot_block_GC_mark(parent);
parent_ret = make_local_copy(parent, interp, retval);
/* this PMC is living only in the stack of this currently
- * dying interpreter, so register it in parent's DOD registry
+ * dying interpreter, so register it in parent's GC registry
* XXX is this still needed?
*/
gc_register_pmc(parent, parent_ret);
@@ -1590,20 +1590,20 @@
=back
-=head2 DOD Synchronization Functions
+=head2 GC Synchronization Functions
=over 4
=item C<void pt_gc_start_mark>
-Record that the mark phase of DOD is about to begin. In the presence of shared
-PMCs, we can only run one DOD run at a time because C<< PMC->next_for_GC >> may
+Record that the mark phase of GC is about to begin. In the presence of shared
+PMCs, we can only run one GC run at a time because C<< PMC->next_for_GC >> may
be changed.
-C<flags> are the DOD flags. We check if we need to collect shared objects or
+C<flags> are the GC flags. We check if we need to collect shared objects or
not.
-TODO - Have a count of shared PMCs and check it during DOD.
+TODO - Have a count of shared PMCs and check it during GC.
TODO - Evaluate if a interpreter lock is cheaper when C<gc_mark_ptr> is
updated.
@@ -1673,7 +1673,7 @@
DEBUG_ONLY(fprintf(stderr, "actually mark\n"));
/*
- * we can't allow parallel running DODs both would mess with shared PMCs
+ * We can't allow parallel running GCs; both would mess with shared PMCs'
* next_for_GC pointers
*/
LOCK(interpreter_array_mutex);
@@ -1684,7 +1684,7 @@
=item C<void pt_gc_mark_root_finished>
-Records that DOD has finished for the root set. EXCEPTION_UNIMPLEMENTED
+Records that GC has finished for the root set. EXCEPTION_UNIMPLEMENTED
=cut
@@ -1699,7 +1699,7 @@
/*
* TODO now check, if we are the owner of a shared memory pool
* if yes:
- * - now run DOD_mark on all members of our pool
+ * - now mark all members of our pool
* - if all shared PMCs are marked by all threads then
* - we can continue to free unused objects
*/
@@ -1709,7 +1709,7 @@
=item C<void pt_gc_stop_mark>
-Records that the mark phase of DOD has completed.
+Records that the mark phase of GC has completed.
=cut
@@ -1751,7 +1751,7 @@
=item C<void Parrot_shared_gc_block>
-Blocks stop-the-world DOD runs.
+Blocks stop-the-world GC runs.
=cut
@@ -1775,7 +1775,7 @@
=item C<void Parrot_shared_gc_unblock>
-Unblocks stop-the-world DOD runs.
+Unblocks stop-the-world GC runs.
=cut
Modified: branches/rename_pccinvoke/src/trace.c
==============================================================================
--- branches/rename_pccinvoke/src/trace.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/trace.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/trace.h
==============================================================================
--- branches/rename_pccinvoke/src/trace.h Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/trace.h Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/* trace.h
- * Copyright (C) 2001-2007, The Perl Foundation.
+ * Copyright (C) 2001-2007, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
Modified: branches/rename_pccinvoke/src/tsq.c
==============================================================================
--- branches/rename_pccinvoke/src/tsq.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/tsq.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/utils.c
==============================================================================
--- branches/rename_pccinvoke/src/utils.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/utils.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/vtables.c
==============================================================================
--- branches/rename_pccinvoke/src/vtables.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/vtables.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2007, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/src/warnings.c
==============================================================================
--- branches/rename_pccinvoke/src/warnings.c Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/src/warnings.c Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, The Perl Foundation.
+Copyright (C) 2001-2008, Parrot Foundation.
$Id$
=head1 NAME
Modified: branches/rename_pccinvoke/t/codingstd/linelength.t
==============================================================================
--- branches/rename_pccinvoke/t/codingstd/linelength.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/codingstd/linelength.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -43,9 +43,7 @@
APL
cardinal
dotnet
- lua
ook
- perl6
pipp
};
Modified: branches/rename_pccinvoke/t/compilers/imcc/imcpasm/opt1.t
==============================================================================
--- branches/rename_pccinvoke/t/compilers/imcc/imcpasm/opt1.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/compilers/imcc/imcpasm/opt1.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -6,6 +6,9 @@
use warnings;
use lib qw( . lib ../lib ../../lib );
use Parrot::Test tests => 78;
+use Parrot::Config;
+
+my $output;
# these tests are run with -O1 by TestCompiler and show
# generated PASM code for various optimizations at level 1
@@ -1151,18 +1154,25 @@
##############################
-pir_2_pasm_like( <<'CODE', <<'OUT', "constant add big nums" );
+$output = $PConfig{numvalsize} == 8
+ ? '/^# IMCC does produce b0rken PASM files
+# see http://guest@rt.perl.org/rt3/Ticket/Display.html\?id=32392
+_main:
+ set N0, 1\.6e\+0?22
+ end$/
+' : '/^# IMCC does produce b0rken PASM files
+# see http://guest@rt.perl.org/rt3/Ticket/Display.html\?id=32392
+_main:
+ set N0, 16000000000000000000000
+ end$/
+';
+
+pir_2_pasm_like( <<'CODE', $output, "constant add big nums" );
.sub _main
add $N0, 10.0e20, 15.0e21
end
.end
CODE
-/^# IMCC does produce b0rken PASM files
-# see http://guest@rt.perl.org/rt3/Ticket/Display.html\?id=32392
-_main:
- set N0, 1\.6e\+0?22
- end$/
-OUT
##############################
SKIP: {
Modified: branches/rename_pccinvoke/t/native_pbc/header.t
==============================================================================
--- branches/rename_pccinvoke/t/native_pbc/header.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/native_pbc/header.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -66,7 +66,7 @@
is( $h{magic}, "\xfe\x50\x42\x43\x0a\x1a\x0a", "magic string 0xfePBC0x0a0x1a0x0a len=7" );
ok( $h{wordsize} == 2 || $h{wordsize} == 4 || $h{wordsize} == 8, "wordsize: $h{wordsize}" );
ok( $h{byteorder} < 2, "byteorder: $h{byteorder}" );
-ok( $h{floattype} < 4, "floattype: $h{floattype}" );
+ok( $h{floattype} < 3, "floattype: $h{floattype}" );
is( $h{major}, $PConfig{MAJOR}, "major version: $h{major} vs $PConfig{MAJOR}" );
is( $h{minor}, $PConfig{MINOR}, "minor version: $h{minor} vs $PConfig{MINOR}" );
is( $h{patch}, $PConfig{PATCH}, "patch version: $h{patch} vs $PConfig{PATCH}" );
Modified: branches/rename_pccinvoke/t/native_pbc/integer.t
==============================================================================
--- branches/rename_pccinvoke/t/native_pbc/integer.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/native_pbc/integer.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -8,7 +8,7 @@
use Test::More;
use Parrot::Config;
-use Parrot::Test tests => 4;
+use Parrot::Test tests => 5;
=head1 NAME
@@ -30,10 +30,11 @@
=head1 PLATFORMS
_1 i386 32 bit opcode_t, 32 bit intval (linux-gcc-ix86, freebsd-gcc, cygwin)
- _2 i386 32 bit opcode_t, 32 bit intval, long double (linux-gcc-ix86)
+ _2 i386 32 bit opcode_t, 32 bit intval, 12 bit long double (linux-gcc-ix86)
_3 PPC BE 32 bit opcode_t, 32 bit intval (darwin-ppc)
_4 x86_64 double float 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
- _5 big-endian 64-bit (irix or similar)
+ _5 x86_64 16 bit long double 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
+ _6 big-endian 64-bit (MIPS irix or similar)
=cut
@@ -86,11 +87,16 @@
pbc_output_is( undef, '270544960', "i386 32 bit opcode_t, 32 bit intval" )
or diag "May need to regenerate t/native_pbc/integer_1.pbc; read test file";
-}
-TODO: {
-local $TODO = "devel versions are not guaranteed to succeed"
- if $PConfig{DEVEL};
+# HEADER => [
+# wordsize = 4 (interpreter's wordsize/INTVAL = 4/4)
+# byteorder = 0 (interpreter's byteorder = 0)
+# floattype = 1 (interpreter's NUMVAL_SIZE = 12)
+# parrot-version 0.9.0, bytecode-version 3.34
+# UUID type = 0, UUID size = 0
+# no endianize, no opcode, no numval transform
+# dirformat = 1
+# ]
pbc_output_is( undef, '270544960', "i386 32 bit opcode_t, 32 bit intval long double" )
or diag "May need to regenerate t/native_pbc/integer_2.pbc; read test file";
@@ -108,6 +114,12 @@
pbc_output_is(undef, '270544960', "PPC BE 32 bit opcode_t, 32 bit intval")
or diag "May need to regenerate t/native_pbc/integer_3.pbc; read test file";
+}
+
+TODO: {
+local $TODO = "devel versions are not guaranteed to succeed"
+ if $PConfig{DEVEL};
+
# any ordinary 64-bit intel unix:
# HEADER => [
# wordsize = 8 (interpreter's wordsize/INTVAL = 8/8)
@@ -122,9 +134,22 @@
pbc_output_is(undef, '270544960', "i86_64 LE 64 bit opcode_t, 64 bit intval")
or diag "May need to regenerate t/native_pbc/integer_4.pbc; read test file";
+# HEADER => [
+# wordsize = 8 (interpreter's wordsize/INTVAL = 8/8)
+# byteorder = 0 (interpreter's byteorder = 0)
+# floattype = 2 (interpreter's NUMVAL_SIZE = 16)
+# parrot-version 0.9.0, bytecode-version 3.34
+# UUID type = 0, UUID size = 0
+# no endianize, no opcode, no numval transform
+# dirformat = 1
+# ]
+
+pbc_output_is(undef, '270544960', "i86_64 LE 64 bit opcode_t, 64 bit intval, long double")
+ or diag "May need to regenerate t/native_pbc/integer_5.pbc; read test file";
+
# Formerly following tests had been set up:
# pbc_output_is(undef, '270544960', "big-endian 64-bit (irix)");
-# or diag "May need to regenerate t/native_pbc/integer_5.pbc; read test file";
+# or diag "May need to regenerate t/native_pbc/integer_6.pbc; read test file";
}
Modified: branches/rename_pccinvoke/t/native_pbc/number.t
==============================================================================
--- branches/rename_pccinvoke/t/native_pbc/number.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/native_pbc/number.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -8,7 +8,7 @@
use Test::More;
use Parrot::Config;
-use Parrot::Test tests => 4;
+use Parrot::Test tests => 5;
=head1 NAME
@@ -30,10 +30,11 @@
=head1 PLATFORMS
_1 i386 32 bit opcode_t, 32 bit intval (linux-gcc-ix86, freebsd-gcc, cygwin)
- _2 i386 32 bit opcode_t, 32 bit intval, long double (linux-gcc-ix86)
+ _2 i386 32 bit opcode_t, 32 bit intval, 12 bit long double (linux-gcc-ix86)
_3 PPC BE 32 bit opcode_t, 32 bit intval (darwin-ppc)
_4 x86_64 double float 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
- _5 big-endian 64-bit (irix or similar)
+ _5 x86_64 16 bit long double 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
+ _6 big-endian 64-bit (MIPS irix or similar)
=cut
@@ -116,11 +117,18 @@
pbc_output_is( undef, $output, "i386 double float 32 bit opcode_t" )
or diag "May need to regenerate t/native_pbc/number_1.pbc; read test file";
+# HEADER => [
+# wordsize = 4 (interpreter's wordsize/INTVAL = 4/4)
+# byteorder = 0 (interpreter's byteorder = 0)
+# floattype = 1 (interpreter's NUMVAL_SIZE = 12)
+# parrot-version 0.9.0, bytecode-version 3.34
+# UUID type = 0, UUID size = 0
+# no endianize, no opcode, no numval transform
+# dirformat = 1
+# ]
pbc_output_is( undef, $output, "i386 long double float 32 bit opcode_t")
or diag "May need to regenerate t/native_pbc/number_2.pbc; read test file";
-}
-
# darwin/ppc:
# HEADER => [
# wordsize = 4 (interpreter's wordsize/INTVAL = 4/4)
@@ -132,13 +140,14 @@
# dirformat = 1
# ]
+pbc_output_is(undef, $output, "PPC double float 32 bit BE opcode_t")
+ or diag "May need to regenerate t/native_pbc/number_3.pbc; read test file";
+}
+
TODO: {
local $TODO = "devel versions are not guaranteed to succeed"
if $PConfig{DEVEL};
-pbc_output_is(undef, $output, "PPC double float 32 bit BE opcode_t")
- or diag "May need to regenerate t/native_pbc/number_3.pbc; read test file";
-
# any ordinary 64-bit intel unix:
# HEADER => [
# wordsize = 8 (interpreter's wordsize/INTVAL = 8/8)
@@ -153,9 +162,21 @@
pbc_output_is(undef, $output, "i86_64 LE 64 bit opcode_t, 64 bit intval")
or diag "May need to regenerate t/native_pbc/number_4.pbc; read test file";
+# HEADER => [
+# wordsize = 8 (interpreter's wordsize/INTVAL = 8/8)
+# byteorder = 0 (interpreter's byteorder = 0)
+# floattype = 2 (interpreter's NUMVAL_SIZE = 16)
+# parrot-version 0.9.0, bytecode-version 3.34
+# UUID type = 0, UUID size = 0
+# no endianize, no opcode, no numval transform
+# dirformat = 1
+# ]
+pbc_output_is(undef, $output, "i86_64 LE 64 bit opcode_t, 64 bit intval, long double")
+ or diag "May need to regenerate t/native_pbc/integer_5.pbc; read test file";
+
# Formerly there were also a test for:
# pbc_output_is(undef, $output, "big-endian 64-bit irix")
-# or diag "May need to regenerate t/native_pbc/number_5.pbc; read test file";
+# or diag "May need to regenerate t/native_pbc/number_6.pbc; read test file";
}
Modified: branches/rename_pccinvoke/t/native_pbc/string.t
==============================================================================
--- branches/rename_pccinvoke/t/native_pbc/string.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/native_pbc/string.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -30,10 +30,11 @@
=head1 PLATFORMS
_1 i386 32 bit opcode_t, 32 bit intval (linux-gcc-ix86, freebsd-gcc, cygwin)
- _2 i386 32 bit opcode_t, 32 bit intval, long double (linux-gcc-ix86)
+ _2 i386 32 bit opcode_t, 32 bit intval, 12 bit long double (linux-gcc-ix86)
_3 PPC BE 32 bit opcode_t, 32 bit intval (darwin-ppc)
_4 x86_64 double float 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
- _5 big-endian 64-bit (irix or similar)
+ _5 x86_64 16 bit long double 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
+ _6 big-endian 64-bit (MIPS irix or similar)
=cut
Modified: branches/rename_pccinvoke/t/op/arithmetics.t
==============================================================================
--- branches/rename_pccinvoke/t/op/arithmetics.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/arithmetics.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -152,7 +152,7 @@
TODO: {
my @todo;
@todo = ( todo => '-0.0 not implemented, TT #313' )
- if $^O =~ m/(?:openbsd|win32)/i;
+ if $^O =~ m/(?:openbsd)/i;
pasm_output_is( <<'CODE', <<OUTPUT, 'negate -0.0', @todo );
set N0, 0
@@ -843,12 +843,7 @@
OUTPUT
}
-TODO: {
- my @todo;
- @todo = ( todo => 'inf is not platform-independent' )
- if $^O eq 'MSWin32' and $PConfig{cc} =~ /cl/i;
-
-pir_output_is( <<'CODE', <<OUTPUT, "Inf/NaN - basic arith", @todo );
+pir_output_is( <<'CODE', <<OUTPUT, "Inf/NaN - basic arith" );
.sub 'test' :main
$N0 = 'Inf'
say $N0
@@ -860,8 +855,6 @@
NaN
OUTPUT
-}
-
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
Modified: branches/rename_pccinvoke/t/op/gc.t
==============================================================================
--- branches/rename_pccinvoke/t/op/gc.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/gc.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -19,12 +19,12 @@
=head1 DESCRIPTION
Tests garbage collection with the C<interpinfo> operation and various
-DOD/GC related bugs.
+GC related bugs.
=cut
pasm_output_is( <<'CODE', '1', "sweep 1" );
- interpinfo I1, 2 # How many DOD runs have we done already?
+ interpinfo I1, 2 # How many GC mark runs have we done already?
sweep 1
interpinfo I2, 2 # Should be one more now
sub I3, I2, I1
@@ -33,7 +33,7 @@
CODE
pasm_output_is( <<'CODE', '0', "sweep 0" );
- interpinfo I1, 2 # How many DOD runs have we done already?
+ interpinfo I1, 2 # How many GC mark runs have we done already?
sweep 0
interpinfo I2, 2 # Should be same
sub I3, I2, I1
@@ -43,7 +43,7 @@
pasm_output_is( <<'CODE', '1', "sweep 0, with object that need destroy" );
new P0, 'Undef'
- interpinfo I1, 2 # How many DOD runs have we done already?
+ interpinfo I1, 2 # How many GC mark runs have we done already?
needs_destroy P0
sweep 0
interpinfo I2, 2 # Should be one more now
@@ -55,7 +55,7 @@
pasm_output_is( <<'CODE', '10', "sweep 0, with object that need destroy/destroy" );
new P0, 'Undef'
needs_destroy P0
- interpinfo I1, 2 # How many DOD runs have we done already?
+ interpinfo I1, 2 # How many GC mark runs have we done already?
new P0, 'Undef' # kill object
sweep 0
interpinfo I2, 2 # Should be one more now
@@ -63,7 +63,7 @@
sweep 0
interpinfo I4, 2 # Should be same as last
sub I5, I4, I2
- print I3 # These create PMCs that need early DOD, so we need
+ print I3 # These create PMCs that need early GC, so we need
print I5 # to put them after the second sweep op.
end
CODE
Modified: branches/rename_pccinvoke/t/op/interp.t
==============================================================================
--- branches/rename_pccinvoke/t/op/interp.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/interp.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -75,8 +75,8 @@
dos
OUTPUT
-# Need to disable DOD while trace is on, as there's a non-zero chance that a
-# DOD sweep would occur, causing a bonus "DOD" line in the output, which makes
+# Need to disable GC while trace is on, as there's a non-zero chance that a
+# GC sweep would occur, causing a bonus "GC mark" line in the output, which makes
# the test fail.
pasm_output_like(
<<'CODE', <<'OUTPUT', "restart trace" );
Modified: branches/rename_pccinvoke/t/op/jitn.t
==============================================================================
--- branches/rename_pccinvoke/t/op/jitn.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/jitn.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -7,6 +7,7 @@
use lib qw( . lib ../lib ../../lib );
use Test::More;
use Parrot::Test tests => 14;
+use Parrot::Config;
=head1 NAME
@@ -23,6 +24,8 @@
=cut
+my $output;
+
pasm_output_is( <<'CODE', <<'OUTPUT', "sub_n_n_n 1,2,3 mapped" );
set N0,0
set N1,1
@@ -320,7 +323,8 @@
123
OUT
-pasm_output_is( <<'CODE', <<'OUTPUT', "rounding due to mapped" );
+$output = $PConfig{numvalsize} < 16 ? "zero\n" : "not zero\n";
+pasm_output_is( <<'CODE', $output, "rounding due to mapped" );
set N0, 15
mul N0, N0, 0.1
sub N0, 1.5
@@ -330,8 +334,6 @@
print "zero\n"
end
CODE
-zero
-OUTPUT
# Local Variables:
# mode: cperl
Modified: branches/rename_pccinvoke/t/op/number.t
==============================================================================
--- branches/rename_pccinvoke/t/op/number.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/number.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -7,6 +7,7 @@
use lib qw( . lib ../lib ../../lib );
use Test::More;
use Parrot::Test tests => 56;
+use Parrot::Config;
=head1 NAME
@@ -22,6 +23,8 @@
=cut
+my $output;
+
pasm_output_is( <<CODE, <<OUTPUT, "set_n_nc" );
set N0, 1.0
set N1, 4.0
@@ -1078,19 +1081,21 @@
0.5
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "sqrt_n_n" );
+# long double succeeds
+$output = $PConfig{numvalsize} == 8
+ ? '1.4142135623731
+1.41421356237309
+' : '1.4142135623731
+1.4142135623731
+';
+pasm_output_is( <<'CODE', $output, "sqrt_n_n" );
set N1, 2
sqrt N2, N1
- print N2
- print "\n"
+ say N2
sqrt N2, 2.0
- print N2
- print "\n"
+ say N2
end
CODE
-1.4142135623731
-1.41421356237309
-OUTPUT
pasm_error_output_like( <<'CODE', <<OUTPUT, "div_n_n by zero" );
set N0, 0
Modified: branches/rename_pccinvoke/t/op/string_mem.t
==============================================================================
--- branches/rename_pccinvoke/t/op/string_mem.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/op/string_mem.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -72,19 +72,19 @@
init = stringinfo $S6, .STRINGINFO_STRSTART
- $I0 = interpinfo .INTERPINFO_COLLECT_RUNS
+ $I0 = interpinfo .INTERPINFO_GC_COLLECT_RUNS
loop1:
collect
- $I1 = interpinfo .INTERPINFO_COLLECT_RUNS
+ $I1 = interpinfo .INTERPINFO_GC_COLLECT_RUNS
eq $I0, $I1, loop1
before = stringinfo $S6, .STRINGINFO_STRSTART
unpin $S6
- $I0 = interpinfo .INTERPINFO_COLLECT_RUNS
+ $I0 = interpinfo .INTERPINFO_GC_COLLECT_RUNS
loop2:
collect
- $I1 = interpinfo .INTERPINFO_COLLECT_RUNS
+ $I1 = interpinfo .INTERPINFO_GC_COLLECT_RUNS
eq $I0, $I1, loop1
after = stringinfo $S6, .STRINGINFO_STRSTART
Modified: branches/rename_pccinvoke/t/perl/Parrot_Distribution.t
==============================================================================
--- branches/rename_pccinvoke/t/perl/Parrot_Distribution.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/perl/Parrot_Distribution.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -6,7 +6,7 @@
use warnings;
use lib qw( . lib ../lib ../../lib );
-use Test::More tests => 29;
+use Test::More tests => 28;
use File::Spec;
=head1 NAME
@@ -54,7 +54,6 @@
my @old_directory_list = (
'languages/APL/src/pmc',
'languages/dotnet/pmc',
- 'languages/lua/src/pmc',
map { File::Spec->catdir( 'src', $_ ) } qw(dynpmc pmc)
);
Modified: branches/rename_pccinvoke/t/pmc/float.t
==============================================================================
--- branches/rename_pccinvoke/t/pmc/float.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/pmc/float.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -506,7 +506,7 @@
TODO: {
my @todo;
@todo = ( todo => '-0.0 not implemented, TT #313' )
- if $^O =~ m/(?:openbsd|win32)/i;
+ if $^O =~ m/(?:openbsd|mswin32)/i;
pasm_output_like( <<'CODE', <<'OUTPUT', 'neg 0', @todo );
new P0, ['Float']
Modified: branches/rename_pccinvoke/t/pmc/io.t
==============================================================================
--- branches/rename_pccinvoke/t/pmc/io.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/pmc/io.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -106,12 +106,12 @@
OUTPUT
pasm_output_is( <<"CODE", <<'OUTPUT', "timely destruction" );
- interpinfo I0, 2 # DOD runs
+ interpinfo I0, 2 # GC mark runs
open P0, "$temp_file", 'w'
needs_destroy P0
print P0, "a line\\n"
null P0 # kill it
- sweep 0 # a lazy DOD has to close the PIO
+ sweep 0 # a lazy GC has to close the PIO
open P0, "$temp_file", 'r'
read S0, P0, 20
print S0
Modified: branches/rename_pccinvoke/t/pmc/os.t
==============================================================================
--- branches/rename_pccinvoke/t/pmc/os.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/pmc/os.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -13,6 +13,7 @@
my $MSWin32 = $^O =~ m!MSWin32!;
my $cygwin = $^O =~ m!cygwin!;
+my $solaris = $^O =~ m!solaris!;
my $MSVC = grep { $PConfig{cc} eq $_ } (qw(cl cl.exe));
=head1 NAME
@@ -37,7 +38,23 @@
# test 'cwd'
my $cwd = File::Spec->canonpath(getcwd);
-pir_output_is( <<'CODE', <<"OUT", 'Test cwd' );
+if (File::Spec->case_tolerant(substr($cwd,0,2))) {
+ $cwd = lc($cwd);
+ pir_output_is( <<'CODE', <<"OUT", 'Test cwd' );
+.sub main :main
+ $P1 = new ['OS']
+ $S1 = $P1."cwd"()
+ $S2 = downcase $S1
+ print $S2
+ print "\n"
+ end
+.end
+CODE
+$cwd
+OUT
+}
+else {
+ pir_output_is( <<'CODE', <<"OUT", 'Test cwd' );
.sub main :main
$P1 = new ['OS']
$S1 = $P1."cwd"()
@@ -48,13 +65,18 @@
CODE
$cwd
OUT
+}
# TEST chdir
chdir "src";
my $upcwd = File::Spec->canonpath(getcwd);
chdir '..';
-pir_output_is( <<'CODE', <<"OUT", 'Test chdir' );
+if (File::Spec->case_tolerant(substr($cwd,0,2))) {
+ $cwd = lc($cwd);
+ $upcwd = lc($upcwd);
+
+ pir_output_is( <<'CODE', <<"OUT", 'Test chdir' );
.sub main :main
$P1 = new ['OS']
@@ -62,15 +84,39 @@
$P1."chdir"($S1)
$S1 = $P1."cwd"()
- print $S1
- print "\n"
+ $S2 = downcase $S1
+ say $S2
$S1 = ".."
$P1."chdir"($S1)
$S1 = $P1."cwd"()
- print $S1
- print "\n"
+ $S2 = downcase $S1
+ say $S2
+
+ end
+.end
+CODE
+$upcwd
+$cwd
+OUT
+}
+else {
+ pir_output_is( <<'CODE', <<"OUT", 'Test chdir' );
+.sub main :main
+ $P1 = new ['OS']
+
+ $S1 = "src"
+ $P1."chdir"($S1)
+
+ $S1 = $P1."cwd"()
+ say $S1
+
+ $S1 = ".."
+ $P1."chdir"($S1)
+
+ $S1 = $P1."cwd"()
+ say $S1
end
.end
@@ -78,13 +124,16 @@
$upcwd
$cwd
OUT
+}
# Test mkdir
my $xpto = $upcwd;
$xpto =~ s/src([\/\\]?)$/xpto$1/;
-pir_output_is( <<'CODE', <<"OUT", 'Test mkdir' );
+if (File::Spec->case_tolerant(substr($cwd,0,2))) {
+
+ pir_output_is( <<'CODE', <<"OUT", 'Test mkdir' );
.sub main :main
$P1 = new ['OS']
@@ -94,15 +143,41 @@
$P1."chdir"($S1)
$S1 = $P1."cwd"()
- print $S1
- print "\n"
+ $S2 = downcase $S1
+ say $S2
$S1 = ".."
$P1."chdir"($S1)
$S1 = $P1."cwd"()
- print $S1
- print "\n"
+ $S2 = downcase $S1
+ say $S2
+
+ end
+.end
+CODE
+$xpto
+$cwd
+OUT
+}
+else {
+ pir_output_is( <<'CODE', <<"OUT", 'Test mkdir' );
+.sub main :main
+ $P1 = new ['OS']
+
+ $S1 = "xpto"
+ $I1 = 0o555
+ $P1."mkdir"($S1,$I1)
+ $P1."chdir"($S1)
+
+ $S1 = $P1."cwd"()
+ say $S1
+
+ $S1 = ".."
+ $P1."chdir"($S1)
+
+ $S1 = $P1."cwd"()
+ say $S1
end
.end
@@ -110,6 +185,7 @@
$xpto
$cwd
OUT
+}
# Test remove on a directory
mkdir "xpto" unless -d "xpto";
@@ -163,6 +239,9 @@
.end
CODE
} else {
+ TODO: {
+ local $TODO = "stat on solaris" if $solaris;
+
$stat = sprintf("0x%08x\n" x 13, @s);
pir_output_is( <<'CODE', $stat, 'Test OS.stat' );
.sub main :main
@@ -178,6 +257,7 @@
.end
CODE
}
+}
# test readdir
SKIP: {
@@ -222,7 +302,7 @@
my $lstat;
SKIP: {
- skip 'lstat not available on Win 32 yet', 1 if $MSWin32;
+ skip 'lstat not on Win32, faling on solaris', 1 if $MSWin32 or $solaris;
my @s = lstat('xpto');
if ($cygwin) {
Modified: branches/rename_pccinvoke/t/src/embed.t
==============================================================================
--- branches/rename_pccinvoke/t/src/embed.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/src/embed.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
#! perl
-# Copyright (C) 2001-2008, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
# $Id$
use strict;
@@ -8,23 +8,63 @@
use Test::More;
use Parrot::Test;
-plan skip_all => 'TT #306; many symbols not exported, embedding parrot fails';
+plan tests => 2;
=head1 NAME
-t/src/compiler.t - Compile and run a PIR program from C.
+t/src/embed.t - Embedding parrot
=head1 SYNOPSIS
- % prove t/src/compiler.t
+ % prove t/src/embed.t
=head1 DESCRIPTION
-Show steps to run a program from C. Functionality should be
-gathered in some API calls..
+Embedding parrot in C
=cut
+c_output_is( <<'CODE', <<'OUTPUT', "Hello world" );
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "parrot/embed.h"
+#include "parrot/extend.h"
+
+void fail(const char *msg);
+
+void fail(const char *msg)
+{
+ fprintf(stderr, "failed: %s\n", msg);
+ exit(EXIT_FAILURE);
+}
+
+int main(void)
+{
+ Parrot_Interp interp;
+ interp = Parrot_new(NULL);
+ if (! interp)
+ fail("Cannot create parrot interpreter");
+
+ Parrot_printf(interp, "Hello, parrot\n");
+
+ Parrot_exit(interp, 0);
+ return 0;
+}
+CODE
+Hello, parrot
+OUTPUT
+
+
+# Old tests, skipped al
+
+SKIP: {
+
+ skip('TT #306; many symbols not exported, embedding parrot fails', 1);
+
+########################################################################
+
c_output_is( <<'CODE', <<'OUTPUT', "Parrot Compile API Single call" );
#include <stdio.h>
@@ -467,6 +507,8 @@
Pir compiler returned no prog
OUTPUT
+}
+
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
Modified: branches/rename_pccinvoke/t/src/extend.t
==============================================================================
--- branches/rename_pccinvoke/t/src/extend.t Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/t/src/extend.t Fri Feb 13 23:29:44 2009 (r36699)
@@ -440,11 +440,11 @@
static opcode_t*
the_test(PARROT_INTERP, opcode_t *cur_op, opcode_t *start)
{
- PackFile *pf = Parrot_readbc(interp, "$temp_pbc");
+ PackFile *pf = Parrot_pbc_read(interp, "$temp_pbc", 0);
STRING *name = Parrot_str_new_constant(interp, "_sub1");
PMC *sub, *arg;
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
sub = Parrot_find_global_cur(interp, name);
Parrot_call_sub(interp, sub, "v");
Parrot_eprintf(interp, "back\\n");
@@ -514,12 +514,12 @@
static opcode_t*
the_test(PARROT_INTERP, opcode_t *cur_op, opcode_t *start)
{
- PackFile *pf = Parrot_readbc(interp, "$temp_pbc");
+ PackFile *pf = Parrot_pbc_read(interp, "$temp_pbc", 0);
STRING *name = Parrot_str_new_constant(interp, "_sub1");
PMC *sub;
Parrot_runloop jump_point;
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
sub = Parrot_find_global_cur(interp, name);
if (setjmp(jump_point.resume)) {
@@ -602,14 +602,14 @@
return 1;
}
- packfile = Parrot_readbc( interp, "$temp_pbc" );
+ packfile = Parrot_pbc_read( interp, "$temp_pbc", 0 );
if (!packfile) {
printf( "Boo\\n" );
return 1;
}
- Parrot_loadbc( interp, packfile );
+ Parrot_pbc_load( interp, packfile );
Parrot_runcode( interp, 1, code );
Parrot_destroy( interp );
@@ -684,8 +684,8 @@
return 1;
}
- pf = Parrot_readbc( interp, "$temp_pbc" );
- Parrot_loadbc( interp, pf );
+ pf = Parrot_pbc_read( interp, "$temp_pbc", 0 );
+ Parrot_pbc_load( interp, pf );
sub = Parrot_find_global_cur( interp, Parrot_str_new_constant( interp, "add" ) );
result = Parrot_call_sub( interp, sub, "III", 100, 200 );
Copied: branches/rename_pccinvoke/t/steps/auto_neg_0-01.t (from r36697, trunk/t/steps/auto_neg_0-01.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/rename_pccinvoke/t/steps/auto_neg_0-01.t Fri Feb 13 23:29:44 2009 (r36699, copy of r36697, trunk/t/steps/auto_neg_0-01.t)
@@ -0,0 +1,116 @@
+#! perl
+# Copyright (C) 2009, The Perl Foundation.
+# $Id$
+# auto_neg_0-01.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 21;
+use Carp;
+
+use lib qw( lib t/configure/testlib );
+
+use_ok('config::init::defaults');
+use_ok('config::auto::neg_0');
+
+use Parrot::Configure;
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Test qw(
+ test_step_thru_runstep
+ rerun_defaults_for_testing
+ test_step_constructor_and_description
+);
+use IO::CaptureOutput 'capture';
+
+########### regular ###########
+
+my ($args, $step_list_ref) = process_options(
+ {
+ argv => [ ],
+ mode => 'configure',
+ }
+);
+
+my $conf = Parrot::Configure->new;
+
+test_step_thru_runstep( $conf, 'init::defaults', $args );
+my $pkg = 'auto::neg_0';
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, 'runstep() returned true value' );
+ok( defined $step->result(), 'A result has been defined');
+
+$conf->replenish($serialized);
+
+##### _evaluate_cc_run() #####
+
+($args, $step_list_ref) = process_options(
+ {
+ argv => [ ],
+ mode => 'configure',
+ }
+);
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+
+my $d_neg_0;
+
+$d_neg_0 = '-0';
+
+ok( $step->_evaluate_cc_run($conf, $d_neg_0),
+ '_evaluate_cc_run() completed satisfactorily' );
+
+is( $step->result(), 'yes', 'Got expected result');
+is( $conf->data->get('has_negative_zero'), 1,
+ 'has_negative_zero set as expected' );
+
+$d_neg_0 = '0';
+
+ok( !$step->_evaluate_cc_run($conf, $d_neg_0),
+ '_evaluate_cc_run() completed satisfactorily' );
+is( $step->result(), 'no', 'Got expected result' );
+
+is( $conf->data->get('has_negative_zero'), 0,
+ "has_negative_zero set as expected" );
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto_neg_0-01.t - test auto::neg_0
+
+=head1 SYNOPSIS
+
+ % prove t/steps/auto_neg_0-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::neg_0.
+
+=head1 AUTHOR
+
+Reini Urban
+
+=head1 SEE ALSO
+
+config::auto::neg_0, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Modified: branches/rename_pccinvoke/tools/build/vtable_extend.pl
==============================================================================
--- branches/rename_pccinvoke/tools/build/vtable_extend.pl Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/build/vtable_extend.pl Fri Feb 13 23:29:44 2009 (r36699)
@@ -90,7 +90,7 @@
/* HEADERIZER STOP */
/* Some internal notes. Parrot will die a horrible and bizarre death
- if the stack start pointer's not set and a DOD run is
+ if the stack start pointer's not set and a GC run is
triggered. The pointer *will* be set by the interpreter if the
interpreter calls code which calls these functions, so most
extension code is safe, no problem.
Modified: branches/rename_pccinvoke/tools/dev/mk_inno.pl
==============================================================================
--- branches/rename_pccinvoke/tools/dev/mk_inno.pl Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/dev/mk_inno.pl Fri Feb 13 23:29:44 2009 (r36699)
@@ -1,5 +1,5 @@
#! perl
-# Copyright (C) 2005-2008, The Perl Foundation.
+# Copyright (C) 2005-2009, The Perl Foundation.
# $Id$
=head1 TITLE
@@ -56,12 +56,12 @@
or die "Can't open $filename ($!)";
print $OUT qq{
-; generated by tools/dev/mk_setup.pl for the Inno Setup Script Compiler.
+; generated by tools/dev/mk_inno.pl for the Inno Setup Script Compiler.
[Setup]
AppName=Parrot
AppVerName=Parrot-$version
-AppPublisher=The Parrot Foundation
+AppPublisher=Parrot Foundation
AppPublisherURL=http://www.parrot.org/
AppSupportURL=http://www.parrot.org/
AppUpdatesURL=http://www.parrot.org/
Copied: branches/rename_pccinvoke/tools/dev/mk_inno_language.pl (from r36697, trunk/tools/dev/mk_inno_language.pl)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/rename_pccinvoke/tools/dev/mk_inno_language.pl Fri Feb 13 23:29:44 2009 (r36699, copy of r36697, trunk/tools/dev/mk_inno_language.pl)
@@ -0,0 +1,96 @@
+#! perl
+# Copyright (C) 2009, The Perl Foundation.
+# $Id$
+
+=head1 TITLE
+
+tools/dev/mk_inno_language.pl - Create a script for Inno Setup
+
+=head1 SYNOPSIS
+
+ % perl tools/dev/mk_inno_language.pl lang
+
+=head1 SEE ALSO
+
+http://www.jrsoftware.org/
+
+=cut
+
+use strict;
+use warnings;
+use lib qw( lib ../lib ../../lib );
+use Parrot::Config;
+
+unless (@ARGV) {
+ die "usage: $0 language\n";
+}
+
+## determine the language we're trying to build
+my $lang = $ARGV[0];
+my $lclang = lc $lang;
+my $uclang = ucfirst $lang;
+
+my $version = $PConfig{VERSION} . $PConfig{DEVEL};
+
+my $prefix = $PConfig{prefix};
+$prefix =~ s/\//\\/g;
+
+my @now = gmtime;
+my $date = sprintf("%04d%02d%02d", 1900 + $now[5], 1 + $now[4], $now[3]);
+
+my $license = (-f "languages/$lang/LICENSE")
+ ? "languages\\$lang\\LICENSE"
+ : '.\\LICENSE';
+
+my $exe = <languages/$lang/*.exe>
+ ? qq{Source: ".\\languages\\$lang\\*.exe"; DestDir: "{app}\\bin"; Flags:}
+ : '; no .exe';
+my $cmd = <languages/$lang/*.cmd>
+ ? qq{Source: ".\\languages\\$lang\\*.cmd"; DestDir: "{app}\\bin"; Flags:}
+ : '; no .cmd';
+my $pmc = <languages/$lang/src/pmc/*.pmc>
+ ? qq{Source: ".\\languages\\$lang\\src\\pmc\\*.dll"; DestDir: "{app}\\lib\\parrot\\dynext"; Flags:}
+ : '; no pmc';
+my $ops = <languages/$lang/src/ops/*.ops>
+ ? qq{Source: ".\\languages\\$lang\\src\\ops\\*.dll"; DestDir: "{app}\\lib\\parrot\\dynext"; Flags:}
+ : '; no ops';
+
+my $filename = 'parrot-' . $lclang . '.iss';
+open my $OUT, '>', $filename
+ or die "Can't open $filename ($!)";
+
+print $OUT qq{
+; generated by tools/dev/mk_inno_language.pl for the Inno Setup Script Compiler.
+
+[Setup]
+AppName=Parrot-$uclang
+AppVerName=Parrot-$version-$uclang-$date
+AppPublisher=Parrot Foundation
+AppPublisherURL=http://www.parrot.org/
+DefaultDirName={sd}$prefix
+DefaultGroupName=Parrot
+AllowNoIcons=yes
+LicenseFile=$license
+OutputDir=.\\
+OutputBaseFilename=setup-parrot-$version-$lclang-$date
+Compression=lzma
+SolidCompression=yes
+Uninstallable=no
+
+[Files]
+Source: ".\\languages\\$lang\\*.pbc"; DestDir: "{app}\\languages\\$lang"; Flags:
+$exe
+$cmd
+$pmc
+$ops
+
+};
+
+close $OUT;
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Modified: branches/rename_pccinvoke/tools/dev/mk_native_pbc
==============================================================================
--- branches/rename_pccinvoke/tools/dev/mk_native_pbc Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/dev/mk_native_pbc Fri Feb 13 23:29:44 2009 (r36699)
@@ -12,10 +12,11 @@
# update the VERSION and rm .parrot_current_rev
# _1 i386 32 bit opcode_t, 32 bit intval (linux-gcc-ix86, freebsd-gcc, cygwin)
-# _2 i386 32 bit opcode_t, 32 bit intval, long double (linux-gcc-ix86)
+# _2 i386 32 bit opcode_t, 32 bit intval, 12 bit long double (linux-gcc-ix86)
# _3 PPC BE 32 bit opcode_t, 32 bit intval (darwin-ppc)
# _4 x86_64 double float 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
-# _5 big-endian 64-bit (irix or similar)
+# _5 x86_64 16 bit long double 64 bit opcode_t (linux-gcc-x86_64, solaris-cc-64int)
+# _6 big-endian 64-bit (irix or similar)
#tests:
#parrot -o i.pbc -a - <<EOF
@@ -39,25 +40,28 @@
then
if [ "$byteorder" == "1234" ]
then
+ echo "1: i386 32 bit opcode_t, 32 bit intval"
N=1
if [ "$(perl -V:uselongdouble)" == "uselongdouble='define';" ]; then
enable_long_double=1
- conf=" --floatval=double"
+ # force double on 2nd run not to default to long double
+ conf=" --floatval='double'"
fi
else
if [ "$byteorder" == "4321" ]
then
+ echo "3: PPC BE 32 bit opcode_t, 32 bit intval"
N=3
else
if [ "$byteorder" == "12345678" \
-a "$(perl -V:osname)" == "osname='cygwin';" ]
then
- echo "detected cygwin use64bitint: ok"
+ echo "1: cygwin use64bitint"
N=1
exe=.exe
else
- echo "unsupported perl -V:byteorder $byteorder"
- exit 1
+ echo "Sorry, unsupported perl - parrot ptrsize mismatch."
+ exit
fi
fi
fi
@@ -66,9 +70,12 @@
then
if [ "$byteorder" == "12345678" ]
then
+ echo "4+5: x86_64 double float 64 bit opcode_t + long double"
N=4
+ enable_long_double=1
else
- N=5
+ echo "6: big-endian 64-bit"
+ N=6
fi
else
echo "unsupported perl -V:ptrsize $ptrsize"
@@ -83,18 +90,11 @@
fi
tail myconfig
make -s || exit 1
+ M=$((N+1))
[ -e t/op/number_1.pasm ] || perl t/harness t/op/number.t
- [ -e t/op/string_133.pasm ] || perl t/harness t/op/string.t
- ./parrot -o t/native_pbc/integer_2.pbc -a - <<EOF
-print 0x10203040
-end
-EOF
- [ $? -le 0 ] && echo "t/native_pbc/integer_2.pbc updated"
- ./parrot -o t/native_pbc/number_2.pbc t/op/number_1.pasm && echo "t/native_pbc/number_2.pbc updated"
- ./parrot -o t/native_pbc/string_2.pbc t/op/string_133.pasm && echo "t/native_pbc/string_2.pbc updated"
-
+ ./parrot -o t/native_pbc/number_${M}.pbc t/op/number_1.pasm && echo "t/native_pbc/number_${M}.pbc updated"
make pbc_dump$exe
- ./pbc_dump -h t/native_pbc/number_2.pbc
+ ./pbc_dump -h t/native_pbc/number_${M}.pbc
fi
if [ "$1" != "--noconf" ]; then
Modified: branches/rename_pccinvoke/tools/dev/pbc_to_exe.pir
==============================================================================
--- branches/rename_pccinvoke/tools/dev/pbc_to_exe.pir Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/dev/pbc_to_exe.pir Fri Feb 13 23:29:44 2009 (r36699)
@@ -69,7 +69,7 @@
do_sub_pragmas(interp, pf->cur_cs, PBC_PBC, NULL);
- Parrot_loadbc(interp, pf);
+ Parrot_pbc_load(interp, pf);
PackFile_fixup_subs(interp, PBC_MAIN, NULL);
Parrot_runcode(interp, argc, argv);
Modified: branches/rename_pccinvoke/tools/install/smoke.pl
==============================================================================
--- branches/rename_pccinvoke/tools/install/smoke.pl Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/install/smoke.pl Fri Feb 13 23:29:44 2009 (r36699)
@@ -71,6 +71,7 @@
my $out;
my $FH;
my $parrot = catfile($bindir, 'parrot');
+my $pirc = catfile($bindir, 'pirc');
#
# parrot executable
@@ -99,6 +100,19 @@
ok($out =~ /^\n## <::TOP>/, "check PGE");
unlink($filename);
+$filename = 'test.pir';
+open $FH, '>', $filename
+ or die "Can't open $filename ($!).\n";
+print $FH <<'PIR';
+.sub main
+ say "hello world!"
+.end
+PIR
+close $FH;
+$out = `$pirc -n $filename`;
+ok($out eq "ok\n", "check pirc");
+unlink($filename);
+
# compilers/tge is typically not installed
$filename = 'test.tg';
open $FH, '>', $filename
@@ -188,12 +202,6 @@
ok($out eq "HAI WORLD!\n", "check lolcode");
unlink($filename);
-$out = `$parrot languages/lua/lua.pbc -e "print(nil)"`;
-ok($out eq "nil\n", "check lua");
-
-$out = `$parrot languages/ook/ook.pbc`;
-ok($out eq q{}, "check ook");
-
$filename = 'test.l';
open $FH, '>', $filename
or die "Can't open $filename ($!).\n";
Modified: branches/rename_pccinvoke/tools/util/dump_pbc.pl
==============================================================================
--- branches/rename_pccinvoke/tools/util/dump_pbc.pl Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/util/dump_pbc.pl Fri Feb 13 23:29:44 2009 (r36699)
@@ -70,9 +70,12 @@
my %cache;
foreach (@dis) {
- if (/^Current Source Filename (.*)/) {
- if ($cur_file ne $1) {
- $cur_file = $1;
+ if (/^(?:# )?Current Source Filename (.*)/) {
+ my $found = $1;
+ $found =~ s/^'//;
+ $found =~ s/'$//;
+ if ($cur_file ne $found) {
+ $cur_file = $found;
$cache{$cur_file} ||= slurp_file($cur_file);
$cur_line = -1;
Modified: branches/rename_pccinvoke/tools/util/templates.json
==============================================================================
--- branches/rename_pccinvoke/tools/util/templates.json Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/tools/util/templates.json Fri Feb 13 23:29:44 2009 (r36699)
@@ -49,7 +49,7 @@
Bug Day
On @bugday.day@, @bugday.date@, please join us on IRC in #parrot
-(irc.perl.org) to work on closing out as many RT (https://rt.perl.org/
+(irc.parrot.org) to work on closing out as many RT (https://rt.perl.org/
rt3/) tickets as possible in the parrot queue. This will help us get
ready for the next release of parrot: @release.version@, scheduled for @release.day@,
@release.date at . You'll find C, parrot assembly, perl, documentation,
Modified: branches/rename_pccinvoke/xconf/samples/testfoobar
==============================================================================
--- branches/rename_pccinvoke/xconf/samples/testfoobar Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/xconf/samples/testfoobar Fri Feb 13 23:29:44 2009 (r36699)
@@ -48,6 +48,7 @@
auto::memalign
auto::signal
auto::socklen_t
+auto::neg_0
auto::env
auto::gmp
auto::readline
@@ -58,6 +59,7 @@
auto::gettext
auto::snprintf
# auto::perldoc
+# auto::pod2man
auto::ctags
auto::revision
auto::icu
Modified: branches/rename_pccinvoke/xconf/samples/yourfoobar
==============================================================================
--- branches/rename_pccinvoke/xconf/samples/yourfoobar Fri Feb 13 23:21:16 2009 (r36698)
+++ branches/rename_pccinvoke/xconf/samples/yourfoobar Fri Feb 13 23:29:44 2009 (r36699)
@@ -56,6 +56,7 @@
auto::memalign
auto::signal
auto::socklen_t
+auto::neg_0
auto::env
auto::gmp
auto::readline
@@ -66,6 +67,7 @@
auto::gettext
auto::snprintf
# auto::perldoc
+# auto::pod2man
auto::ctags
auto::revision
auto::icu
More information about the parrot-commits
mailing list