[svn:parrot] r46416 - in branches/codestring: . compilers/imcc config/auto/zlib include/parrot ports/fedora/2.3.0 ports/suse/2.2.0 src src/dynpmc src/interp src/pmc src/runcore src/string t/compilers/imcc/syn t/dynpmc t/library t/oo t/pmc t/src tools/dev
coke at svn.parrot.org
coke at svn.parrot.org
Sat May 8 21:42:01 UTC 2010
Author: coke
Date: Sat May 8 21:42:00 2010
New Revision: 46416
URL: https://trac.parrot.org/parrot/changeset/46416
Log:
merge latest from trunk
Modified:
branches/codestring/ (props changed)
branches/codestring/.gitignore
branches/codestring/compilers/imcc/imcc.y
branches/codestring/compilers/imcc/imcparser.c
branches/codestring/compilers/imcc/imcparser.h
branches/codestring/compilers/imcc/pbc.c
branches/codestring/config/auto/zlib/ (props changed)
branches/codestring/include/parrot/hash.h
branches/codestring/include/parrot/runcore_trace.h (props changed)
branches/codestring/ports/fedora/2.3.0/ (props changed)
branches/codestring/ports/suse/2.2.0/ (props changed)
branches/codestring/src/dynpmc/gziphandle.pmc
branches/codestring/src/hash.c
branches/codestring/src/interp/inter_create.c (props changed)
branches/codestring/src/packout.c
branches/codestring/src/pmc/stringbuilder.pmc
branches/codestring/src/runcore/cores.c (props changed)
branches/codestring/src/runcore/trace.c (props changed)
branches/codestring/src/string/api.c
branches/codestring/t/compilers/imcc/syn/regressions.t
branches/codestring/t/dynpmc/gziphandle.t
branches/codestring/t/library/p6object.t
branches/codestring/t/oo/metamodel.t
branches/codestring/t/pmc/bigint.t
branches/codestring/t/pmc/class.t
branches/codestring/t/pmc/default.t
branches/codestring/t/pmc/packfile.t
branches/codestring/t/pmc/stringbuilder.t
branches/codestring/t/src/embed.t (props changed)
branches/codestring/tools/dev/fetch_languages.pl
branches/codestring/tools/dev/mk_gitignore.pl (props changed)
Modified: branches/codestring/.gitignore
==============================================================================
--- branches/codestring/.gitignore Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/.gitignore Sat May 8 21:42:00 2010 (r46416)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_gitignore.pl Sat Apr 24 05:11:34 2010 UT
+# generated by tools/dev/mk_gitignore.pl Sat May 8 12:30:31 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository.
@@ -129,6 +129,7 @@
# generated from svn:ignore of 'docs/'
/docs/*.tmp
/docs/Makefile
+/docs/build
/docs/doc-prep
/docs/html
/docs/packfile-c.pod
@@ -289,6 +290,8 @@
/runtime/parrot/library/OpenGL_funcs.pir
/runtime/parrot/library/PAST
/runtime/parrot/library/config.pir
+# generated from svn:ignore of 'runtime/parrot/library/Archive/'
+/runtime/parrot/library/Archive/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/CGI/'
/runtime/parrot/library/CGI/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Config/'
@@ -397,6 +400,7 @@
/src/dynpmc/*.h
/src/dynpmc/*.ilk
/src/dynpmc/*.lib
+/src/dynpmc/*.mak
/src/dynpmc/*.manifest
/src/dynpmc/*.o
/src/dynpmc/*.obj
Modified: branches/codestring/compilers/imcc/imcc.y
==============================================================================
--- branches/codestring/compilers/imcc/imcc.y Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/compilers/imcc/imcc.y Sat May 8 21:42:00 2010 (r46416)
@@ -1399,7 +1399,7 @@
sub_params:
/* empty */ { $$ = 0; } %prec LOW_PREC
- | '\n' { $$ = 0; }
+ | sub_params '\n' { $$ = 0; }
| sub_params sub_param '\n'
{
if (IMCC_INFO(interp)->adv_named_id) {
Modified: branches/codestring/compilers/imcc/imcparser.c
==============================================================================
--- branches/codestring/compilers/imcc/imcparser.c Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/compilers/imcc/imcparser.c Sat May 8 21:42:00 2010 (r46416)
@@ -9,13 +9,12 @@
*/
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.4.2. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
+ Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -57,7 +56,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.1"
+#define YYBISON_VERSION "2.4.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -1155,7 +1154,7 @@
/* Line 189 of yacc.c */
-#line 1148 "compilers/imcc/imcparser.c"
+#line 1147 "compilers/imcc/imcparser.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -1445,7 +1444,7 @@
/* Line 214 of yacc.c */
-#line 1438 "compilers/imcc/imcparser.c"
+#line 1437 "compilers/imcc/imcparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1457,7 +1456,7 @@
/* Line 264 of yacc.c */
-#line 1450 "compilers/imcc/imcparser.c"
+#line 1449 "compilers/imcc/imcparser.c"
#ifdef short
# undef short
@@ -1507,7 +1506,7 @@
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -1743,35 +1742,35 @@
53, 60, 61, 68, 69, 76, 78, 80, 82, 85,
89, 92, 94, 96, 98, 100, 102, 103, 107, 108,
113, 116, 121, 122, 124, 125, 130, 131, 133, 137,
- 141, 144, 145, 146, 147, 158, 159, 161, 165, 166,
- 170, 174, 179, 184, 189, 191, 196, 198, 203, 205,
- 210, 215, 217, 222, 223, 227, 229, 231, 233, 235,
- 237, 239, 241, 245, 246, 248, 249, 259, 260, 263,
- 264, 268, 269, 271, 273, 276, 278, 280, 282, 284,
- 286, 288, 290, 292, 294, 296, 298, 300, 302, 304,
- 310, 314, 318, 322, 326, 332, 338, 339, 343, 346,
- 347, 351, 355, 356, 361, 362, 365, 367, 369, 371,
- 373, 378, 383, 385, 387, 388, 394, 396, 397, 403,
- 404, 407, 411, 412, 415, 419, 423, 427, 428, 434,
- 436, 438, 439, 441, 445, 449, 455, 457, 460, 461,
- 464, 467, 469, 471, 473, 475, 476, 478, 481, 483,
- 485, 489, 492, 494, 498, 501, 502, 504, 506, 508,
- 509, 514, 519, 524, 525, 532, 534, 535, 542, 545,
- 548, 551, 554, 556, 558, 560, 562, 563, 565, 567,
- 569, 571, 573, 577, 582, 588, 595, 602, 610, 614,
- 615, 625, 627, 629, 631, 635, 637, 639, 641, 643,
- 645, 647, 649, 651, 653, 655, 657, 659, 661, 663,
- 665, 667, 669, 671, 673, 675, 677, 679, 681, 683,
- 685, 687, 688, 694, 698, 700, 702, 704, 706, 708,
- 710, 712, 714, 716, 718, 720, 722, 724, 729, 731,
- 733, 735, 737, 741, 745, 749, 753, 754, 760, 761,
- 765, 767, 773, 777, 781, 784, 785, 788, 790, 792,
- 794, 799, 804, 807, 811, 817, 819, 823, 824, 826,
- 828, 835, 841, 846, 851, 858, 864, 866, 868, 870,
- 872, 874, 876, 878, 880, 882, 884, 885, 887, 891,
- 893, 895, 900, 904, 906, 908, 910, 912, 914, 916,
- 918, 920, 922, 924, 926, 927, 930, 931, 934, 936,
- 940, 942, 944, 946, 948, 950, 952, 954, 956, 958
+ 141, 144, 145, 146, 147, 158, 159, 162, 166, 167,
+ 171, 175, 180, 185, 190, 192, 197, 199, 204, 206,
+ 211, 216, 218, 223, 224, 228, 230, 232, 234, 236,
+ 238, 240, 242, 246, 247, 249, 250, 260, 261, 264,
+ 265, 269, 270, 272, 274, 277, 279, 281, 283, 285,
+ 287, 289, 291, 293, 295, 297, 299, 301, 303, 305,
+ 311, 315, 319, 323, 327, 333, 339, 340, 344, 347,
+ 348, 352, 356, 357, 362, 363, 366, 368, 370, 372,
+ 374, 379, 384, 386, 388, 389, 395, 397, 398, 404,
+ 405, 408, 412, 413, 416, 420, 424, 428, 429, 435,
+ 437, 439, 440, 442, 446, 450, 456, 458, 461, 462,
+ 465, 468, 470, 472, 474, 476, 477, 479, 482, 484,
+ 486, 490, 493, 495, 499, 502, 503, 505, 507, 509,
+ 510, 515, 520, 525, 526, 533, 535, 536, 543, 546,
+ 549, 552, 555, 557, 559, 561, 563, 564, 566, 568,
+ 570, 572, 574, 578, 583, 589, 596, 603, 611, 615,
+ 616, 626, 628, 630, 632, 636, 638, 640, 642, 644,
+ 646, 648, 650, 652, 654, 656, 658, 660, 662, 664,
+ 666, 668, 670, 672, 674, 676, 678, 680, 682, 684,
+ 686, 688, 689, 695, 699, 701, 703, 705, 707, 709,
+ 711, 713, 715, 717, 719, 721, 723, 725, 730, 732,
+ 734, 736, 738, 742, 746, 750, 754, 755, 761, 762,
+ 766, 768, 774, 778, 782, 785, 786, 789, 791, 793,
+ 795, 800, 805, 808, 812, 818, 820, 824, 825, 827,
+ 829, 836, 842, 847, 852, 859, 865, 867, 869, 871,
+ 873, 875, 877, 879, 881, 883, 885, 886, 888, 892,
+ 894, 896, 901, 905, 907, 909, 911, 913, 915, 917,
+ 919, 921, 923, 925, 927, 928, 931, 932, 935, 937,
+ 941, 943, 945, 947, 949, 951, 953, 955, 957, 959
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -1792,87 +1791,88 @@
-1, -1, 250, -1, -1, 104, 161, 162, 105, -1,
-1, 154, -1, 26, 164, 4, -1, 125, 258, 126,
-1, 125, 126, -1, -1, -1, -1, 28, 166, 253,
- 167, 187, 4, 168, 169, 182, 74, -1, -1, 4,
- -1, 169, 170, 4, -1, -1, 5, 171, 172, -1,
- 224, 110, 196, -1, 96, 127, 180, 128, -1, 94,
- 127, 114, 128, -1, 94, 127, 110, 128, -1, 97,
- -1, 97, 127, 114, 128, -1, 92, -1, 92, 127,
- 153, 128, -1, 101, -1, 101, 127, 153, 128, -1,
- 99, 127, 114, 128, -1, 100, -1, 100, 127, 153,
- 128, -1, -1, 180, 73, 181, -1, 181, -1, 53,
- -1, 54, -1, 56, -1, 55, -1, 110, -1, 114,
- -1, 125, 258, 126, -1, -1, 210, -1, -1, 76,
- 4, 184, 191, 186, 190, 185, 193, 77, -1, -1,
- 215, 4, -1, -1, 86, 257, 4, -1, -1, 188,
- -1, 189, -1, 188, 189, -1, 88, -1, 89, -1,
- 87, -1, 90, -1, 91, -1, 93, -1, 95, -1,
- 173, -1, 174, -1, 175, -1, 176, -1, 177, -1,
- 178, -1, 179, -1, 78, 257, 73, 257, 4, -1,
- 78, 257, 4, -1, 84, 257, 4, -1, 85, 249,
- 4, -1, 85, 114, 4, -1, 85, 249, 73, 257,
- 4, -1, 85, 114, 73, 257, 4, -1, -1, 191,
- 192, 4, -1, 11, 239, -1, -1, 193, 194, 4,
- -1, 64, 249, 196, -1, -1, 30, 195, 224, 218,
- -1, -1, 196, 197, -1, 18, -1, 19, -1, 20,
- -1, 21, -1, 21, 127, 114, 128, -1, 21, 127,
- 117, 128, -1, 102, -1, 25, -1, -1, 80, 4,
- 199, 202, 81, -1, 206, -1, -1, 82, 4, 201,
- 203, 83, -1, -1, 202, 4, -1, 202, 204, 4,
- -1, -1, 203, 4, -1, 203, 205, 4, -1, 15,
- 257, 240, -1, 16, 257, 240, -1, -1, 208, 127,
- 207, 209, 128, -1, 65, -1, 67, -1, -1, 239,
- -1, 114, 22, 257, -1, 209, 73, 239, -1, 209,
- 73, 114, 22, 257, -1, 212, -1, 210, 212, -1,
- -1, 211, 216, -1, 112, 4, -1, 121, -1, 120,
- -1, 145, -1, 146, -1, -1, 214, -1, 214, 215,
- -1, 215, -1, 103, -1, 213, 220, 4, -1, 1,
- 4, -1, 218, -1, 217, 73, 218, -1, 110, 219,
- -1, -1, 102, -1, 226, -1, 244, -1, -1, 30,
- 221, 224, 217, -1, 31, 114, 73, 249, -1, 31,
- 117, 73, 249, -1, -1, 32, 222, 224, 110, 124,
- 265, -1, 150, -1, -1, 36, 223, 224, 110, 124,
- 265, -1, 66, 236, -1, 10, 255, -1, 118, 250,
- -1, 14, 257, -1, 236, -1, 183, -1, 198, -1,
- 200, -1, -1, 53, -1, 54, -1, 55, -1, 56,
- -1, 110, -1, 249, 124, 257, -1, 249, 124, 228,
- 257, -1, 249, 124, 257, 229, 257, -1, 249, 124,
- 257, 125, 258, 126, -1, 249, 125, 258, 126, 124,
- 257, -1, 249, 124, 129, 225, 125, 258, 126, -1,
- 249, 124, 236, -1, -1, 127, 227, 243, 128, 124,
- 235, 127, 238, 128, -1, 230, -1, 232, -1, 234,
- -1, 249, 124, 14, -1, 130, -1, 131, -1, 132,
- -1, 132, -1, 133, -1, 134, -1, 135, -1, 136,
- -1, 45, -1, 69, -1, 123, -1, 58, -1, 59,
- -1, 60, -1, 61, -1, 62, -1, 63, -1, 51,
- -1, 52, -1, 70, -1, 71, -1, 72, -1, 57,
- -1, 137, -1, 138, -1, 131, -1, -1, 68, 231,
- 127, 243, 128, -1, 249, 233, 257, -1, 37, -1,
- 38, -1, 39, -1, 40, -1, 47, -1, 46, -1,
- 41, -1, 42, -1, 43, -1, 44, -1, 48, -1,
- 49, -1, 50, -1, 249, 124, 118, 159, -1, 110,
- -1, 114, -1, 117, -1, 249, -1, 249, 122, 254,
- -1, 249, 122, 117, -1, 249, 122, 114, -1, 249,
- 122, 249, -1, -1, 235, 237, 127, 238, 128, -1,
- -1, 238, 73, 239, -1, 239, -1, 238, 73, 114,
- 22, 257, -1, 257, 22, 257, -1, 114, 22, 257,
- -1, 257, 240, -1, -1, 240, 241, -1, 17, -1,
- 21, -1, 25, -1, 21, 127, 117, 128, -1, 21,
- 127, 114, 128, -1, 249, 196, -1, 243, 73, 242,
- -1, 243, 73, 114, 22, 249, -1, 242, -1, 114,
- 22, 249, -1, -1, 246, -1, 245, -1, 13, 257,
- 248, 257, 10, 255, -1, 13, 14, 257, 10, 255,
- -1, 13, 257, 247, 255, -1, 12, 257, 247, 255,
- -1, 12, 257, 248, 257, 10, 255, -1, 12, 14,
- 257, 10, 255, -1, 73, -1, 10, -1, 58, -1,
+ 167, 187, 4, 168, 169, 182, 74, -1, -1, 169,
+ 4, -1, 169, 170, 4, -1, -1, 5, 171, 172,
+ -1, 224, 110, 196, -1, 96, 127, 180, 128, -1,
+ 94, 127, 114, 128, -1, 94, 127, 110, 128, -1,
+ 97, -1, 97, 127, 114, 128, -1, 92, -1, 92,
+ 127, 153, 128, -1, 101, -1, 101, 127, 153, 128,
+ -1, 99, 127, 114, 128, -1, 100, -1, 100, 127,
+ 153, 128, -1, -1, 180, 73, 181, -1, 181, -1,
+ 53, -1, 54, -1, 56, -1, 55, -1, 110, -1,
+ 114, -1, 125, 258, 126, -1, -1, 210, -1, -1,
+ 76, 4, 184, 191, 186, 190, 185, 193, 77, -1,
+ -1, 215, 4, -1, -1, 86, 257, 4, -1, -1,
+ 188, -1, 189, -1, 188, 189, -1, 88, -1, 89,
+ -1, 87, -1, 90, -1, 91, -1, 93, -1, 95,
+ -1, 173, -1, 174, -1, 175, -1, 176, -1, 177,
+ -1, 178, -1, 179, -1, 78, 257, 73, 257, 4,
+ -1, 78, 257, 4, -1, 84, 257, 4, -1, 85,
+ 249, 4, -1, 85, 114, 4, -1, 85, 249, 73,
+ 257, 4, -1, 85, 114, 73, 257, 4, -1, -1,
+ 191, 192, 4, -1, 11, 239, -1, -1, 193, 194,
+ 4, -1, 64, 249, 196, -1, -1, 30, 195, 224,
+ 218, -1, -1, 196, 197, -1, 18, -1, 19, -1,
+ 20, -1, 21, -1, 21, 127, 114, 128, -1, 21,
+ 127, 117, 128, -1, 102, -1, 25, -1, -1, 80,
+ 4, 199, 202, 81, -1, 206, -1, -1, 82, 4,
+ 201, 203, 83, -1, -1, 202, 4, -1, 202, 204,
+ 4, -1, -1, 203, 4, -1, 203, 205, 4, -1,
+ 15, 257, 240, -1, 16, 257, 240, -1, -1, 208,
+ 127, 207, 209, 128, -1, 65, -1, 67, -1, -1,
+ 239, -1, 114, 22, 257, -1, 209, 73, 239, -1,
+ 209, 73, 114, 22, 257, -1, 212, -1, 210, 212,
+ -1, -1, 211, 216, -1, 112, 4, -1, 121, -1,
+ 120, -1, 145, -1, 146, -1, -1, 214, -1, 214,
+ 215, -1, 215, -1, 103, -1, 213, 220, 4, -1,
+ 1, 4, -1, 218, -1, 217, 73, 218, -1, 110,
+ 219, -1, -1, 102, -1, 226, -1, 244, -1, -1,
+ 30, 221, 224, 217, -1, 31, 114, 73, 249, -1,
+ 31, 117, 73, 249, -1, -1, 32, 222, 224, 110,
+ 124, 265, -1, 150, -1, -1, 36, 223, 224, 110,
+ 124, 265, -1, 66, 236, -1, 10, 255, -1, 118,
+ 250, -1, 14, 257, -1, 236, -1, 183, -1, 198,
+ -1, 200, -1, -1, 53, -1, 54, -1, 55, -1,
+ 56, -1, 110, -1, 249, 124, 257, -1, 249, 124,
+ 228, 257, -1, 249, 124, 257, 229, 257, -1, 249,
+ 124, 257, 125, 258, 126, -1, 249, 125, 258, 126,
+ 124, 257, -1, 249, 124, 129, 225, 125, 258, 126,
+ -1, 249, 124, 236, -1, -1, 127, 227, 243, 128,
+ 124, 235, 127, 238, 128, -1, 230, -1, 232, -1,
+ 234, -1, 249, 124, 14, -1, 130, -1, 131, -1,
+ 132, -1, 132, -1, 133, -1, 134, -1, 135, -1,
+ 136, -1, 45, -1, 69, -1, 123, -1, 58, -1,
59, -1, 60, -1, 61, -1, 62, -1, 63, -1,
- 119, -1, 264, -1, -1, 251, -1, 251, 73, 252,
- -1, 252, -1, 256, -1, 249, 125, 258, 126, -1,
- 125, 260, 126, -1, 254, -1, 114, -1, 117, -1,
- 110, -1, 118, -1, 110, -1, 118, -1, 255, -1,
- 257, -1, 249, -1, 265, -1, -1, 259, 262, -1,
- -1, 261, 262, -1, 263, -1, 262, 139, 263, -1,
- 257, -1, 106, -1, 107, -1, 108, -1, 109, -1,
- 111, -1, 115, -1, 116, -1, 114, -1, 117, -1
+ 51, -1, 52, -1, 70, -1, 71, -1, 72, -1,
+ 57, -1, 137, -1, 138, -1, 131, -1, -1, 68,
+ 231, 127, 243, 128, -1, 249, 233, 257, -1, 37,
+ -1, 38, -1, 39, -1, 40, -1, 47, -1, 46,
+ -1, 41, -1, 42, -1, 43, -1, 44, -1, 48,
+ -1, 49, -1, 50, -1, 249, 124, 118, 159, -1,
+ 110, -1, 114, -1, 117, -1, 249, -1, 249, 122,
+ 254, -1, 249, 122, 117, -1, 249, 122, 114, -1,
+ 249, 122, 249, -1, -1, 235, 237, 127, 238, 128,
+ -1, -1, 238, 73, 239, -1, 239, -1, 238, 73,
+ 114, 22, 257, -1, 257, 22, 257, -1, 114, 22,
+ 257, -1, 257, 240, -1, -1, 240, 241, -1, 17,
+ -1, 21, -1, 25, -1, 21, 127, 117, 128, -1,
+ 21, 127, 114, 128, -1, 249, 196, -1, 243, 73,
+ 242, -1, 243, 73, 114, 22, 249, -1, 242, -1,
+ 114, 22, 249, -1, -1, 246, -1, 245, -1, 13,
+ 257, 248, 257, 10, 255, -1, 13, 14, 257, 10,
+ 255, -1, 13, 257, 247, 255, -1, 12, 257, 247,
+ 255, -1, 12, 257, 248, 257, 10, 255, -1, 12,
+ 14, 257, 10, 255, -1, 73, -1, 10, -1, 58,
+ -1, 59, -1, 60, -1, 61, -1, 62, -1, 63,
+ -1, 119, -1, 264, -1, -1, 251, -1, 251, 73,
+ 252, -1, 252, -1, 256, -1, 249, 125, 258, 126,
+ -1, 125, 260, 126, -1, 254, -1, 114, -1, 117,
+ -1, 110, -1, 118, -1, 110, -1, 118, -1, 255,
+ -1, 257, -1, 249, -1, 265, -1, -1, 259, 262,
+ -1, -1, 261, 262, -1, 263, -1, 262, 139, 263,
+ -1, 257, -1, 106, -1, 107, -1, 108, -1, 109,
+ -1, 111, -1, 115, -1, 116, -1, 114, -1, 117,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -2038,7 +2038,7 @@
6, 0, 6, 0, 6, 1, 1, 1, 2, 3,
2, 1, 1, 1, 1, 1, 0, 3, 0, 4,
2, 4, 0, 1, 0, 4, 0, 1, 3, 3,
- 2, 0, 0, 0, 10, 0, 1, 3, 0, 3,
+ 2, 0, 0, 0, 10, 0, 2, 3, 0, 3,
3, 4, 4, 4, 1, 4, 1, 4, 1, 4,
4, 1, 4, 0, 3, 1, 1, 1, 1, 1,
1, 1, 3, 0, 1, 0, 9, 0, 2, 0,
@@ -2093,8 +2093,8 @@
0, 0, 76, 77, 79, 78, 80, 81, 324, 0,
75, 0, 0, 0, 0, 55, 0, 0, 41, 39,
0, 0, 324, 0, 67, 63, 62, 0, 0, 61,
- 65, 70, 72, 69, 56, 158, 22, 24, 312, 327,
- 0, 308, 82, 74, 58, 0, 0, 162, 161, 163,
+ 65, 70, 72, 69, 158, 22, 24, 312, 327, 0,
+ 308, 82, 74, 56, 58, 0, 0, 162, 161, 163,
164, 0, 0, 158, 0, 156, 311, 0, 0, 160,
57, 54, 157, 0, 196, 159, 59, 0, 0, 171,
0, 0, 0, 0, 179, 0, 183, 186, 149, 0,
@@ -2136,7 +2136,7 @@
{
-1, 11, 12, 13, 14, 15, 210, 16, 17, 27,
58, 86, 87, 159, 59, 60, 94, 95, 128, 151,
- 18, 29, 61, 19, 25, 20, 26, 84, 175, 195,
+ 18, 29, 61, 19, 25, 20, 26, 84, 175, 194,
211, 217, 226, 113, 114, 115, 116, 117, 118, 119,
169, 170, 212, 251, 329, 502, 435, 120, 121, 122,
473, 377, 436, 519, 532, 539, 308, 362, 252, 330,
@@ -2154,78 +2154,78 @@
#define YYPACT_NINF -424
static const yytype_int16 yypact[] =
{
- 212, -424, -90, -80, -21, -28, -424, -424, 9, -424,
- 118, 151, 212, -424, -424, -424, 149, -424, -424, -424,
- -424, -424, 93, 153, 32, 163, 154, 125, 171, 180,
- -424, -424, -424, -424, 68, -424, -424, 66, 441, -424,
+ 212, -424, -89, -80, -21, -28, -424, -424, -4, -424,
+ 112, 138, 212, -424, -424, -424, 135, -424, -424, -424,
+ -424, -424, 80, 162, 49, 163, 154, 125, 178, 180,
+ -424, -424, -424, -424, 78, -424, -424, 77, 441, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 94, -424, 89, -424, 204, -424, -424, -424, -424, 247,
- -424, 104, -424, 13, 108, -424, 209, -424, -424, -424,
+ 94, -424, 95, -424, 204, -424, -424, -424, -424, 247,
+ -424, 106, -424, 13, 110, -424, 210, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 75, -424, -424, -424, 483, 91, 103, 114, -424, -424,
- -424, 441, 115, -424, 226, 113, -424, -424, 441, -424,
- -424, -424, -424, -424, 106, -424, 109, -424, 119, 121,
+ 76, -424, -424, -424, 483, 104, 103, 115, -424, -424,
+ -424, 441, 116, -424, 227, 117, -424, -424, 441, -424,
+ -424, -424, -424, -424, 109, -424, 118, -424, 119, 121,
122, 123, 124, -424, -424, -424, -424, -424, -424, -424,
- 231, 483, -424, 74, 255, 255, -424, 172, 483, -424,
- 426, -424, -40, -69, 387, 141, 142, -40, -40, -424,
- -424, -424, -424, -424, -424, 133, -424, 134, 152, 159,
- -424, -424, 145, -424, 193, -424, -424, -424, -424, 146,
- 147, 148, -424, -424, -424, -424, -424, -424, -424, -58,
- -424, 160, 161, 162, 174, 273, -40, -40, -424, -424,
+ 251, 483, -424, 74, 255, 255, -424, 160, 483, -424,
+ 426, -424, -40, -69, 387, 142, 143, -40, -40, -424,
+ -424, -424, -424, -424, -424, 134, -424, 139, 151, 167,
+ -424, -424, 141, -424, 201, -424, -424, -424, -424, 147,
+ 148, 149, -424, -424, -424, -424, -424, -424, -424, -58,
+ -424, 152, 159, 161, 174, -424, -40, -40, -424, -424,
156, 441, -424, 426, -424, -424, -424, 165, 387, -424,
- -424, -424, -424, -424, -424, 29, -424, -424, -424, 75,
- 177, -424, -424, -424, -424, 166, 283, -424, -424, -424,
+ -424, -424, -424, -424, 29, -424, -424, -424, 76, 177,
+ -424, -424, -424, -424, -424, 176, 284, -424, -424, -424,
-424, 300, 232, 34, 18, -424, -424, 125, 234, -424,
-424, -424, -424, 304, 229, -424, -424, 203, 74, -424,
- -85, 272, 320, 441, -424, -7, 24, -424, -424, 535,
+ -1, 272, 320, 441, -424, -10, -42, -424, -424, 535,
-424, -424, 313, 314, 315, -424, -424, -424, 426, -424,
-424, -424, -424, -424, -424, 194, 318, -424, -424, -424,
-424, -424, -424, -424, -424, -424, 444, -424, -424, -424,
441, 164, 441, 164, -424, 125, 250, 253, 125, 125,
-424, 205, 215, -424, -424, -424, -424, 549, -424, -424,
- 227, -424, -424, -424, -424, -424, -424, -424, -424, -424,
+ 226, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-424, -424, -424, -424, 396, 54, -424, 441, 38, 322,
- -424, -424, -424, -424, -424, -424, -424, -424, -85, 441,
- 339, -85, 441, 243, 222, 222, 245, 248, 549, -424,
+ -424, -424, -424, -424, -424, -424, -424, -424, -1, 441,
+ 339, -1, 441, 244, 222, 222, 245, 248, 549, -424,
-424, -424, 335, -424, -47, -424, 479, 493, -424, -424,
-424, -424, -424, 233, 249, 426, 265, -424, -424, -424,
- 441, -424, -18, 393, 251, -424, -424, -424, -424, 257,
- -424, -424, -424, -85, -424, 375, -85, -424, 380, 290,
- 321, -424, -424, -424, 269, 274, -37, 2, 8, 4,
- 222, 558, 275, 38, 379, -33, -424, -424, 381, -27,
- -424, 383, -424, -424, 281, -424, -424, -424, -424, -424,
+ 441, -424, -98, 393, 258, -424, -424, -424, -424, 263,
+ -424, -424, -424, -1, -424, 367, -1, -424, 375, 290,
+ 321, -424, -424, -424, 269, 273, -37, 2, 8, 4,
+ 222, 558, 274, 38, 377, -33, -424, -424, 379, -27,
+ -424, 381, -424, -424, 280, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- 441, 284, 84, -424, -85, -424, -85, -424, -424, 243,
- 74, 74, -424, 441, 441, -12, 403, -424, 441, -424,
- 405, -424, 441, -424, 409, -424, 392, -424, 535, 441,
- 507, -424, 131, 441, 521, -424, 441, -424, 271, -424,
+ 441, 282, 84, -424, -1, -424, -1, -424, -424, 244,
+ 74, 74, -424, 441, 441, 73, 403, -424, 441, -424,
+ 404, -424, 441, -424, 405, -424, 391, -424, 535, 441,
+ 507, -424, 131, 441, 521, -424, 441, -424, 288, -424,
441, 289, 291, -424, -424, -424, -424, -424, -424, 416,
- 441, 441, 567, 108, -424, -424, -424, -424, -424, 222,
+ 441, 441, 567, 110, -424, -424, -424, -424, -424, 222,
294, -424, 401, -424, -424, 297, -424, -424, -424, 408,
-424, -424, 299, -424, -424, -424, -424, -424, 5, 442,
6, 17, -424, 443, 131, 131, -424, 493, 441, 85,
441, -424, -424, 441, -424, -424, 441, -424, 441, 41,
-424, -22, -424, 329, 330, -424, 445, 455, 456, -424,
222, -424, 457, -424, -424, -424, -424, -424, -424, 125,
- -424, -424, 243, 38, -424
+ -424, -424, 244, 38, -424
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -424, -424, -424, 436, 10, -166, -424, -424, -424, -424,
- 242, -424, -424, -62, -424, 412, -424, -424, -424, 128,
+ -424, -424, -424, 436, 10, -147, -424, -424, -424, -424,
+ 242, -424, -424, -62, -424, 409, -424, -424, -424, 126,
-424, -424, -424, 23, -424, -424, -424, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- -424, 279, -424, -424, -424, -424, -424, 340, -424, 353,
+ -424, 279, -424, -424, -424, -424, -424, 345, -424, 353,
-424, -424, -424, -424, -424, -424, -330, -424, -424, -424,
-424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
- -424, -424, 263, 282, -424, -63, -424, -424, -423, -424,
+ -424, -424, 264, 262, -424, -63, -424, -424, -423, -424,
-424, -424, -424, -424, -214, -424, -424, -424, -424, -424,
- -424, -424, -424, -424, -424, 31, -225, -424, -30, -320,
- -344, -424, 117, 167, -424, -424, -424, 216, 235, -128,
- 252, -424, 316, -424, 207, -219, -8, -38, -164, -424,
+ -424, -424, -424, -424, -424, 31, -225, -424, -18, -320,
+ -344, -424, 114, 168, -424, -424, -424, 225, 235, -128,
+ 252, -424, 316, -424, 207, -219, -2, -38, -164, -424,
-424, -424, 328, 419, -424, -116
};
@@ -2237,56 +2237,56 @@
static const yytype_int16 yytable[] =
{
79, 96, 152, 227, 187, 383, 465, 141, 441, 512,
- 515, 269, 437, 433, 280, 188, 386, -42, 200, 223,
- 442, 517, -165, 438, 21, 142, 381, 91, -165, 209,
- -165, -165, -165, 143, 204, 22, 381, 3, 4, 57,
+ 515, 269, 437, 433, 280, 188, 386, -42, 199, 223,
+ 442, 517, -165, 438, 304, 21, 381, 91, -165, -261,
+ -165, -165, -165, 203, 204, 22, 381, 3, 4, 57,
450, 160, 3, 4, 92, 161, 454, 209, -165, -165,
-165, 454, 62, 126, -165, 152, 356, 357, 358, 359,
- 79, 323, 205, 360, 326, 327, 470, 205, 342, 57,
- 189, 529, 471, 472, 157, 173, 174, 158, 513, 516,
+ 79, 323, 205, 360, 326, 327, 209, 205, 342, 57,
+ 189, 529, -23, -21, 157, 173, 174, 158, 513, 516,
351, 382, 62, -165, -165, -165, -165, 443, 434, 439,
518, 432, 93, 23, -165, 451, 266, 24, -165, 364,
- -165, 455, 367, -83, 304, 530, 533, 276, -84, -261,
- 277, 281, 268, 468, 196, 197, 145, 147, 531, 544,
- 152, 53, 30, 28, -165, -165, -165, -165, -165, -165,
- 483, 504, -165, 505, 490, -165, -165, -165, -23, -21,
+ -165, 455, 367, -83, 276, 530, 533, 277, -84, 142,
+ 28, 281, 268, 468, 195, 196, 30, 143, 531, 544,
+ 152, 53, 145, 147, -165, -165, -165, -165, -165, -165,
+ 483, 504, -165, 505, 490, -165, -165, -165, 31, 33,
361, 206, 354, 79, 423, -165, 206, 425, 484, 207,
- 208, 31, 485, 33, 207, 208, 486, 35, 36, 335,
- 68, 69, 70, 71, 245, 72, 34, 39, 343, 74,
- 75, 344, 345, 77, 310, 51, 340, 352, 46, 47,
- 48, 49, 66, 346, 347, 348, 349, 2, 73, 74,
- 75, 76, 67, 271, 273, 274, 372, 373, 461, 523,
- 335, 462, 524, -23, 85, 463, 5, 464, 88, 90,
- 543, 53, 52, 97, 98, 123, 1, 152, 124, 2,
- 3, 4, 311, 312, 313, 314, 315, 316, 125, 127,
- 129, 130, 309, 132, 320, 139, 133, 317, 5, 230,
- 6, 231, 232, 233, 7, 148, 134, 458, 135, 136,
- 137, 138, 445, 335, 2, 171, 172, 176, 177, 234,
- 235, 236, 179, 178, 40, 237, 183, 353, 41, 355,
- 182, 42, 43, 5, 184, 185, 186, 194, 8, 52,
- 218, 365, 198, 53, 368, -46, 270, 219, 190, 191,
- 192, 202, 54, 492, 238, 239, 240, 241, 387, 391,
+ 208, 470, 485, 34, 207, 208, 486, 471, 472, 335,
+ 68, 69, 70, 71, 245, 72, 35, 39, 343, 74,
+ 75, 344, 345, 77, 310, 36, 340, 352, 46, 47,
+ 48, 49, 51, 346, 347, 348, 349, 2, 73, 74,
+ 75, 76, 66, 271, 273, 274, 372, 373, 461, 523,
+ 335, 462, 524, 67, 85, 463, 5, 464, 88, -23,
+ 543, 90, 52, 53, 97, 98, 1, 152, 124, 2,
+ 3, 4, 311, 312, 313, 314, 315, 316, 123, 125,
+ 127, 129, 309, 148, 320, 130, 132, 317, 5, 230,
+ 6, 231, 232, 233, 7, 133, 134, 458, 135, 136,
+ 137, 138, 445, 335, 2, 139, 171, 172, 176, 234,
+ 235, 236, 178, 177, 40, 237, 182, 353, 41, 355,
+ 179, 42, 43, 5, 183, 184, 185, 186, 8, 52,
+ 190, 365, 197, 53, 368, -46, 270, 191, 219, 192,
+ 218, 201, 54, 492, 238, 239, 240, 241, 387, 391,
55, 56, 193, 216, 220, 242, 221, 228, 229, 243,
8, 244, 395, 267, 466, 467, 9, 283, 284, 285,
281, 288, 289, 324, 10, 542, 325, 304, 68, 69,
70, 71, 363, 72, 272, 68, 69, 70, 71, 245,
72, 77, 328, 246, 501, 8, 247, 248, 77, 366,
- 53, 506, -47, 369, 337, 374, 249, 380, 375, 54,
+ 53, 506, -47, 337, 369, 374, 249, 380, 375, 54,
-259, 68, 69, 70, 71, 142, 72, 55, 56, 73,
- 74, 75, 76, 143, 77, 393, -260, 421, 68, 69,
- 70, 71, 459, 72, 422, 424, 73, 74, 75, 76,
- 426, 77, 427, 430, 429, 387, 469, 493, 431, 448,
- 475, 449, 540, 453, 477, 456, 457, 474, 460, 476,
- 503, 481, 387, 478, 479, 488, 387, 495, 491, 496,
+ 74, 75, 76, 143, 77, 393, -260, 424, 68, 69,
+ 70, 71, 459, 72, 421, 426, 73, 74, 75, 76,
+ 422, 77, 427, 430, 429, 387, 469, 431, 448, 449,
+ 475, 453, 540, 456, 477, 457, 460, 474, 476, 478,
+ 503, 481, 387, 479, 493, 488, 387, 495, 491, 496,
497, 507, 494, 508, 509, 511, 68, 69, 70, 71,
510, 72, 498, 499, 73, 74, 75, 76, 396, 77,
162, 163, 164, 165, 397, 398, 514, 520, 32, 536,
399, 400, 401, 402, 403, 404, 405, 534, 535, 537,
- 538, 541, 406, 407, 408, 409, 250, 203, 149, 391,
- 522, 89, 525, 392, 140, 526, 222, 521, 527, 480,
- 528, 291, 292, 293, 294, 295, 296, 297, 298, 321,
- 299, 300, 301, 302, 303, 376, 224, 166, 447, 201,
- 286, 167, 68, 69, 70, 71, 40, 72, 322, 199,
+ 538, 541, 406, 407, 408, 409, 250, 202, 89, 391,
+ 522, 392, 525, 149, 140, 526, 224, 222, 527, 480,
+ 528, 291, 292, 293, 294, 295, 296, 297, 298, 521,
+ 299, 300, 301, 302, 303, 447, 376, 166, 321, 200,
+ 286, 167, 68, 69, 70, 71, 40, 72, 322, 198,
338, 341, 168, 339, 43, 77, 410, 131, 411, 0,
0, 0, 0, 0, 412, 413, 414, 415, 416, 417,
418, 419, 68, 69, 70, 71, 142, 72, 0, 0,
@@ -2311,54 +2311,54 @@
{
38, 64, 130, 217, 168, 335, 429, 123, 4, 4,
4, 230, 4, 11, 239, 73, 336, 4, 182, 1,
- 16, 4, 4, 15, 114, 110, 73, 14, 10, 195,
- 12, 13, 14, 118, 5, 115, 73, 8, 9, 29,
- 73, 110, 8, 9, 31, 114, 73, 213, 30, 31,
+ 16, 4, 4, 15, 122, 114, 73, 14, 10, 127,
+ 12, 13, 14, 4, 5, 115, 73, 8, 9, 29,
+ 73, 110, 8, 9, 31, 114, 73, 194, 30, 31,
32, 73, 29, 91, 36, 183, 18, 19, 20, 21,
- 98, 275, 33, 25, 278, 279, 78, 33, 14, 59,
- 128, 30, 84, 85, 114, 137, 138, 117, 73, 73,
+ 98, 275, 33, 25, 278, 279, 213, 33, 14, 59,
+ 128, 30, 114, 115, 114, 137, 138, 117, 73, 73,
305, 128, 59, 65, 66, 67, 68, 83, 86, 81,
73, 128, 79, 114, 76, 128, 224, 125, 80, 318,
- 82, 128, 321, 74, 122, 64, 128, 114, 74, 127,
- 117, 239, 228, 433, 176, 177, 124, 125, 77, 542,
- 248, 103, 4, 114, 106, 107, 108, 109, 110, 111,
- 450, 475, 114, 477, 454, 117, 118, 119, 114, 115,
+ 82, 128, 321, 74, 114, 64, 128, 117, 74, 110,
+ 114, 239, 228, 433, 176, 177, 4, 118, 77, 542,
+ 248, 103, 124, 125, 106, 107, 108, 109, 110, 111,
+ 450, 475, 114, 477, 454, 117, 118, 119, 0, 4,
102, 112, 306, 181, 363, 127, 112, 366, 17, 120,
- 121, 0, 21, 4, 120, 121, 25, 4, 126, 287,
- 106, 107, 108, 109, 110, 111, 73, 4, 114, 115,
- 116, 117, 118, 119, 10, 4, 304, 305, 53, 54,
- 55, 56, 114, 129, 130, 131, 132, 7, 114, 115,
- 116, 117, 126, 231, 232, 233, 324, 325, 114, 114,
- 328, 117, 117, 114, 110, 424, 26, 426, 4, 105,
- 540, 103, 32, 4, 139, 124, 4, 345, 115, 7,
- 8, 9, 58, 59, 60, 61, 62, 63, 114, 114,
- 4, 118, 270, 127, 272, 4, 127, 73, 26, 10,
- 28, 12, 13, 14, 32, 73, 127, 411, 127, 127,
- 127, 127, 380, 381, 7, 114, 114, 124, 124, 30,
- 31, 32, 103, 111, 110, 36, 73, 305, 114, 307,
- 125, 117, 118, 26, 128, 128, 128, 4, 98, 32,
- 114, 319, 126, 103, 322, 105, 14, 4, 128, 128,
- 128, 126, 112, 457, 65, 66, 67, 68, 336, 337,
+ 121, 78, 21, 73, 120, 121, 25, 84, 85, 287,
+ 106, 107, 108, 109, 110, 111, 4, 4, 114, 115,
+ 116, 117, 118, 119, 10, 126, 304, 305, 53, 54,
+ 55, 56, 4, 129, 130, 131, 132, 7, 114, 115,
+ 116, 117, 114, 231, 232, 233, 324, 325, 114, 114,
+ 328, 117, 117, 126, 110, 424, 26, 426, 4, 114,
+ 540, 105, 32, 103, 4, 139, 4, 345, 115, 7,
+ 8, 9, 58, 59, 60, 61, 62, 63, 124, 114,
+ 114, 4, 270, 73, 272, 118, 127, 73, 26, 10,
+ 28, 12, 13, 14, 32, 127, 127, 411, 127, 127,
+ 127, 127, 380, 381, 7, 4, 114, 114, 124, 30,
+ 31, 32, 111, 124, 110, 36, 125, 305, 114, 307,
+ 103, 117, 118, 26, 73, 128, 128, 128, 98, 32,
+ 128, 319, 126, 103, 322, 105, 14, 128, 4, 128,
+ 114, 126, 112, 457, 65, 66, 67, 68, 336, 337,
120, 121, 128, 126, 4, 76, 74, 73, 4, 80,
98, 82, 350, 110, 430, 431, 104, 4, 4, 4,
448, 127, 4, 73, 112, 539, 73, 122, 106, 107,
108, 109, 10, 111, 14, 106, 107, 108, 109, 110,
111, 119, 127, 114, 472, 98, 117, 118, 119, 10,
- 103, 479, 105, 110, 127, 110, 127, 22, 110, 112,
+ 103, 479, 105, 127, 110, 110, 127, 22, 110, 112,
127, 106, 107, 108, 109, 110, 111, 120, 121, 114,
- 115, 116, 117, 118, 119, 110, 127, 126, 106, 107,
- 108, 109, 420, 111, 127, 10, 114, 115, 116, 117,
- 10, 119, 102, 124, 73, 433, 434, 126, 124, 124,
- 438, 22, 530, 22, 442, 22, 125, 4, 124, 4,
- 473, 449, 450, 4, 22, 453, 454, 128, 456, 128,
+ 115, 116, 117, 118, 119, 110, 127, 10, 106, 107,
+ 108, 109, 420, 111, 126, 10, 114, 115, 116, 117,
+ 127, 119, 102, 124, 73, 433, 434, 124, 124, 22,
+ 438, 22, 530, 22, 442, 125, 124, 4, 4, 4,
+ 473, 449, 450, 22, 126, 453, 454, 128, 456, 128,
4, 127, 460, 22, 127, 126, 106, 107, 108, 109,
22, 111, 470, 471, 114, 115, 116, 117, 45, 119,
53, 54, 55, 56, 51, 52, 4, 4, 12, 4,
57, 58, 59, 60, 61, 62, 63, 128, 128, 4,
- 4, 4, 69, 70, 71, 72, 224, 188, 128, 507,
- 508, 59, 510, 345, 121, 513, 213, 507, 516, 448,
- 518, 37, 38, 39, 40, 41, 42, 43, 44, 273,
- 46, 47, 48, 49, 50, 328, 214, 110, 381, 183,
+ 4, 4, 69, 70, 71, 72, 224, 188, 59, 507,
+ 508, 345, 510, 128, 121, 513, 214, 213, 516, 448,
+ 518, 37, 38, 39, 40, 41, 42, 43, 44, 507,
+ 46, 47, 48, 49, 50, 381, 328, 110, 273, 183,
248, 114, 106, 107, 108, 109, 110, 111, 273, 181,
114, 304, 125, 117, 118, 119, 123, 98, 125, -1,
-1, -1, -1, -1, 131, 132, 133, 134, 135, 136,
@@ -2403,8 +2403,8 @@
110, 114, 53, 54, 55, 56, 110, 114, 125, 180,
181, 114, 114, 153, 153, 168, 124, 124, 111, 103,
260, 261, 125, 73, 128, 128, 128, 258, 73, 128,
- 128, 128, 128, 128, 4, 169, 153, 153, 126, 262,
- 258, 252, 126, 181, 5, 33, 112, 120, 121, 145,
+ 128, 128, 128, 128, 169, 153, 153, 126, 262, 258,
+ 252, 126, 181, 4, 5, 33, 112, 120, 121, 145,
146, 170, 182, 210, 211, 212, 126, 171, 114, 4,
4, 74, 212, 1, 213, 216, 172, 224, 73, 4,
10, 12, 13, 14, 30, 31, 32, 36, 65, 66,
@@ -2453,9 +2453,18 @@
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
+ Once GCC version 2 has supplanted version 1, this can go. However,
+ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
+ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+ discussed. */
#define YYFAIL goto yyerrlab
+#if defined YYFAIL
+ /* This is here to suppress warnings from the GCC cpp's
+ -Wunused-macros. Normally we don't worry about that warning, but
+ some users do, and we want to make it easy for users to remove
+ YYFAIL uses, which will produce warnings from Bison 2.5. */
+#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -2512,7 +2521,7 @@
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -3263,28 +3272,28 @@
{
case 2:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1170 "compilers/imcc/imcc.y"
{ if (yynerrs) YYABORT; (yyval.i) = 0; }
break;
case 5:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1179 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 6:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1180 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 7:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1182 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
@@ -3295,7 +3304,7 @@
case 8:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1188 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
@@ -3306,42 +3315,42 @@
case 9:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1193 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 10:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1194 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 11:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1195 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 12:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1196 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 13:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1200 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 14:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1202 "compilers/imcc/imcc.y"
{
(yyval.i) = 0;
@@ -3352,7 +3361,7 @@
case 15:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1211 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
@@ -3363,7 +3372,7 @@
case 16:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1217 "compilers/imcc/imcc.y"
{
/* set_filename() frees the STRINGC */
@@ -3373,7 +3382,7 @@
case 17:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1225 "compilers/imcc/imcc.y"
{
/* We'll want to store an entry while emitting instructions, so just
@@ -3386,7 +3395,7 @@
case 18:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1237 "compilers/imcc/imcc.y"
{
STRING * const hll_name = Parrot_str_unescape(interp, (yyvsp[(2) - (2)].s) + 1, '"', NULL);
@@ -3401,14 +3410,14 @@
case 19:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1249 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 20:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1250 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
@@ -3419,14 +3428,14 @@
case 21:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1258 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 22:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1259 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
@@ -3437,14 +3446,14 @@
case 23:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1265 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 24:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1266 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const_named(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
@@ -3456,49 +3465,49 @@
case 29:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1284 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 30:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1285 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 31:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1286 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 32:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1287 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 33:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1288 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 36:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1293 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 37:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1295 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit,
@@ -3510,7 +3519,7 @@
case 38:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1302 "compilers/imcc/imcc.y"
{
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3520,7 +3529,7 @@
case 39:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1307 "compilers/imcc/imcc.y"
{
(yyval.i) = iSUBROUTINE(interp,
@@ -3533,7 +3542,7 @@
case 40:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1315 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
@@ -3542,7 +3551,7 @@
case 41:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1319 "compilers/imcc/imcc.y"
{
char *name = mem_sys_strdup((yyvsp[(2) - (4)].s) + 1);
@@ -3560,21 +3569,21 @@
case 42:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1331 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 44:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1339 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
break;
case 45:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1342 "compilers/imcc/imcc.y"
{
/* if (optimizer_level & OPT_PASM)
@@ -3587,7 +3596,7 @@
case 48:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1358 "compilers/imcc/imcc.y"
{
int re_open = 0;
@@ -3604,7 +3613,7 @@
case 49:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1373 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(2) - (3)].sr);
@@ -3613,14 +3622,14 @@
case 50:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1376 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 51:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1381 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
@@ -3629,7 +3638,7 @@
case 52:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1385 "compilers/imcc/imcc.y"
{
iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
@@ -3638,7 +3647,7 @@
case 53:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1389 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(5) - (6)].t);
@@ -3651,28 +3660,28 @@
case 54:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1397 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 55:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1401 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 56:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1402 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 57:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1404 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -3687,21 +3696,21 @@
case 58:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1416 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 59:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1416 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(3) - (3)].sr); IMCC_INFO(interp)->is_def = 0; }
break;
case 60:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1421 "compilers/imcc/imcc.y"
{
if ((yyvsp[(3) - (3)].t) & VT_UNIQUE_REG)
@@ -3727,14 +3736,14 @@
case 61:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1446 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 62:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1451 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3745,7 +3754,7 @@
case 63:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1457 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3756,7 +3765,7 @@
case 64:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1466 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
@@ -3767,7 +3776,7 @@
case 65:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1472 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
@@ -3778,7 +3787,7 @@
case 66:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1481 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
@@ -3789,7 +3798,7 @@
case 67:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1487 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
@@ -3800,7 +3809,7 @@
case 68:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1496 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
@@ -3811,7 +3820,7 @@
case 69:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1502 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
@@ -3822,7 +3831,7 @@
case 70:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1511 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3832,7 +3841,7 @@
case 71:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1519 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3842,7 +3851,7 @@
case 72:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1524 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3854,7 +3863,7 @@
case 73:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1534 "compilers/imcc/imcc.y"
{
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
@@ -3863,7 +3872,7 @@
case 74:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1538 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3873,7 +3882,7 @@
case 75:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1543 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3883,35 +3892,35 @@
case 76:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1550 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "INTVAL", 'S'); }
break;
case 77:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1551 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
break;
case 78:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1552 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "PMC", 'S'); }
break;
case 79:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1553 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "STRING", 'S'); }
break;
case 80:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1555 "compilers/imcc/imcc.y"
{
SymReg *r;
@@ -3927,7 +3936,7 @@
case 81:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1566 "compilers/imcc/imcc.y"
{
SymReg *r;
@@ -3943,14 +3952,14 @@
case 82:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1576 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 85:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1586 "compilers/imcc/imcc.y"
{
char name[128];
@@ -3979,112 +3988,112 @@
case 86:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1614 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 87:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1618 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
break;
case 88:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1619 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
break;
case 89:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1623 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 90:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1624 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); }
break;
case 91:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1628 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 93:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1633 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 94:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1634 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 95:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1638 "compilers/imcc/imcc.y"
{ (yyval.t) = P_LOAD; }
break;
case 96:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1639 "compilers/imcc/imcc.y"
{ (yyval.t) = P_INIT; }
break;
case 97:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1640 "compilers/imcc/imcc.y"
{ (yyval.t) = P_MAIN; }
break;
case 98:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1641 "compilers/imcc/imcc.y"
{ (yyval.t) = P_IMMEDIATE; }
break;
case 99:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1642 "compilers/imcc/imcc.y"
{ (yyval.t) = P_POSTCOMP; }
break;
case 100:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1643 "compilers/imcc/imcc.y"
{ (yyval.t) = P_ANON; }
break;
case 101:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1644 "compilers/imcc/imcc.y"
{ (yyval.t) = P_NEED_LEX; }
break;
case 109:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1656 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
@@ -4094,7 +4103,7 @@
case 110:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1661 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4103,7 +4112,7 @@
case 111:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1665 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4113,7 +4122,7 @@
case 112:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1670 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4122,7 +4131,7 @@
case 113:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1674 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
@@ -4131,7 +4140,7 @@
case 114:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1678 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
@@ -4141,7 +4150,7 @@
case 115:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1683 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (5)].s), 'S'));
@@ -4151,35 +4160,35 @@
case 116:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1691 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 117:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1692 "compilers/imcc/imcc.y"
{ add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 118:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1696 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 119:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1701 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 120:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1703 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4189,21 +4198,21 @@
case 121:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1710 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 122:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1711 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 123:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1712 "compilers/imcc/imcc.y"
{
IdList * const l = (yyvsp[(4) - (4)].idlist);
@@ -4220,91 +4229,91 @@
case 124:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1726 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 125:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1727 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 126:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1731 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 127:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1732 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPTIONAL; }
break;
case 128:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1733 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPT_FLAG; }
break;
case 129:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1734 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 130:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1735 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 131:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1736 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 132:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1737 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_UNIQUE_REG; }
break;
case 133:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1738 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 134:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1743 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 0); }
break;
case 135:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1745 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 136:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1747 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
@@ -4314,28 +4323,28 @@
case 137:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1754 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 1); }
break;
case 138:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1756 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 139:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1760 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 140:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1762 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
@@ -4345,7 +4354,7 @@
case 141:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1767 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4355,14 +4364,14 @@
case 142:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1774 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 143:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1776 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
@@ -4372,7 +4381,7 @@
case 144:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1781 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4382,21 +4391,21 @@
case 145:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1788 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 146:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1792 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 147:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1797 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
@@ -4406,7 +4415,7 @@
case 148:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1802 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
@@ -4416,28 +4425,28 @@
case 149:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1809 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 150:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1810 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 151:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1814 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 152:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1816 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4452,7 +4461,7 @@
case 153:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1826 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(1) - (3)].s), 'S');
@@ -4462,7 +4471,7 @@
case 154:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1831 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4477,7 +4486,7 @@
case 155:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1841 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(3) - (5)].s), 'S');
@@ -4487,63 +4496,63 @@
case 158:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1862 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 159:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1867 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 160:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1868 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 161:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1869 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 162:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1870 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 163:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1871 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 164:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1872 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 165:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1876 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 169:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1887 "compilers/imcc/imcc.y"
{
Instruction * const i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
@@ -4554,14 +4563,14 @@
case 170:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1897 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 171:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1899 "compilers/imcc/imcc.y"
{
if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
@@ -4574,7 +4583,7 @@
case 172:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1910 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(1) - (1)].idlist);
@@ -4585,7 +4594,7 @@
case 173:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1917 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(3) - (3)].idlist);
@@ -4596,7 +4605,7 @@
case 174:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1926 "compilers/imcc/imcc.y"
{
IdList* const l = mem_gc_allocate_n_zeroed_typed(interp, 1, IdList);
@@ -4608,28 +4617,28 @@
case 175:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1935 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 176:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1936 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 179:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1943 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 180:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1944 "compilers/imcc/imcc.y"
{
IdList *l = (yyvsp[(4) - (4)].idlist);
@@ -4650,7 +4659,7 @@
case 181:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1960 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
@@ -4672,7 +4681,7 @@
case 182:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1977 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
@@ -4690,14 +4699,14 @@
case 183:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1989 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 184:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1990 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
@@ -4708,14 +4717,14 @@
case 186:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1997 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 187:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1998 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
@@ -4726,7 +4735,7 @@
case 188:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2004 "compilers/imcc/imcc.y"
{
(yyval.i) = NULL;
@@ -4737,7 +4746,7 @@
case 189:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2010 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr));
@@ -4746,7 +4755,7 @@
case 190:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2014 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp,
@@ -4763,63 +4772,63 @@
case 191:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2025 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); }
break;
case 192:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2026 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 193:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2027 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 196:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2030 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 197:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2034 "compilers/imcc/imcc.y"
{ (yyval.t) = 'I'; }
break;
case 198:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2035 "compilers/imcc/imcc.y"
{ (yyval.t) = 'N'; }
break;
case 199:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2036 "compilers/imcc/imcc.y"
{ (yyval.t) = 'S'; }
break;
case 200:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2037 "compilers/imcc/imcc.y"
{ (yyval.t) = 'P'; }
break;
case 201:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2042 "compilers/imcc/imcc.y"
{
/* there'd normally be a mem_sys_strdup() here, but the lexer already
@@ -4834,49 +4843,49 @@
case 202:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2055 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 203:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2057 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 204:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2059 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); }
break;
case 205:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2061 "compilers/imcc/imcc.y"
{ (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); }
break;
case 206:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2063 "compilers/imcc/imcc.y"
{ (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
break;
case 207:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2068 "compilers/imcc/imcc.y"
{ (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); }
break;
case 208:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2071 "compilers/imcc/imcc.y"
{
add_pcc_result(interp, (yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
@@ -4887,7 +4896,7 @@
case 209:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2077 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
@@ -4896,7 +4905,7 @@
case 210:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2081 "compilers/imcc/imcc.y"
{
IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
@@ -4906,7 +4915,7 @@
case 214:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2089 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
@@ -4915,189 +4924,189 @@
case 215:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2096 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"not"; }
break;
case 216:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2097 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bnot"; }
break;
case 217:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2098 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"neg"; }
break;
case 218:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2102 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 219:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2103 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 220:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2104 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 221:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2105 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 222:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2106 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 223:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2107 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 224:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2108 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"pow"; }
break;
case 225:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2109 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 226:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2110 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"iseq"; }
break;
case 227:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2111 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isne"; }
break;
case 228:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2112 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isgt"; }
break;
case 229:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2113 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isge"; }
break;
case 230:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2114 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"islt"; }
break;
case 231:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2115 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"isle"; }
break;
case 232:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2116 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 233:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2117 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 234:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2118 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 235:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2119 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"and"; }
break;
case 236:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2120 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"or"; }
break;
case 237:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2121 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"xor"; }
break;
case 238:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2122 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 239:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2123 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 240:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2124 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 241:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2130 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
@@ -5108,112 +5117,112 @@
case 242:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2135 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 243:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2142 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) - (3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 244:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2146 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"add"; }
break;
case 245:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2147 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"sub"; }
break;
case 246:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2148 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mul"; }
break;
case 247:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2149 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"div"; }
break;
case 248:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2150 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"mod"; }
break;
case 249:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2151 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"fdiv"; }
break;
case 250:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2152 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"concat"; }
break;
case 251:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2153 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"band"; }
break;
case 252:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2154 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bor"; }
break;
case 253:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2155 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"bxor"; }
break;
case 254:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2156 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shr"; }
break;
case 255:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2157 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"shl"; }
break;
case 256:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2158 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lsr"; }
break;
case 257:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2164 "compilers/imcc/imcc.y"
{
(yyval.i) = func_ins(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].s),
@@ -5226,28 +5235,28 @@
case 258:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2174 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 259:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2175 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 260:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2176 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 261:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2178 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
@@ -5258,7 +5267,7 @@
case 262:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2184 "compilers/imcc/imcc.y"
{
/* disallow bareword method names; SREG name constants are fine */
@@ -5277,7 +5286,7 @@
case 263:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2198 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
@@ -5288,7 +5297,7 @@
case 264:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2204 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
@@ -5299,14 +5308,14 @@
case 265:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2209 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); }
break;
case 266:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2215 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
@@ -5316,21 +5325,21 @@
case 267:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2219 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (5)].i); }
break;
case 268:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2223 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 269:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2225 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5345,7 +5354,7 @@
case 270:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2235 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5360,7 +5369,7 @@
case 271:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2245 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5372,7 +5381,7 @@
case 272:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2252 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5382,7 +5391,7 @@
case 273:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2257 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5394,70 +5403,70 @@
case 274:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2266 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 275:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2270 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 276:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2271 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 277:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2275 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 278:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2276 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 279:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2277 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 280:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2280 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 281:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2281 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 282:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2285 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
break;
case 283:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2290 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5472,7 +5481,7 @@
case 284:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2300 "compilers/imcc/imcc.y"
{
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call,
@@ -5483,7 +5492,7 @@
case 285:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2306 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
@@ -5498,7 +5507,7 @@
case 286:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2316 "compilers/imcc/imcc.y"
{
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(1) - (3)].s), 'S'), (yyvsp[(3) - (3)].sr));
@@ -5508,28 +5517,28 @@
case 287:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2320 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 288:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2324 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 289:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2325 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 290:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2330 "compilers/imcc/imcc.y"
{
(yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) - (6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
@@ -5538,7 +5547,7 @@
case 291:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2334 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
@@ -5547,7 +5556,7 @@
case 292:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2338 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
@@ -5556,7 +5565,7 @@
case 293:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2345 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
@@ -5565,7 +5574,7 @@
case 294:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2349 "compilers/imcc/imcc.y"
{
(yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
@@ -5574,7 +5583,7 @@
case 295:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2353 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
@@ -5583,91 +5592,91 @@
case 296:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2359 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 297:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2360 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 298:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2364 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"eq"; }
break;
case 299:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2365 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ne"; }
break;
case 300:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2366 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"gt"; }
break;
case 301:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2367 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"ge"; }
break;
case 302:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2368 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"lt"; }
break;
case 303:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2369 "compilers/imcc/imcc.y"
{ (yyval.s) = (char *)"le"; }
break;
case 306:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2378 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 307:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2379 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (1)].sr); }
break;
case 308:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2383 "compilers/imcc/imcc.y"
{ (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
break;
case 310:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2388 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); }
break;
case 311:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2390 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (4)].sr);
@@ -5679,7 +5688,7 @@
case 312:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2397 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
@@ -5689,49 +5698,49 @@
case 314:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2404 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 315:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2405 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 316:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2409 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 317:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2410 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 318:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2414 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 319:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2415 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 324:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2429 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
@@ -5740,7 +5749,7 @@
case 325:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2433 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
@@ -5751,7 +5760,7 @@
case 326:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2441 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
@@ -5760,7 +5769,7 @@
case 327:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2445 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
@@ -5771,14 +5780,14 @@
case 328:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2453 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
break;
case 329:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2455 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
@@ -5788,7 +5797,7 @@
case 330:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2463 "compilers/imcc/imcc.y"
{
(yyval.sr) = (yyvsp[(1) - (1)].sr);
@@ -5797,71 +5806,71 @@
case 331:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2469 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 332:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2470 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 333:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2471 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 334:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2472 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
break;
case 335:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2473 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 336:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2477 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 337:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2478 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 338:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2479 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
case 339:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2480 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); }
break;
-/* Line 1455 of yacc.c */
-#line 5854 "compilers/imcc/imcparser.c"
+/* Line 1464 of yacc.c */
+#line 5863 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6072,7 +6081,7 @@
-/* Line 1675 of yacc.c */
+/* Line 1684 of yacc.c */
#line 2486 "compilers/imcc/imcc.y"
Modified: branches/codestring/compilers/imcc/imcparser.h
==============================================================================
--- branches/codestring/compilers/imcc/imcparser.h Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/compilers/imcc/imcparser.h Sat May 8 21:42:00 2010 (r46416)
@@ -9,13 +9,12 @@
*/
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.4.2. */
/* Skeleton interface for Bison's Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
+ Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -301,7 +300,7 @@
typedef union YYSTYPE
{
-/* Line 1676 of yacc.c */
+/* Line 1685 of yacc.c */
#line 1075 "compilers/imcc/imcc.y"
IdList * idlist;
@@ -312,8 +311,8 @@
-/* Line 1676 of yacc.c */
-#line 306 "compilers/imcc/imcparser.h"
+/* Line 1685 of yacc.c */
+#line 305 "compilers/imcc/imcparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
Modified: branches/codestring/compilers/imcc/pbc.c
==============================================================================
--- branches/codestring/compilers/imcc/pbc.c Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/compilers/imcc/pbc.c Sat May 8 21:42:00 2010 (r46416)
@@ -356,13 +356,21 @@
PackFile_Constant *new_constant = PackFile_Constant_new(interp);
/* Update the constant count and reallocate */
- if (interp->code->const_table->constants)
+ if (interp->code->const_table->constants) {
interp->code->const_table->constants =
mem_gc_realloc_n_typed_zeroed(interp, interp->code->const_table->constants,
newcount, oldcount, PackFile_Constant *);
- else
+ }
+ else {
+ /* initialize rlookup cache */
+ interp->code->const_table->string_hash =
+ Parrot_pmc_new_init_int(interp, enum_class_Hash, enum_type_INTVAL);
+ ((Hash *)VTABLE_get_pointer(interp, interp->code->const_table->string_hash))->compare =
+ (hash_comp_fn)STRING_compare_distinct_cs_enc;
+
interp->code->const_table->constants =
mem_gc_allocate_n_zeroed_typed(interp, newcount, PackFile_Constant *);
+ }
interp->code->const_table->constants[oldcount] = new_constant;
interp->code->const_table->const_count = newcount;
@@ -998,6 +1006,8 @@
constant->type = PFC_STRING;
constant->u.string = s;
+ VTABLE_set_integer_keyed_str(interp, table->string_hash, s, k);
+
return k;
}
}
Modified: branches/codestring/include/parrot/hash.h
==============================================================================
--- branches/codestring/include/parrot/hash.h Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/include/parrot/hash.h Sat May 8 21:42:00 2010 (r46416)
@@ -380,6 +380,14 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+PARROT_WARN_UNUSED_RESULT
+int STRING_compare_distinct_cs_enc(PARROT_INTERP,
+ ARGIN(const void *search_key),
+ ARGIN(const void *bucket_key))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
#define ASSERT_ARGS_parrot_dump_hash __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_parrot_hash_clone __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
@@ -505,6 +513,11 @@
#define ASSERT_ARGS_STRING_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(search_key))
+#define ASSERT_ARGS_STRING_compare_distinct_cs_enc \
+ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(search_key) \
+ , PARROT_ASSERT_ARG(bucket_key))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: src/hash.c */
Modified: branches/codestring/src/dynpmc/gziphandle.pmc
==============================================================================
--- branches/codestring/src/dynpmc/gziphandle.pmc Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/src/dynpmc/gziphandle.pmc Sat May 8 21:42:00 2010 (r46416)
@@ -307,7 +307,7 @@
"failed to allocate");
srcLen = Parrot_str_byte_length(INTERP, str);
- dstLen = srcLen;
+ dstLen = 2 * srcLen;
REDO:
buf = mem_allocate_n_zeroed_typed(dstLen, char);
@@ -318,15 +318,16 @@
}
rc = uncompress((Bytef *)buf, &dstLen, (const Bytef *)src, srcLen);
- Parrot_str_free_cstring(src);
switch (rc) {
case Z_OK:
+ Parrot_str_free_cstring(src);
dst = Parrot_str_new(INTERP, buf, dstLen);
mem_sys_free(buf);
break;
case Z_MEM_ERROR:
+ Parrot_str_free_cstring(src);
mem_sys_free(buf);
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"not enough memory");
@@ -338,13 +339,14 @@
goto REDO;
case Z_DATA_ERROR:
+ Parrot_str_free_cstring(src);
mem_sys_free(buf);
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"input data corrupted");
break;
default:
- /* these are the only three documented return values */
+ /* these are the only four documented return values */
break;
}
Modified: branches/codestring/src/hash.c
==============================================================================
--- branches/codestring/src/hash.c Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/src/hash.c Sat May 8 21:42:00 2010 (r46416)
@@ -193,6 +193,35 @@
/*
+=item C<int STRING_compare_distinct_cs_enc(PARROT_INTERP, const void
+*search_key, const void *bucket_key)>
+
+Compare two strings. Returns 0 if they are identical. Considers differing
+charset or encoding to be distinct.
+
+*/
+
+PARROT_WARN_UNUSED_RESULT
+int
+STRING_compare_distinct_cs_enc(PARROT_INTERP, ARGIN(const void *search_key),
+ ARGIN(const void *bucket_key))
+{
+ ASSERT_ARGS(STRING_compare_distinct_cs_enc)
+ STRING const *s1 = (STRING const *)search_key;
+ STRING const *s2 = (STRING const *)bucket_key;
+
+ if (s1 && s2 && (
+ s1->charset != s2->charset ||
+ s1->encoding != s2->encoding)) {
+ return 1;
+ }
+
+ return STRING_compare(interp, search_key, bucket_key);
+}
+
+
+/*
+
=item C<static int pointer_compare(PARROT_INTERP, const void *a, const void *b)>
Compares the two pointers, returning 0 if they are identical
Modified: branches/codestring/src/packout.c
==============================================================================
--- branches/codestring/src/packout.c Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/src/packout.c Sat May 8 21:42:00 2010 (r46416)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
This program is free software. It is subject to the same license as
Parrot itself.
$Id$
@@ -260,43 +260,12 @@
GETATTR_Key_str_key(interp, key, key_str);
GETATTR_Key_num_key(interp, key, key_num);
- /*
- * string_hash contains array of all possible charset/encoding
- * combinations for given string.
- *
- * Because we don't have templateble PMC like tuple<charset, encoding, i>
- * we store FIA [charset ^ encoding, i].
- *
- * So cache looks like this:
- * "foo" => [
- * [charset1 ^ encoding1, index1],
- * ...
- * [charsetN ^ encodingN, indexN]
- * ]
- */
-
- if (type == PFC_STRING) {
- /* Auto-vivify cache */
- if (PMC_IS_NULL(ct->string_hash)) {
- DECL_CONST_CAST;
- PackFile_ConstTable * c = PARROT_const_cast(PackFile_ConstTable*, ct);
- c->string_hash = Parrot_pmc_new(interp, enum_class_Hash);
+ if (type == PFC_STRING && !PMC_IS_NULL(ct->string_hash)) {
+ if (VTABLE_exists_keyed_str(interp, ct->string_hash, key_str)) {
+ return VTABLE_get_integer_keyed_str(interp, ct->string_hash, key_str);
}
-
- /* Auto-vivify cache item */
- string_list = VTABLE_get_pmc_keyed_str(interp, ct->string_hash, key_str);
- if (PMC_IS_NULL(string_list)) {
- string_list = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
- VTABLE_set_pmc_keyed_str(interp, ct->string_hash, key_str, string_list);
- }
-
- /* Iterate of cache and try to find exactly this string */
- strings = VTABLE_elements(interp, string_list);
- for (i = 0; i < strings; ++i) {
- PMC *item = VTABLE_get_pmc_keyed_int(interp, string_list, i);
- INTVAL xored = VTABLE_get_integer_keyed_int(interp, item, 0);
- if (((size_t)key_str->encoding ^ (size_t)key_str->charset) == (size_t)xored)
- return VTABLE_get_integer_keyed_int(interp, item, 1);
+ else {
+ return -1;
}
}
@@ -312,14 +281,6 @@
== Parrot_charset_number_of_str(interp, sc)
&& Parrot_encoding_number_of_str(interp, key_str)
== Parrot_encoding_number_of_str(interp, sc)) {
- /* Cache found string */
- PMC *item = Parrot_pmc_new_init_int(interp,
- enum_class_FixedIntegerArray, 2);
- VTABLE_set_integer_keyed_int(interp, item, 0,
- (size_t)sc->encoding ^ (size_t)sc->charset);
- VTABLE_set_integer_keyed_int(interp, item, 1,
- i);
- VTABLE_push_pmc(interp, string_list, item);
return i;
}
}
Modified: branches/codestring/src/pmc/stringbuilder.pmc
==============================================================================
--- branches/codestring/src/pmc/stringbuilder.pmc Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/src/pmc/stringbuilder.pmc Sat May 8 21:42:00 2010 (r46416)
@@ -103,8 +103,7 @@
VTABLE STRING *get_string() {
STRING *buffer, *retv;
GET_ATTR_buffer(INTERP, SELF, buffer);
- retv = Parrot_str_clone(INTERP, buffer);
- return retv;
+ return Parrot_str_clone(INTERP, buffer);
}
/*
@@ -202,7 +201,10 @@
*/
VTABLE void set_string_native(STRING *s) {
- SET_ATTR_buffer(INTERP, SELF, Parrot_str_clone(INTERP, s));
+ STRING * tmp = Parrot_str_clone(INTERP, s);
+ /* Unset hashval. We update this string all the time */
+ tmp->hashval = 0;
+ SET_ATTR_buffer(INTERP, SELF, tmp);
}
VTABLE void set_pmc(PMC *s) {
SET_ATTR_buffer(INTERP, SELF, VTABLE_get_string(INTERP, s));
Modified: branches/codestring/src/string/api.c
==============================================================================
--- branches/codestring/src/string/api.c Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/src/string/api.c Sat May 8 21:42:00 2010 (r46416)
@@ -386,7 +386,7 @@
STRUCT_COPY(d, s);
/* Now check that buffer allocated from pool and affected by compacting */
- if (is_movable) {
+ if (is_movable && Buffer_bufstart(s)) {
/* If so, mark it as shared */
INTVAL * const buffer_flags = Buffer_bufrefcountptr(d);
*buffer_flags |= Buffer_shared_FLAG;
Modified: branches/codestring/t/compilers/imcc/syn/regressions.t
==============================================================================
--- branches/codestring/t/compilers/imcc/syn/regressions.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/compilers/imcc/syn/regressions.t Sat May 8 21:42:00 2010 (r46416)
@@ -51,7 +51,7 @@
hello
OUT
-pir_output_is( <<'CODE', <<'OUT', 'comments between .param(TT #1035)', todo => 'broken');
+pir_output_is( <<'CODE', <<'OUT', 'comments between .param(TT #1035)');
.sub main :main
comments(1,2)
.end
@@ -79,7 +79,7 @@
hello
OUT
-pir_output_is( <<'CODE', <<'OUT', 'whitespace between .param(TT #1035)', todo => 'broken');
+pir_output_is( <<'CODE', <<'OUT', 'whitespace between .param(TT #1035)');
.sub main :main
comments(1,2)
.end
Modified: branches/codestring/t/dynpmc/gziphandle.t
==============================================================================
--- branches/codestring/t/dynpmc/gziphandle.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/dynpmc/gziphandle.t Sat May 8 21:42:00 2010 (r46416)
@@ -22,7 +22,7 @@
.local pmc config_hash, interp
.local int num_tests
- num_tests = 6
+ num_tests = 9
plan(num_tests)
interp = getinterp
config_hash = interp[.IGLOBALS_CONFIG_HASH]
@@ -31,6 +31,7 @@
$P0 = loadlib 'gziphandle'
test_handle()
+ test_stream()
test_version()
test_basic()
.return()
@@ -49,6 +50,32 @@
ok($I0, 'does Handle')
.end
+.include 'stat.pasm'
+
+.sub 'test_stream'
+ $P0 = new 'FileHandle'
+ $S0 = $P0.'readall'('t/dynpmc/gziphandle.t')
+ $I0 = length $S0
+ diag($I0)
+ .const string filename = 't/dynpmc/gziphandle.t.gz'
+ $P1 = new 'GzipHandle'
+ $P1.'open'(filename, 'wb')
+ $P1.'puts'($S0)
+ $P1.'close'()
+ $I1 = stat filename, .STAT_FILESIZE
+ diag($I1)
+ $I2 = $I1 < $I0
+ ok($I2, "compressed")
+ $P2 = new 'GzipHandle'
+ $P2.'open'(filename, 'rb')
+ $S1 = $P2.'read'($I0)
+ $P2.'close'()
+ is($S1, $S0, "gzip stream")
+ $P0 = loadlib 'os'
+ $P0 = new 'OS'
+ $P0.'rm'(filename)
+.end
+
.sub 'test_version'
$P0 = new 'GzipHandle'
$S0 =$P0.'version'()
@@ -67,6 +94,15 @@
is($I0, 15, "compress")
$S0 = $P0.'uncompress'($S0)
is($S0, data, "uncompress")
+
+ $S0 = repeat 'repeat', 100
+ $I0 = length $S0
+ $S1 = $P0.'compress'($S0)
+ $I1 = length $S1
+ $N0 = $I1 / $I0
+ diag($N0)
+ $S2 = $P0.'uncompress'($S1)
+ is($S2, $S0, "uncompress with many realloc")
.end
# Local Variables:
Modified: branches/codestring/t/library/p6object.t
==============================================================================
--- branches/codestring/t/library/p6object.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/library/p6object.t Sat May 8 21:42:00 2010 (r46416)
@@ -138,7 +138,7 @@
$I0 = $P0.'can'(rpaobj, 'foo')
ok($I0, '< ResizablePMCArray_obj.^can("foo") >')
$I0 = $P0.'isa'(rpaobj, listproto)
- todo($I0, '< ResizablePMCArray_obj.^isa(List) >', 'UNIMPL?')
+ todo($I0, '< ResizablePMCArray_obj.^isa(List) >', 'unimplemented: TT #1617')
## create class with a different proto name
.local pmc myobjectproto
Modified: branches/codestring/t/oo/metamodel.t
==============================================================================
--- branches/codestring/t/oo/metamodel.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/oo/metamodel.t Sat May 8 21:42:00 2010 (r46416)
@@ -52,7 +52,7 @@
$P1 = attributes['tail']
$S1 = $P1['type']
$I0 = iseq $S1, 'Str'
- todo($I0, "tail attribute has a type", "not implemented")
+ todo($I0, "tail attribute has a type", "not implemented: TT #1618")
# is($S1,'Str', "tail attribute has a type")
goto end_tail_attrib_test
no_tail_attribute:
@@ -85,7 +85,7 @@
fail("no attribute")
NEXT:
- todo(0, "new opcode makes working objects", "not implemented")
+ todo(0, "new opcode makes working objects", "not implemented: TT #1619")
# $P0 = new "Dog"
# $I0 = defined $P0
# isa_ok($P0, "Dog", "new opcode makes working objects")
Modified: branches/codestring/t/pmc/bigint.t
==============================================================================
--- branches/codestring/t/pmc/bigint.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/pmc/bigint.t Sat May 8 21:42:00 2010 (r46416)
@@ -745,7 +745,7 @@
ne $S0, $S6, k25
inc $I1
k25:
- todo($I1, 'integer negation of MinInt converts MaxInt+1 to BigInt')
+ todo( $I1, 'integer negation of MinInt converts MaxInt+1 to BigInt', 'TT #1616')
$I1 = 0
$P0 = new ['Integer']
@@ -760,7 +760,7 @@
ne $S0, $S6, k27
inc $I1
k27:
- todo($I1, 'integer absolute-value of MinInt converts MaxInt+1 to BigInt')
+ todo( $I1, 'integer absolute-value of MinInt converts MaxInt+1 to BigInt', 'TT #1616')
$P0 = new ['Integer']
$P0 = $I3
Modified: branches/codestring/t/pmc/class.t
==============================================================================
--- branches/codestring/t/pmc/class.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/pmc/class.t Sat May 8 21:42:00 2010 (r46416)
@@ -273,7 +273,7 @@
is(test_string_val, 'bar', 'add_method() invoking method added to class works')
t_class_meth:
- todo(0, 'add_method() invoking method added to class works', "classes don't seem to call methods yet")
+ todo( 0, 'add_method() invoking method added to class works', "classes don't seem to call methods yet: TT #1615")
obj_inst = class.'new'()
test_string_val = obj_inst.'foo'()
Modified: branches/codestring/t/pmc/default.t
==============================================================================
--- branches/codestring/t/pmc/default.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/pmc/default.t Sat May 8 21:42:00 2010 (r46416)
@@ -20,14 +20,35 @@
.sub main :main
.include 'test_more.pir'
- plan(3)
+ plan(5)
test_default()
test_inspect_vtable_function()
.end
.sub test_default
- #new $P0, ['default']
- todo(0,'the default PMC does not exist')
+ $I0 = 1
+ push_eh init
+ $P0 = new ['default']
+ $I0 = 0
+ init:
+ pop_eh
+ ok($I0, "Couldn't create default PMC directly")
+
+ $I0 = 1
+ push_eh init_int
+ $P0 = new ['default'], 42
+ $I0 = 0
+ init_int:
+ pop_eh
+ ok($I0, "Couldn't create default PMC directly with int initializer")
+
+ $I0 = 1
+ push_eh init_pmc
+ $P0 = new ['default'], $P1
+ $I0 = 0
+ init_pmc:
+ pop_eh
+ ok($I0, "Couldn't create default PMC directly with PMC initializer")
.end
.sub test_inspect_vtable_function
Modified: branches/codestring/t/pmc/packfile.t
==============================================================================
--- branches/codestring/t/pmc/packfile.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/pmc/packfile.t Sat May 8 21:42:00 2010 (r46416)
@@ -314,7 +314,7 @@
$I0 = cmp first, second
$I0 = not $I0
- todo($I0, 'pack produced same result twice')
+ todo($I0, 'pack produced same result twice: TT #1614')
.return()
load_error:
.get_results($P0)
Modified: branches/codestring/t/pmc/stringbuilder.t
==============================================================================
--- branches/codestring/t/pmc/stringbuilder.t Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/t/pmc/stringbuilder.t Sat May 8 21:42:00 2010 (r46416)
@@ -20,13 +20,14 @@
.sub 'main' :main
.include 'test_more.pir'
- plan(21)
+ plan(23)
test_create() # 2 tests
test_push_string() # 9 tests
test_push_pmc() # 4 tests
test_push_string_unicode() # 1 test
test_i_concatenate() # 1 test
test_set_string_native() # 3 tests
+ test_set_string_native_with_hash() # 2 tests
# END_OF_TESTS
.end
@@ -160,6 +161,29 @@
.end
+.sub 'test_set_string_native_with_hash'
+ .local pmc sb, hash
+ sb = new ["StringBuilder"]
+ hash = new ['Hash']
+
+ $S0 = "foo"
+ hash[$S0] = "foo"
+ sb = $S0
+ # Used later
+ $S0 = sb
+
+ sb .= "bar"
+ $S1 = sb
+ hash[$S1] = $S1
+
+ $S99 = hash[$S0]
+ is ( $S99, "foo", "First string stored in hash" )
+
+ $S99 = hash[$S1]
+ is ( $S99, "foobar", "Second string stored in hash" )
+
+.end
+
# Local Variables:
# mode: pir
# fill-column: 100
Modified: branches/codestring/tools/dev/fetch_languages.pl
==============================================================================
--- branches/codestring/tools/dev/fetch_languages.pl Sat May 8 21:31:17 2010 (r46415)
+++ branches/codestring/tools/dev/fetch_languages.pl Sat May 8 21:42:00 2010 (r46416)
@@ -265,8 +265,8 @@
{
name => 'pynie',
- scm => 'SVN',
- repository => 'http://pynie.googlecode.com/svn/trunk'
+ scm => 'HG',
+ repository => 'http://bitbucket.org/allison/pynie'
},
{
More information about the parrot-commits
mailing list