summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Zakirov <ruz@bestpractical.com>2013-02-27 19:39:39 +0400
committerFather Chrysostomos <sprout@cpan.org>2013-09-13 01:25:34 -0700
commit5cae3edb76796fced1e703fcf4357364c5ddd9b7 (patch)
treefaa8797522872430c4bca7c56c0177c6d69cce87
parent408dc2ec1c7e0bb6d22bd96e6ffe02473c573470 (diff)
downloadperl-5cae3edb76796fced1e703fcf4357364c5ddd9b7.tar.gz
key/value hash slice operation
kvhslice operator that implements %h{1,2,3,4} syntax which returns list of key value pairs rather than just values (regular slices).
-rw-r--r--dist/B-Deparse/Deparse.pm9
-rw-r--r--op.c13
-rw-r--r--opcode.h5
-rw-r--r--opnames.h471
-rw-r--r--perly.act601
-rw-r--r--perly.h64
-rw-r--r--perly.tab1198
-rw-r--r--perly.y11
-rw-r--r--pp.c48
-rw-r--r--pp_proto.h1
-rw-r--r--regen/opcodes1
11 files changed, 1261 insertions, 1161 deletions
diff --git a/dist/B-Deparse/Deparse.pm b/dist/B-Deparse/Deparse.pm
index 6a63cf8cc5..6aa8847426 100644
--- a/dist/B-Deparse/Deparse.pm
+++ b/dist/B-Deparse/Deparse.pm
@@ -3567,11 +3567,14 @@ sub slice {
} else {
$list = $self->elem_or_slice_single_index($kid);
}
- return "\@" . $array . $left . $list . $right;
+ my $lead = '@';
+ $lead = '%' if $op->name =~ /^kv/i;
+ return $lead . $array . $left . $list . $right;
}
-sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
-sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
+sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
+sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
+sub pp_kvhslice { slice(@_, "{", "}", "rv2hv", "padhv") }
sub pp_lslice {
my $self = shift;
diff --git a/op.c b/op.c
index ae3739ee4f..d457d434db 100644
--- a/op.c
+++ b/op.c
@@ -1278,6 +1278,7 @@ Perl_scalarvoid(pTHX_ OP *o)
case OP_ASLICE:
case OP_HELEM:
case OP_HSLICE:
+ case OP_KVHSLICE:
case OP_UNPACK:
case OP_PACK:
case OP_JOIN:
@@ -2061,6 +2062,10 @@ Perl_op_lvalue_flags(pTHX_ OP *o, I32 type, U32 flags)
case OP_DBSTATE:
PL_modcount = RETURN_UNLIMITED_NUMBER;
break;
+ case OP_KVHSLICE:
+ if (type == OP_LEAVESUBLV)
+ o->op_private |= OPpMAYBE_LVSUB;
+ goto nomod;
case OP_AV2ARYLEN:
PL_hints |= HINT_BLOCK_SCOPE;
if (type == OP_LEAVESUBLV)
@@ -5349,7 +5354,7 @@ S_is_list_assignment(pTHX_ const OP *o)
if (type == OP_LIST || flags & OPf_PARENS ||
type == OP_RV2AV || type == OP_RV2HV ||
- type == OP_ASLICE || type == OP_HSLICE)
+ type == OP_ASLICE || type == OP_HSLICE || type == OP_KVHSLICE)
return TRUE;
if (type == OP_PADAV || type == OP_PADHV)
@@ -6557,7 +6562,8 @@ S_ref_array_or_hash(pTHX_ OP *cond)
else if(cond
&& (cond->op_type == OP_ASLICE
- || cond->op_type == OP_HSLICE)) {
+ || cond->op_type == OP_HSLICE
+ || cond->op_type == OP_KVHSLICE)) {
/* anonlist now needs a list from this op, was previously used in
* scalar context */
@@ -8296,6 +8302,9 @@ Perl_ck_delete(pTHX_ OP *o)
/* FALL THROUGH */
case OP_HELEM:
break;
+ case OP_KVHSLICE:
+ Perl_croak(aTHX_ "%s argument is key/value hash slice, use hash slice",
+ OP_DESC(o));
default:
Perl_croak(aTHX_ "%s argument is not a HASH or ARRAY element or slice",
OP_DESC(o));
diff --git a/opcode.h b/opcode.h
index 540dc0ba97..b91e7ad9f4 100644
--- a/opcode.h
+++ b/opcode.h
@@ -291,6 +291,7 @@ EXTCONST char* const PL_op_name[] = {
"rv2hv",
"helem",
"hslice",
+ "kvhslice",
"unpack",
"pack",
"split",
@@ -676,6 +677,7 @@ EXTCONST char* const PL_op_desc[] = {
"hash dereference",
"hash element",
"hash slice",
+ "key/value hash slice",
"unpack",
"pack",
"split",
@@ -1075,6 +1077,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */
Perl_pp_helem,
Perl_pp_hslice,
+ Perl_pp_kvhslice,
Perl_pp_unpack,
Perl_pp_pack,
Perl_pp_split,
@@ -1470,6 +1473,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_rvconst, /* rv2hv */
Perl_ck_null, /* helem */
Perl_ck_null, /* hslice */
+ Perl_ck_null, /* kvhslice */
Perl_ck_fun, /* unpack */
Perl_ck_fun, /* pack */
Perl_ck_split, /* split */
@@ -1859,6 +1863,7 @@ EXTCONST U32 PL_opargs[] = {
0x00000148, /* rv2hv */
0x00014204, /* helem */
0x00024401, /* hslice */
+ 0x00024401, /* kvhslice */
0x00091480, /* unpack */
0x0002140f, /* pack */
0x00111408, /* split */
diff --git a/opnames.h b/opnames.h
index 5502ba4d15..d64a333fc6 100644
--- a/opnames.h
+++ b/opnames.h
@@ -157,244 +157,245 @@ typedef enum opcode {
OP_RV2HV = 140,
OP_HELEM = 141,
OP_HSLICE = 142,
- OP_UNPACK = 143,
- OP_PACK = 144,
- OP_SPLIT = 145,
- OP_JOIN = 146,
- OP_LIST = 147,
- OP_LSLICE = 148,
- OP_ANONLIST = 149,
- OP_ANONHASH = 150,
- OP_SPLICE = 151,
- OP_PUSH = 152,
- OP_POP = 153,
- OP_SHIFT = 154,
- OP_UNSHIFT = 155,
- OP_SORT = 156,
- OP_REVERSE = 157,
- OP_GREPSTART = 158,
- OP_GREPWHILE = 159,
- OP_MAPSTART = 160,
- OP_MAPWHILE = 161,
- OP_RANGE = 162,
- OP_FLIP = 163,
- OP_FLOP = 164,
- OP_AND = 165,
- OP_OR = 166,
- OP_XOR = 167,
- OP_DOR = 168,
- OP_COND_EXPR = 169,
- OP_ANDASSIGN = 170,
- OP_ORASSIGN = 171,
- OP_DORASSIGN = 172,
- OP_METHOD = 173,
- OP_ENTERSUB = 174,
- OP_LEAVESUB = 175,
- OP_LEAVESUBLV = 176,
- OP_CALLER = 177,
- OP_WARN = 178,
- OP_DIE = 179,
- OP_RESET = 180,
- OP_LINESEQ = 181,
- OP_NEXTSTATE = 182,
- OP_DBSTATE = 183,
- OP_UNSTACK = 184,
- OP_ENTER = 185,
- OP_LEAVE = 186,
- OP_SCOPE = 187,
- OP_ENTERITER = 188,
- OP_ITER = 189,
- OP_ENTERLOOP = 190,
- OP_LEAVELOOP = 191,
- OP_RETURN = 192,
- OP_LAST = 193,
- OP_NEXT = 194,
- OP_REDO = 195,
- OP_DUMP = 196,
- OP_GOTO = 197,
- OP_EXIT = 198,
- OP_METHOD_NAMED = 199,
- OP_ENTERGIVEN = 200,
- OP_LEAVEGIVEN = 201,
- OP_ENTERWHEN = 202,
- OP_LEAVEWHEN = 203,
- OP_BREAK = 204,
- OP_CONTINUE = 205,
- OP_OPEN = 206,
- OP_CLOSE = 207,
- OP_PIPE_OP = 208,
- OP_FILENO = 209,
- OP_UMASK = 210,
- OP_BINMODE = 211,
- OP_TIE = 212,
- OP_UNTIE = 213,
- OP_TIED = 214,
- OP_DBMOPEN = 215,
- OP_DBMCLOSE = 216,
- OP_SSELECT = 217,
- OP_SELECT = 218,
- OP_GETC = 219,
- OP_READ = 220,
- OP_ENTERWRITE = 221,
- OP_LEAVEWRITE = 222,
- OP_PRTF = 223,
- OP_PRINT = 224,
- OP_SAY = 225,
- OP_SYSOPEN = 226,
- OP_SYSSEEK = 227,
- OP_SYSREAD = 228,
- OP_SYSWRITE = 229,
- OP_EOF = 230,
- OP_TELL = 231,
- OP_SEEK = 232,
- OP_TRUNCATE = 233,
- OP_FCNTL = 234,
- OP_IOCTL = 235,
- OP_FLOCK = 236,
- OP_SEND = 237,
- OP_RECV = 238,
- OP_SOCKET = 239,
- OP_SOCKPAIR = 240,
- OP_BIND = 241,
- OP_CONNECT = 242,
- OP_LISTEN = 243,
- OP_ACCEPT = 244,
- OP_SHUTDOWN = 245,
- OP_GSOCKOPT = 246,
- OP_SSOCKOPT = 247,
- OP_GETSOCKNAME = 248,
- OP_GETPEERNAME = 249,
- OP_LSTAT = 250,
- OP_STAT = 251,
- OP_FTRREAD = 252,
- OP_FTRWRITE = 253,
- OP_FTREXEC = 254,
- OP_FTEREAD = 255,
- OP_FTEWRITE = 256,
- OP_FTEEXEC = 257,
- OP_FTIS = 258,
- OP_FTSIZE = 259,
- OP_FTMTIME = 260,
- OP_FTATIME = 261,
- OP_FTCTIME = 262,
- OP_FTROWNED = 263,
- OP_FTEOWNED = 264,
- OP_FTZERO = 265,
- OP_FTSOCK = 266,
- OP_FTCHR = 267,
- OP_FTBLK = 268,
- OP_FTFILE = 269,
- OP_FTDIR = 270,
- OP_FTPIPE = 271,
- OP_FTSUID = 272,
- OP_FTSGID = 273,
- OP_FTSVTX = 274,
- OP_FTLINK = 275,
- OP_FTTTY = 276,
- OP_FTTEXT = 277,
- OP_FTBINARY = 278,
- OP_CHDIR = 279,
- OP_CHOWN = 280,
- OP_CHROOT = 281,
- OP_UNLINK = 282,
- OP_CHMOD = 283,
- OP_UTIME = 284,
- OP_RENAME = 285,
- OP_LINK = 286,
- OP_SYMLINK = 287,
- OP_READLINK = 288,
- OP_MKDIR = 289,
- OP_RMDIR = 290,
- OP_OPEN_DIR = 291,
- OP_READDIR = 292,
- OP_TELLDIR = 293,
- OP_SEEKDIR = 294,
- OP_REWINDDIR = 295,
- OP_CLOSEDIR = 296,
- OP_FORK = 297,
- OP_WAIT = 298,
- OP_WAITPID = 299,
- OP_SYSTEM = 300,
- OP_EXEC = 301,
- OP_KILL = 302,
- OP_GETPPID = 303,
- OP_GETPGRP = 304,
- OP_SETPGRP = 305,
- OP_GETPRIORITY = 306,
- OP_SETPRIORITY = 307,
- OP_TIME = 308,
- OP_TMS = 309,
- OP_LOCALTIME = 310,
- OP_GMTIME = 311,
- OP_ALARM = 312,
- OP_SLEEP = 313,
- OP_SHMGET = 314,
- OP_SHMCTL = 315,
- OP_SHMREAD = 316,
- OP_SHMWRITE = 317,
- OP_MSGGET = 318,
- OP_MSGCTL = 319,
- OP_MSGSND = 320,
- OP_MSGRCV = 321,
- OP_SEMOP = 322,
- OP_SEMGET = 323,
- OP_SEMCTL = 324,
- OP_REQUIRE = 325,
- OP_DOFILE = 326,
- OP_HINTSEVAL = 327,
- OP_ENTEREVAL = 328,
- OP_LEAVEEVAL = 329,
- OP_ENTERTRY = 330,
- OP_LEAVETRY = 331,
- OP_GHBYNAME = 332,
- OP_GHBYADDR = 333,
- OP_GHOSTENT = 334,
- OP_GNBYNAME = 335,
- OP_GNBYADDR = 336,
- OP_GNETENT = 337,
- OP_GPBYNAME = 338,
- OP_GPBYNUMBER = 339,
- OP_GPROTOENT = 340,
- OP_GSBYNAME = 341,
- OP_GSBYPORT = 342,
- OP_GSERVENT = 343,
- OP_SHOSTENT = 344,
- OP_SNETENT = 345,
- OP_SPROTOENT = 346,
- OP_SSERVENT = 347,
- OP_EHOSTENT = 348,
- OP_ENETENT = 349,
- OP_EPROTOENT = 350,
- OP_ESERVENT = 351,
- OP_GPWNAM = 352,
- OP_GPWUID = 353,
- OP_GPWENT = 354,
- OP_SPWENT = 355,
- OP_EPWENT = 356,
- OP_GGRNAM = 357,
- OP_GGRGID = 358,
- OP_GGRENT = 359,
- OP_SGRENT = 360,
- OP_EGRENT = 361,
- OP_GETLOGIN = 362,
- OP_SYSCALL = 363,
- OP_LOCK = 364,
- OP_ONCE = 365,
- OP_CUSTOM = 366,
- OP_REACH = 367,
- OP_RKEYS = 368,
- OP_RVALUES = 369,
- OP_COREARGS = 370,
- OP_RUNCV = 371,
- OP_FC = 372,
- OP_PADCV = 373,
- OP_INTROCV = 374,
- OP_CLONECV = 375,
- OP_PADRANGE = 376,
+ OP_KVHSLICE = 143,
+ OP_UNPACK = 144,
+ OP_PACK = 145,
+ OP_SPLIT = 146,
+ OP_JOIN = 147,
+ OP_LIST = 148,
+ OP_LSLICE = 149,
+ OP_ANONLIST = 150,
+ OP_ANONHASH = 151,
+ OP_SPLICE = 152,
+ OP_PUSH = 153,
+ OP_POP = 154,
+ OP_SHIFT = 155,
+ OP_UNSHIFT = 156,
+ OP_SORT = 157,
+ OP_REVERSE = 158,
+ OP_GREPSTART = 159,
+ OP_GREPWHILE = 160,
+ OP_MAPSTART = 161,
+ OP_MAPWHILE = 162,
+ OP_RANGE = 163,
+ OP_FLIP = 164,
+ OP_FLOP = 165,
+ OP_AND = 166,
+ OP_OR = 167,
+ OP_XOR = 168,
+ OP_DOR = 169,
+ OP_COND_EXPR = 170,
+ OP_ANDASSIGN = 171,
+ OP_ORASSIGN = 172,
+ OP_DORASSIGN = 173,
+ OP_METHOD = 174,
+ OP_ENTERSUB = 175,
+ OP_LEAVESUB = 176,
+ OP_LEAVESUBLV = 177,
+ OP_CALLER = 178,
+ OP_WARN = 179,
+ OP_DIE = 180,
+ OP_RESET = 181,
+ OP_LINESEQ = 182,
+ OP_NEXTSTATE = 183,
+ OP_DBSTATE = 184,
+ OP_UNSTACK = 185,
+ OP_ENTER = 186,
+ OP_LEAVE = 187,
+ OP_SCOPE = 188,
+ OP_ENTERITER = 189,
+ OP_ITER = 190,
+ OP_ENTERLOOP = 191,
+ OP_LEAVELOOP = 192,
+ OP_RETURN = 193,
+ OP_LAST = 194,
+ OP_NEXT = 195,
+ OP_REDO = 196,
+ OP_DUMP = 197,
+ OP_GOTO = 198,
+ OP_EXIT = 199,
+ OP_METHOD_NAMED = 200,
+ OP_ENTERGIVEN = 201,
+ OP_LEAVEGIVEN = 202,
+ OP_ENTERWHEN = 203,
+ OP_LEAVEWHEN = 204,
+ OP_BREAK = 205,
+ OP_CONTINUE = 206,
+ OP_OPEN = 207,
+ OP_CLOSE = 208,
+ OP_PIPE_OP = 209,
+ OP_FILENO = 210,
+ OP_UMASK = 211,
+ OP_BINMODE = 212,
+ OP_TIE = 213,
+ OP_UNTIE = 214,
+ OP_TIED = 215,
+ OP_DBMOPEN = 216,
+ OP_DBMCLOSE = 217,
+ OP_SSELECT = 218,
+ OP_SELECT = 219,
+ OP_GETC = 220,
+ OP_READ = 221,
+ OP_ENTERWRITE = 222,
+ OP_LEAVEWRITE = 223,
+ OP_PRTF = 224,
+ OP_PRINT = 225,
+ OP_SAY = 226,
+ OP_SYSOPEN = 227,
+ OP_SYSSEEK = 228,
+ OP_SYSREAD = 229,
+ OP_SYSWRITE = 230,
+ OP_EOF = 231,
+ OP_TELL = 232,
+ OP_SEEK = 233,
+ OP_TRUNCATE = 234,
+ OP_FCNTL = 235,
+ OP_IOCTL = 236,
+ OP_FLOCK = 237,
+ OP_SEND = 238,
+ OP_RECV = 239,
+ OP_SOCKET = 240,
+ OP_SOCKPAIR = 241,
+ OP_BIND = 242,
+ OP_CONNECT = 243,
+ OP_LISTEN = 244,
+ OP_ACCEPT = 245,
+ OP_SHUTDOWN = 246,
+ OP_GSOCKOPT = 247,
+ OP_SSOCKOPT = 248,
+ OP_GETSOCKNAME = 249,
+ OP_GETPEERNAME = 250,
+ OP_LSTAT = 251,
+ OP_STAT = 252,
+ OP_FTRREAD = 253,
+ OP_FTRWRITE = 254,
+ OP_FTREXEC = 255,
+ OP_FTEREAD = 256,
+ OP_FTEWRITE = 257,
+ OP_FTEEXEC = 258,
+ OP_FTIS = 259,
+ OP_FTSIZE = 260,
+ OP_FTMTIME = 261,
+ OP_FTATIME = 262,
+ OP_FTCTIME = 263,
+ OP_FTROWNED = 264,
+ OP_FTEOWNED = 265,
+ OP_FTZERO = 266,
+ OP_FTSOCK = 267,
+ OP_FTCHR = 268,
+ OP_FTBLK = 269,
+ OP_FTFILE = 270,
+ OP_FTDIR = 271,
+ OP_FTPIPE = 272,
+ OP_FTSUID = 273,
+ OP_FTSGID = 274,
+ OP_FTSVTX = 275,
+ OP_FTLINK = 276,
+ OP_FTTTY = 277,
+ OP_FTTEXT = 278,
+ OP_FTBINARY = 279,
+ OP_CHDIR = 280,
+ OP_CHOWN = 281,
+ OP_CHROOT = 282,
+ OP_UNLINK = 283,
+ OP_CHMOD = 284,
+ OP_UTIME = 285,
+ OP_RENAME = 286,
+ OP_LINK = 287,
+ OP_SYMLINK = 288,
+ OP_READLINK = 289,
+ OP_MKDIR = 290,
+ OP_RMDIR = 291,
+ OP_OPEN_DIR = 292,
+ OP_READDIR = 293,
+ OP_TELLDIR = 294,
+ OP_SEEKDIR = 295,
+ OP_REWINDDIR = 296,
+ OP_CLOSEDIR = 297,
+ OP_FORK = 298,
+ OP_WAIT = 299,
+ OP_WAITPID = 300,
+ OP_SYSTEM = 301,
+ OP_EXEC = 302,
+ OP_KILL = 303,
+ OP_GETPPID = 304,
+ OP_GETPGRP = 305,
+ OP_SETPGRP = 306,
+ OP_GETPRIORITY = 307,
+ OP_SETPRIORITY = 308,
+ OP_TIME = 309,
+ OP_TMS = 310,
+ OP_LOCALTIME = 311,
+ OP_GMTIME = 312,
+ OP_ALARM = 313,
+ OP_SLEEP = 314,
+ OP_SHMGET = 315,
+ OP_SHMCTL = 316,
+ OP_SHMREAD = 317,
+ OP_SHMWRITE = 318,
+ OP_MSGGET = 319,
+ OP_MSGCTL = 320,
+ OP_MSGSND = 321,
+ OP_MSGRCV = 322,
+ OP_SEMOP = 323,
+ OP_SEMGET = 324,
+ OP_SEMCTL = 325,
+ OP_REQUIRE = 326,
+ OP_DOFILE = 327,
+ OP_HINTSEVAL = 328,
+ OP_ENTEREVAL = 329,
+ OP_LEAVEEVAL = 330,
+ OP_ENTERTRY = 331,
+ OP_LEAVETRY = 332,
+ OP_GHBYNAME = 333,
+ OP_GHBYADDR = 334,
+ OP_GHOSTENT = 335,
+ OP_GNBYNAME = 336,
+ OP_GNBYADDR = 337,
+ OP_GNETENT = 338,
+ OP_GPBYNAME = 339,
+ OP_GPBYNUMBER = 340,
+ OP_GPROTOENT = 341,
+ OP_GSBYNAME = 342,
+ OP_GSBYPORT = 343,
+ OP_GSERVENT = 344,
+ OP_SHOSTENT = 345,
+ OP_SNETENT = 346,
+ OP_SPROTOENT = 347,
+ OP_SSERVENT = 348,
+ OP_EHOSTENT = 349,
+ OP_ENETENT = 350,
+ OP_EPROTOENT = 351,
+ OP_ESERVENT = 352,
+ OP_GPWNAM = 353,
+ OP_GPWUID = 354,
+ OP_GPWENT = 355,
+ OP_SPWENT = 356,
+ OP_EPWENT = 357,
+ OP_GGRNAM = 358,
+ OP_GGRGID = 359,
+ OP_GGRENT = 360,
+ OP_SGRENT = 361,
+ OP_EGRENT = 362,
+ OP_GETLOGIN = 363,
+ OP_SYSCALL = 364,
+ OP_LOCK = 365,
+ OP_ONCE = 366,
+ OP_CUSTOM = 367,
+ OP_REACH = 368,
+ OP_RKEYS = 369,
+ OP_RVALUES = 370,
+ OP_COREARGS = 371,
+ OP_RUNCV = 372,
+ OP_FC = 373,
+ OP_PADCV = 374,
+ OP_INTROCV = 375,
+ OP_CLONECV = 376,
+ OP_PADRANGE = 377,
OP_max
} opcode;
-#define MAXO 377
+#define MAXO 378
#define OP_FREED MAXO
/* the OP_IS_* macros are optimized to a simple range check because
diff --git a/perly.act b/perly.act
index 6982660df3..ef82bc9545 100644
--- a/perly.act
+++ b/perly.act
@@ -8,7 +8,7 @@ case 2:
#line 141 "perly.y"
{
PL_parser->expect = XSTATE;
- ;}
+ }
break;
case 3:
@@ -16,14 +16,14 @@ case 2:
{
newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
(yyval.ival) = 0;
- ;}
+ }
break;
case 4:
#line 150 "perly.y"
{
parser->expect = XTERM;
- ;}
+ }
break;
case 5:
@@ -31,14 +31,14 @@ case 2:
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- ;}
+ }
break;
case 6:
#line 159 "perly.y"
{
parser->expect = XBLOCK;
- ;}
+ }
break;
case 7:
@@ -49,14 +49,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- ;}
+ }
break;
case 8:
#line 171 "perly.y"
{
parser->expect = XSTATE;
- ;}
+ }
break;
case 9:
@@ -67,14 +67,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- ;}
+ }
break;
case 10:
#line 183 "perly.y"
{
parser->expect = XSTATE;
- ;}
+ }
break;
case 11:
@@ -85,14 +85,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- ;}
+ }
break;
case 12:
#line 195 "perly.y"
{
parser->expect = XSTATE;
- ;}
+ }
break;
case 13:
@@ -100,7 +100,7 @@ case 2:
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- ;}
+ }
break;
case 14:
@@ -110,7 +110,7 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 15:
@@ -120,12 +120,12 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(7) - (7)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 16:
#line 226 "perly.y"
- { (yyval.ival) = block_start(TRUE); ;}
+ { (yyval.ival) = block_start(TRUE); }
break;
case 17:
@@ -135,17 +135,17 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 18:
#line 239 "perly.y"
- { (yyval.ival) = block_start(FALSE); ;}
+ { (yyval.ival) = block_start(FALSE); }
break;
case 19:
#line 244 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 20:
@@ -154,12 +154,12 @@ case 2:
PL_pad_reset_pending = TRUE;
if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
- ;}
+ }
break;
case 21:
#line 255 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 22:
@@ -168,7 +168,7 @@ case 2:
PL_pad_reset_pending = TRUE;
if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
- ;}
+ }
break;
case 23:
@@ -179,12 +179,12 @@ case 2:
} else {
(yyval.opval) = IF_MAD(newOP(OP_NULL, 0), NULL);
}
- ;}
+ }
break;
case 24:
#line 274 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 25:
@@ -195,7 +195,7 @@ case 2:
PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),
(ps[(2) - (2)].val.opval) ? cLISTOPx((yyval.opval))->op_first : (yyval.opval), 'L');
- ;}
+ }
break;
case 26:
@@ -205,12 +205,12 @@ case 2:
* PVAL((ps[(1) - (2)].val.p_tkval))[strlen(PVAL((ps[(1) - (2)].val.p_tkval)))+1],
PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval), cLISTOPx((yyval.opval))->op_first, 'L');
- ;}
+ }
break;
case 27:
#line 296 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 28:
@@ -218,7 +218,7 @@ case 2:
{
(yyval.opval) = newOP(OP_NULL,0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
- ;}
+ }
break;
case 29:
@@ -238,7 +238,7 @@ case 2:
SvREFCNT_inc_simple_void(fmtcv);
pad_add_anon(fmtcv, OP_NULL);
}
- ;}
+ }
break;
case 30:
@@ -263,7 +263,7 @@ case 2:
CvCLONE_on(PL_compcv);
PL_parser->in_my = 0;
PL_parser->in_my_stash = NULL;
- ;}
+ }
break;
case 31:
@@ -294,7 +294,7 @@ case 2:
(yyval.opval) = (OP*)NULL;
#endif
intro_my();
- ;}
+ }
break;
case 32:
@@ -312,12 +312,12 @@ case 2:
package_version((ps[(2) - (4)].val.opval));
(yyval.opval) = (OP*)NULL;
#endif
- ;}
+ }
break;
case 33:
#line 385 "perly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
+ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
break;
case 34:
@@ -335,7 +335,7 @@ case 2:
utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
(yyval.opval) = (OP*)NULL;
#endif
- ;}
+ }
break;
case 35:
@@ -347,7 +347,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- ;}
+ }
break;
case 36:
@@ -359,7 +359,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- ;}
+ }
break;
case 37:
@@ -373,17 +373,17 @@ case 2:
? 0
: offset));
PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
- ;}
+ }
break;
case 38:
#line 431 "perly.y"
- { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
+ { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
break;
case 39:
#line 433 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
break;
case 40:
@@ -396,7 +396,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- ;}
+ }
break;
case 41:
@@ -409,7 +409,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- ;}
+ }
break;
case 42:
@@ -432,7 +432,7 @@ case 2:
TOKEN_GETMAD((ps[(7) - (11)].val.i_tkval),(yyval.opval),'2');
TOKEN_GETMAD((ps[(10) - (11)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (11)].val.i_tkval));
- ;}
+ }
break;
case 43:
@@ -444,7 +444,7 @@ case 2:
TOKEN_GETMAD((ps[(5) - (9)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (9)].val.i_tkval));
- ;}
+ }
break;
case 44:
@@ -456,7 +456,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- ;}
+ }
break;
case 45:
@@ -468,7 +468,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- ;}
+ }
break;
case 46:
@@ -477,7 +477,7 @@ case 2:
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
- ;}
+ }
break;
case 47:
@@ -487,7 +487,7 @@ case 2:
if ((ps[(2) - (5)].val.opval)) {
package_version((ps[(2) - (5)].val.opval));
}
- ;}
+ }
break;
case 48:
@@ -500,7 +500,7 @@ case 2:
TOKEN_GETMAD((ps[(8) - (8)].val.i_tkval),(yyval.opval),'}');
if (PL_parser->copline > (line_t)IVAL((ps[(4) - (8)].val.i_tkval)))
PL_parser->copline = (line_t)IVAL((ps[(4) - (8)].val.i_tkval));
- ;}
+ }
break;
case 49:
@@ -509,7 +509,7 @@ case 2:
PL_parser->expect = XSTATE;
(yyval.opval) = (ps[(1) - (2)].val.opval);
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
- ;}
+ }
break;
case 50:
@@ -519,7 +519,7 @@ case 2:
(yyval.opval) = IF_MAD(newOP(OP_NULL, 0), (OP*)NULL);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
PL_parser->copline = NOLINE;
- ;}
+ }
break;
case 51:
@@ -543,55 +543,55 @@ case 2:
else PL_parser->copline--;
(yyval.opval) = newSTATEOP(0, NULL,
convert(OP_FORMLINE, 0, list));
- ;}
+ }
break;
case 52:
#line 565 "perly.y"
- { (yyval.opval) = NULL; ;}
+ { (yyval.opval) = NULL; }
break;
case 53:
#line 567 "perly.y"
- { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); ;}
+ { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
break;
case 54:
#line 572 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 55:
#line 574 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 56:
#line 576 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
- ;}
+ }
break;
case 57:
#line 580 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
- ;}
+ }
break;
case 58:
#line 584 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
- ;}
+ }
break;
case 59:
#line 588 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
- ;}
+ }
break;
case 60:
@@ -599,17 +599,17 @@ case 2:
{ (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
PL_parser->copline = (line_t)IVAL((ps[(2) - (3)].val.i_tkval));
- ;}
+ }
break;
case 61:
#line 597 "perly.y"
- { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
+ { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
break;
case 62:
#line 602 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 63:
@@ -618,7 +618,7 @@ case 2:
((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 64:
@@ -631,12 +631,12 @@ case 2:
TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 65:
#line 623 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 66:
@@ -644,91 +644,91 @@ case 2:
{
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 67:
#line 633 "perly.y"
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
- intro_my(); ;}
+ intro_my(); }
break;
case 68:
#line 639 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 70:
#line 645 "perly.y"
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
- (yyval.opval) = tmplval.opval; ;}
+ (yyval.opval) = tmplval.opval; }
break;
case 72:
#line 653 "perly.y"
- { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
+ { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
break;
case 73:
#line 658 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
break;
case 74:
#line 662 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
break;
case 75:
#line 666 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
break;
case 76:
#line 669 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 77:
#line 670 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 78:
#line 674 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, 0);
- SAVEFREESV(PL_compcv); ;}
+ SAVEFREESV(PL_compcv); }
break;
case 79:
#line 680 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv); ;}
+ SAVEFREESV(PL_compcv); }
break;
case 80:
#line 685 "perly.y"
{ (yyval.ival) = start_subparse(TRUE, 0);
- SAVEFREESV(PL_compcv); ;}
+ SAVEFREESV(PL_compcv); }
break;
case 83:
#line 696 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 85:
#line 702 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+ { (yyval.opval) = (OP*)NULL; }
break;
case 86:
#line 704 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
- ;}
+ }
break;
case 87:
@@ -738,14 +738,14 @@ case 2:
(OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
- ;}
+ }
break;
case 88:
#line 718 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
- ;}
+ }
break;
case 89:
@@ -755,12 +755,12 @@ case 2:
(OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
- ;}
+ }
break;
case 90:
#line 731 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 91:
@@ -771,28 +771,28 @@ case 2:
);
PL_parser->expect = XSTATE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
- ;}
+ }
break;
case 92:
#line 743 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 93:
#line 747 "perly.y"
{ (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 94:
#line 751 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 96:
@@ -805,7 +805,7 @@ case 2:
#else
(yyval.opval) = (ps[(1) - (2)].val.opval);
#endif
- ;}
+ }
break;
case 97:
@@ -817,7 +817,7 @@ case 2:
token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
)
(yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
- ;}
+ }
break;
case 99:
@@ -825,7 +825,7 @@ case 2:
{ (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 100:
@@ -835,7 +835,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 101:
@@ -847,7 +847,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 102:
@@ -856,7 +856,7 @@ case 2:
op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
- ;}
+ }
break;
case 103:
@@ -865,7 +865,7 @@ case 2:
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
- ;}
+ }
break;
case 104:
@@ -876,14 +876,14 @@ case 2:
newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 105:
#line 823 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 106:
@@ -892,13 +892,13 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 107:
#line 833 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
+ (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
break;
case 108:
@@ -906,7 +906,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
- ;}
+ }
break;
case 111:
@@ -916,7 +916,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 112:
@@ -924,7 +924,7 @@ case 2:
{ (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 113:
@@ -935,7 +935,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 114:
@@ -945,7 +945,7 @@ case 2:
scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 115:
@@ -955,7 +955,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 116:
@@ -968,7 +968,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 117:
@@ -980,7 +980,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 118:
@@ -990,7 +990,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 119:
@@ -1001,7 +1001,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 120:
@@ -1011,7 +1011,7 @@ case 2:
newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 121:
@@ -1020,7 +1020,7 @@ case 2:
newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 122:
@@ -1030,7 +1030,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 123:
@@ -1038,7 +1038,7 @@ case 2:
{ (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 124:
@@ -1048,21 +1048,21 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 125:
#line 955 "perly.y"
{ (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 126:
#line 959 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 127:
@@ -1071,49 +1071,49 @@ case 2:
scalar((ps[(1) - (3)].val.opval));
(yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 128:
#line 969 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 129:
#line 973 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 130:
#line 977 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 131:
#line 981 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 132:
#line 985 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 133:
#line 989 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 134:
@@ -1128,28 +1128,28 @@ case 2:
op = (UNOP*)op->op_first; /* get to range */
token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
});
- ;}
+ }
break;
case 135:
#line 1005 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 136:
#line 1009 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 137:
#line 1013 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 138:
@@ -1159,14 +1159,14 @@ case 2:
((yyval.opval)->op_type == OP_NOT
? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
'~');
- ;}
+ }
break;
case 139:
#line 1027 "perly.y"
{ (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 140:
@@ -1176,21 +1176,21 @@ case 2:
(ps[(2) - (2)].val.opval)
);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
- ;}
+ }
break;
case 141:
#line 1038 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 142:
#line 1042 "perly.y"
{ (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 143:
@@ -1198,7 +1198,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 144:
@@ -1206,7 +1206,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 145:
@@ -1214,7 +1214,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 146:
@@ -1222,7 +1222,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 147:
@@ -1230,7 +1230,7 @@ case 2:
{ (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 148:
@@ -1238,7 +1238,7 @@ case 2:
{ (yyval.opval) = newANONLIST((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 149:
@@ -1247,7 +1247,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 150:
@@ -1256,7 +1256,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 151:
@@ -1266,21 +1266,21 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
- ;}
+ }
break;
case 152:
#line 1103 "perly.y"
{ (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 153:
#line 1107 "perly.y"
{ (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
- ;}
+ }
break;
case 154:
@@ -1295,7 +1295,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 155:
@@ -1311,7 +1311,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 156:
@@ -1322,7 +1322,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 157:
@@ -1334,7 +1334,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 162:
@@ -1342,26 +1342,26 @@ case 2:
{ (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
- ;}
+ }
break;
case 163:
#line 1165 "perly.y"
{ (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
case 164:
#line 1169 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 165:
#line 1171 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
- ;}
+ }
break;
case 166:
@@ -1369,12 +1369,12 @@ case 2:
{ (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 167:
#line 1180 "perly.y"
- { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
+ { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); }
break;
case 168:
@@ -1382,37 +1382,37 @@ case 2:
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
case 169:
#line 1187 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 170:
#line 1189 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 171:
#line 1191 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 172:
#line 1193 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 173:
#line 1195 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
break;
case 174:
#line 1197 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 175:
@@ -1424,7 +1424,7 @@ case 2:
ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- ;}
+ }
break;
case 176:
@@ -1438,29 +1438,43 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- ;}
+ }
break;
case 177:
#line 1219 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
+ newOP(OP_PUSHMARK, 0),
+ newLISTOP(OP_KVHSLICE, 0,
+ list((ps[(3) - (5)].val.opval)),
+ ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
+ PL_parser->expect = XOPERATOR;
+ TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
+ TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
+ TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
+ }
break;
case 178:
-#line 1221 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
+#line 1230 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 179:
-#line 1223 "perly.y"
+#line 1232 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
+ break;
+
+ case 180:
+#line 1234 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 180:
-#line 1228 "perly.y"
+ case 181:
+#line 1239 "perly.y"
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1472,122 +1486,122 @@ case 2:
token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
});
- ;}
+ }
break;
- case 181:
-#line 1241 "perly.y"
+ case 182:
+#line 1252 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 182:
-#line 1246 "perly.y"
+ case 183:
+#line 1257 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 183:
-#line 1251 "perly.y"
+ case 184:
+#line 1262 "perly.y"
{ (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 184:
-#line 1255 "perly.y"
+ case 185:
+#line 1266 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 185:
-#line 1259 "perly.y"
+ case 186:
+#line 1270 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 186:
-#line 1263 "perly.y"
+ case 187:
+#line 1274 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 187:
-#line 1267 "perly.y"
+ case 188:
+#line 1278 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 188:
-#line 1271 "perly.y"
+ case 189:
+#line 1282 "perly.y"
{ (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 189:
-#line 1275 "perly.y"
+ case 190:
+#line 1286 "perly.y"
{ (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 190:
-#line 1279 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
+ case 191:
+#line 1290 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
break;
- case 191:
-#line 1281 "perly.y"
+ case 192:
+#line 1292 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
+ op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
break;
- case 192:
-#line 1284 "perly.y"
+ case 193:
+#line 1295 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- ;}
+ }
break;
- case 193:
-#line 1288 "perly.y"
+ case 194:
+#line 1299 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 194:
-#line 1294 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ case 195:
+#line 1305 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
- case 195:
-#line 1296 "perly.y"
+ case 196:
+#line 1307 "perly.y"
{ (yyval.opval) = (ps[(1) - (3)].val.opval);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 196:
-#line 1301 "perly.y"
+ case 197:
+#line 1312 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- scalar((ps[(1) - (1)].val.opval))); ;}
+ scalar((ps[(1) - (1)].val.opval))); }
break;
- case 197:
-#line 1304 "perly.y"
+ case 198:
+#line 1315 "perly.y"
{ (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1595,20 +1609,20 @@ case 2:
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 198:
-#line 1313 "perly.y"
+ case 199:
+#line 1324 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 199:
-#line 1319 "perly.y"
+ case 200:
+#line 1330 "perly.y"
{
if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
&& (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
@@ -1618,169 +1632,166 @@ case 2:
SAVEFREESV(PL_compcv);
} else
(yyval.ival) = 0;
- ;}
+ }
break;
- case 200:
-#line 1330 "perly.y"
+ case 201:
+#line 1341 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 203:
-#line 1337 "perly.y"
+ case 204:
+#line 1348 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
- ;}
+ }
break;
- case 205:
-#line 1347 "perly.y"
+ case 206:
+#line 1358 "perly.y"
{ (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
DO_MAD(
token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
(ps[(3) - (3)].val.opval)->op_madprop = 0;
);
- ;}
+ }
break;
- case 206:
-#line 1355 "perly.y"
+ case 207:
+#line 1366 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
- ;}
+ }
break;
- case 207:
-#line 1362 "perly.y"
+ case 208:
+#line 1373 "perly.y"
{ (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- ;}
+ }
break;
- case 208:
-#line 1367 "perly.y"
+ case 209:
+#line 1378 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
- ;}
- break;
-
- case 209:
-#line 1372 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+ }
break;
case 210:
-#line 1374 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1383 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 211:
-#line 1376 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1385 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 212:
-#line 1381 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+#line 1387 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 213:
-#line 1383 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1392 "perly.y"
+ { (yyval.opval) = (OP*)NULL; }
break;
case 214:
-#line 1387 "perly.y"
- { (yyval.opval) = (OP*)NULL; ;}
+#line 1394 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 215:
-#line 1389 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1398 "perly.y"
+ { (yyval.opval) = (OP*)NULL; }
break;
case 216:
-#line 1395 "perly.y"
- { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
+#line 1400 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 217:
-#line 1399 "perly.y"
+#line 1406 "perly.y"
+ { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+ break;
+
+ case 218:
+#line 1410 "perly.y"
{ (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
- ;}
+ }
break;
- case 218:
-#line 1405 "perly.y"
+ case 219:
+#line 1416 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
- ;}
+ }
break;
- case 219:
-#line 1411 "perly.y"
+ case 220:
+#line 1422 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
- ;}
+ }
break;
- case 220:
-#line 1417 "perly.y"
+ case 221:
+#line 1428 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
- ;}
+ }
break;
- case 221:
-#line 1423 "perly.y"
+ case 222:
+#line 1434 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
- ;}
+ }
break;
- case 222:
-#line 1429 "perly.y"
+ case 223:
+#line 1440 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
- ;}
- break;
-
- case 223:
-#line 1436 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
+ }
break;
case 224:
-#line 1438 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
+#line 1447 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
break;
case 225:
-#line 1440 "perly.y"
- { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
+#line 1449 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
break;
case 226:
-#line 1443 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+#line 1451 "perly.y"
+ { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
break;
-
-/* Line 1267 of yacc.c. */
+ case 227:
+#line 1454 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ break;
default: break;
/* Generated from:
- * 9e20ffc538d3ca3c4dbd4bd0d0c82f329cb509a0e5b976490f105c62fcddec27 perly.y
+ * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index cd50d6d094..c570d60380 100644
--- a/perly.h
+++ b/perly.h
@@ -5,27 +5,24 @@
*/
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.3. */
+/* A Bison parser, made by GNU Bison 2.6.5. */
-/* 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.
-
- This program is free software; you can redistribute it and/or modify
+/* Bison interface for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2012 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
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -36,10 +33,18 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -128,6 +133,7 @@
PEG = 337
};
#endif
+
/* Tokens. */
#define GRAMPROG 258
#define GRAMEXPR 259
@@ -211,8 +217,6 @@
#define PEG 337
-
-
#ifdef PERL_IN_TOKE_C
static bool
S_is_opval_token(int type) {
@@ -239,6 +243,8 @@ S_is_opval_token(int type) {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
+/* Line 2042 of yacc.c */
+
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
char *pval;
@@ -254,18 +260,32 @@ typedef union YYSTYPE
#ifdef PERL_MAD
TOKEN* tkval;
#endif
-}
-/* Line 1529 of yacc.c. */
- YYSTYPE;
+
+
+/* Line 2042 of yacc.c */
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
/* Generated from:
- * 9e20ffc538d3ca3c4dbd4bd0d0c82f329cb509a0e5b976490f105c62fcddec27 perly.y
+ * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 88024bae9b..52cf54d4f0 100644
--- a/perly.tab
+++ b/perly.tab
@@ -6,16 +6,16 @@
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2910
+#define YYLAST 2833
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 66
/* YYNRULES -- Number of rules. */
-#define YYNRULES 226
+#define YYNRULES 227
/* YYNRULES -- Number of states. */
-#define YYNSTATES 455
+#define YYNSTATES 459
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -85,12 +85,12 @@ static const yytype_uint16 yyprhs[] =
517, 520, 523, 526, 529, 532, 535, 538, 542, 545,
550, 554, 560, 563, 566, 571, 577, 582, 588, 590,
592, 594, 596, 602, 605, 607, 610, 614, 616, 619,
- 621, 623, 625, 627, 629, 631, 636, 642, 644, 646,
- 650, 655, 659, 661, 664, 667, 669, 672, 675, 677,
- 680, 682, 685, 687, 691, 693, 697, 699, 703, 708,
- 709, 715, 717, 719, 721, 723, 727, 730, 734, 737,
- 739, 741, 743, 744, 746, 747, 749, 751, 754, 757,
- 760, 763, 766, 769, 771, 773, 775
+ 621, 623, 625, 627, 629, 631, 636, 642, 648, 650,
+ 652, 656, 661, 665, 667, 670, 673, 675, 678, 681,
+ 683, 686, 688, 691, 693, 697, 699, 703, 705, 709,
+ 714, 715, 721, 723, 725, 727, 729, 733, 736, 740,
+ 743, 745, 747, 749, 750, 752, 753, 755, 757, 760,
+ 763, 766, 769, 772, 775, 777, 779, 781
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -160,20 +160,21 @@ static const yytype_int16 yyrhs[] =
102, 146, 101, -1, 29, -1, 102, 101, -1, 164,
-1, 168, -1, 166, -1, 165, -1, 167, -1, 151,
-1, 165, 11, 146, 12, -1, 165, 9, 146, 20,
- 10, -1, 26, -1, 163, -1, 163, 102, 101, -1,
- 163, 102, 146, 101, -1, 68, 141, 160, -1, 53,
- -1, 53, 156, -1, 79, 147, -1, 59, -1, 59,
- 112, -1, 59, 156, -1, 71, -1, 71, 156, -1,
- 32, -1, 32, 156, -1, 56, -1, 56, 102, 101,
- -1, 30, -1, 30, 102, 101, -1, 31, -1, 57,
- 102, 101, -1, 57, 102, 146, 101, -1, -1, 27,
- 157, 102, 147, 101, -1, 23, -1, 148, -1, 55,
- -1, 34, -1, 70, 159, 144, -1, 70, 159, -1,
- 102, 146, 101, -1, 102, 101, -1, 164, -1, 166,
- -1, 165, -1, -1, 147, -1, -1, 146, -1, 164,
- -1, 19, 169, -1, 15, 169, -1, 16, 169, -1,
- 17, 169, -1, 65, 169, -1, 18, 169, -1, 23,
- -1, 164, -1, 112, -1, 28, -1
+ 10, -1, 166, 9, 146, 20, 10, -1, 26, -1,
+ 163, -1, 163, 102, 101, -1, 163, 102, 146, 101,
+ -1, 68, 141, 160, -1, 53, -1, 53, 156, -1,
+ 79, 147, -1, 59, -1, 59, 112, -1, 59, 156,
+ -1, 71, -1, 71, 156, -1, 32, -1, 32, 156,
+ -1, 56, -1, 56, 102, 101, -1, 30, -1, 30,
+ 102, 101, -1, 31, -1, 57, 102, 101, -1, 57,
+ 102, 146, 101, -1, -1, 27, 157, 102, 147, 101,
+ -1, 23, -1, 148, -1, 55, -1, 34, -1, 70,
+ 159, 144, -1, 70, 159, -1, 102, 146, 101, -1,
+ 102, 101, -1, 164, -1, 166, -1, 165, -1, -1,
+ 147, -1, -1, 146, -1, 164, -1, 19, 169, -1,
+ 15, 169, -1, 16, 169, -1, 17, 169, -1, 65,
+ 169, -1, 18, 169, -1, 23, -1, 164, -1, 112,
+ -1, 28, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -196,16 +197,16 @@ static const yytype_uint16 yyrline[] =
1030, 1037, 1041, 1045, 1050, 1055, 1060, 1069, 1074, 1079,
1085, 1091, 1102, 1106, 1110, 1122, 1135, 1143, 1155, 1156,
1157, 1158, 1159, 1164, 1168, 1170, 1174, 1179, 1181, 1186,
- 1188, 1190, 1192, 1194, 1196, 1198, 1207, 1218, 1220, 1222,
- 1227, 1240, 1245, 1250, 1254, 1258, 1262, 1266, 1270, 1274,
- 1278, 1280, 1283, 1287, 1293, 1295, 1300, 1303, 1312, 1319,
- 1318, 1334, 1335, 1336, 1342, 1346, 1354, 1361, 1366, 1371,
- 1373, 1375, 1380, 1382, 1387, 1388, 1394, 1398, 1404, 1410,
- 1416, 1422, 1428, 1435, 1437, 1439, 1442
+ 1188, 1190, 1192, 1194, 1196, 1198, 1207, 1218, 1229, 1231,
+ 1233, 1238, 1251, 1256, 1261, 1265, 1269, 1273, 1277, 1281,
+ 1285, 1289, 1291, 1294, 1298, 1304, 1306, 1311, 1314, 1323,
+ 1330, 1329, 1345, 1346, 1347, 1353, 1357, 1365, 1372, 1377,
+ 1382, 1384, 1386, 1391, 1393, 1398, 1399, 1405, 1409, 1415,
+ 1421, 1427, 1433, 1439, 1446, 1448, 1450, 1453
};
#endif
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+#if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
@@ -224,17 +225,17 @@ static const char *const yytname[] =
"ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR",
"ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
"REFGEN", "UMINUS", "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC",
- "ARROW", "')'", "'('", "PEG", "$accept", "grammar", "@1", "@2", "@3",
- "@4", "@5", "@6", "block", "formblock", "remember", "mblock",
+ "ARROW", "')'", "'('", "PEG", "$accept", "grammar", "$@1", "$@2", "$@3",
+ "$@4", "$@5", "$@6", "block", "formblock", "remember", "mblock",
"mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt",
- "barestmt", "@7", "@8", "@9", "formline", "formarg", "sideff", "else",
+ "barestmt", "$@7", "$@8", "$@9", "formline", "formarg", "sideff", "else",
"cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "miexpr",
"formname", "startsub", "startanonsub", "startformsub", "subname",
"proto", "subattrlist", "myattrlist", "subbody", "expr", "listexpr",
"listop", "@10", "method", "subscripted", "termbinop", "termunop",
"anonymous", "termdo", "term", "@11", "myattrterm", "myterm",
"optlistexpr", "optexpr", "my_scalar", "amper", "scalar", "ary", "hsh",
- "arylen", "star", "indirob", 0
+ "arylen", "star", "indirob", YY_NULL
};
#endif
@@ -279,10 +280,10 @@ static const yytype_uint8 yyr1[] =
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
- 156, 156, 156, 156, 156, 156, 156, 156, 156, 157,
- 156, 156, 156, 156, 156, 158, 158, 159, 159, 159,
- 159, 159, 160, 160, 161, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 169, 169, 169
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 157, 156, 156, 156, 156, 156, 158, 158, 159, 159,
+ 159, 159, 159, 160, 160, 161, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 169, 169, 169
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -305,350 +306,368 @@ static const yytype_uint8 yyr2[] =
2, 2, 2, 2, 2, 2, 2, 3, 2, 4,
3, 5, 2, 2, 4, 5, 4, 5, 1, 1,
1, 1, 5, 2, 1, 2, 3, 1, 2, 1,
- 1, 1, 1, 1, 1, 4, 5, 1, 1, 3,
- 4, 3, 1, 2, 2, 1, 2, 2, 1, 2,
- 1, 2, 1, 3, 1, 3, 1, 3, 4, 0,
- 5, 1, 1, 1, 1, 3, 2, 3, 2, 1,
- 1, 1, 0, 1, 0, 1, 1, 2, 2, 2,
- 2, 2, 2, 1, 1, 1, 1
+ 1, 1, 1, 1, 1, 4, 5, 5, 1, 1,
+ 3, 4, 3, 1, 2, 2, 1, 2, 2, 1,
+ 2, 1, 2, 1, 3, 1, 3, 1, 3, 4,
+ 0, 5, 1, 1, 1, 1, 3, 2, 3, 2,
+ 1, 1, 1, 0, 1, 0, 1, 1, 2, 2,
+ 2, 2, 2, 2, 1, 1, 1, 1
};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 2, 4, 6, 8, 10, 12, 0, 16, 214,
+ 0, 2, 4, 6, 8, 10, 12, 0, 16, 215,
0, 0, 0, 19, 1, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 201, 0, 0, 177, 199, 167,
- 194, 196, 190, 79, 204, 79, 182, 203, 192, 0,
- 0, 185, 212, 0, 0, 0, 0, 0, 0, 188,
- 0, 0, 0, 0, 0, 0, 0, 215, 95, 202,
- 174, 158, 159, 160, 161, 98, 164, 5, 178, 169,
+ 0, 0, 0, 0, 202, 0, 0, 178, 200, 167,
+ 195, 197, 191, 79, 205, 79, 183, 204, 193, 0,
+ 0, 186, 213, 0, 0, 0, 0, 0, 0, 189,
+ 0, 0, 0, 0, 0, 0, 0, 216, 95, 203,
+ 174, 158, 159, 160, 161, 98, 164, 5, 179, 169,
172, 171, 173, 170, 16, 7, 54, 50, 27, 80,
0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
0, 28, 65, 9, 0, 55, 0, 11, 24, 23,
- 0, 0, 148, 0, 139, 140, 223, 226, 225, 224,
- 218, 219, 220, 222, 217, 212, 0, 0, 0, 0,
- 191, 0, 83, 183, 0, 0, 214, 186, 187, 223,
- 213, 105, 224, 0, 221, 201, 82, 153, 0, 152,
- 169, 0, 0, 81, 212, 165, 0, 206, 209, 211,
- 210, 189, 184, 141, 142, 163, 146, 145, 168, 0,
+ 0, 0, 148, 0, 139, 140, 224, 227, 226, 225,
+ 219, 220, 221, 223, 218, 213, 0, 0, 0, 0,
+ 192, 0, 83, 184, 0, 0, 215, 187, 188, 224,
+ 214, 105, 225, 0, 222, 202, 82, 153, 0, 152,
+ 169, 0, 0, 81, 213, 165, 0, 207, 210, 212,
+ 211, 190, 185, 141, 142, 163, 146, 145, 168, 0,
0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 144, 143, 0, 0, 0, 0, 0, 0,
- 0, 19, 77, 78, 0, 33, 16, 16, 16, 16,
- 16, 16, 0, 16, 16, 39, 0, 46, 49, 0,
- 0, 0, 0, 0, 0, 26, 25, 20, 147, 103,
- 214, 0, 0, 195, 107, 84, 85, 193, 197, 0,
- 0, 0, 99, 0, 0, 150, 0, 181, 208, 0,
- 89, 205, 0, 166, 94, 93, 92, 97, 0, 0,
- 121, 0, 134, 130, 131, 127, 128, 125, 0, 137,
- 136, 135, 133, 132, 129, 138, 126, 0, 0, 109,
- 0, 102, 110, 179, 0, 0, 0, 0, 0, 0,
- 0, 76, 0, 30, 0, 0, 70, 0, 0, 0,
- 0, 0, 16, 0, 0, 66, 58, 59, 72, 56,
- 57, 60, 61, 0, 0, 123, 212, 87, 0, 198,
- 106, 0, 154, 0, 156, 0, 149, 207, 88, 0,
- 0, 0, 114, 120, 0, 0, 0, 118, 0, 214,
- 180, 0, 112, 0, 175, 0, 14, 16, 29, 83,
- 16, 32, 0, 0, 71, 0, 0, 73, 75, 0,
- 0, 216, 69, 74, 0, 0, 55, 0, 0, 0,
- 104, 200, 108, 86, 151, 100, 155, 157, 124, 0,
- 117, 162, 0, 113, 119, 0, 115, 176, 111, 0,
- 85, 47, 212, 67, 67, 0, 0, 0, 0, 70,
- 0, 0, 0, 122, 116, 101, 0, 0, 19, 0,
- 0, 0, 18, 62, 62, 0, 65, 0, 0, 37,
- 38, 21, 91, 90, 31, 0, 34, 65, 65, 19,
- 0, 0, 35, 36, 0, 45, 67, 65, 0, 48,
- 40, 41, 0, 63, 0, 65, 0, 44, 0, 52,
- 22, 17, 0, 43, 0, 15, 19, 51, 0, 0,
- 0, 62, 42, 53, 64
+ 0, 0, 19, 77, 78, 0, 33, 16, 16, 16,
+ 16, 16, 16, 0, 16, 16, 39, 0, 46, 49,
+ 0, 0, 0, 0, 0, 0, 26, 25, 20, 147,
+ 103, 215, 0, 0, 196, 107, 84, 85, 194, 198,
+ 0, 0, 0, 99, 0, 0, 150, 0, 182, 209,
+ 0, 89, 206, 0, 166, 94, 93, 92, 97, 0,
+ 0, 121, 0, 134, 130, 131, 127, 128, 125, 0,
+ 137, 136, 135, 133, 132, 129, 138, 126, 0, 0,
+ 109, 0, 102, 110, 180, 0, 0, 0, 0, 0,
+ 0, 0, 0, 76, 0, 30, 0, 0, 70, 0,
+ 0, 0, 0, 0, 16, 0, 0, 66, 58, 59,
+ 72, 56, 57, 60, 61, 0, 0, 123, 213, 87,
+ 0, 199, 106, 0, 154, 0, 156, 0, 149, 208,
+ 88, 0, 0, 0, 114, 120, 0, 0, 0, 118,
+ 0, 215, 181, 0, 112, 0, 175, 0, 0, 14,
+ 16, 29, 83, 16, 32, 0, 0, 71, 0, 0,
+ 73, 75, 0, 0, 217, 69, 74, 0, 0, 55,
+ 0, 0, 0, 104, 201, 108, 86, 151, 100, 155,
+ 157, 124, 0, 117, 162, 0, 113, 119, 0, 115,
+ 176, 177, 111, 0, 85, 47, 213, 67, 67, 0,
+ 0, 0, 0, 70, 0, 0, 0, 122, 116, 101,
+ 0, 0, 19, 0, 0, 0, 18, 62, 62, 0,
+ 65, 0, 0, 37, 38, 21, 91, 90, 31, 0,
+ 34, 65, 65, 19, 0, 0, 35, 36, 0, 45,
+ 67, 65, 0, 48, 40, 41, 0, 63, 0, 65,
+ 0, 44, 0, 52, 22, 17, 0, 43, 0, 15,
+ 19, 51, 0, 0, 0, 62, 42, 53, 64
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 7, 8, 9, 10, 11, 12, 13, 108, 338,
- 15, 403, 419, 100, 428, 217, 98, 99, 339, 285,
- 398, 440, 447, 94, 422, 207, 400, 353, 343, 297,
- 346, 355, 349, 282, 195, 121, 192, 138, 226, 308,
- 241, 414, 95, 58, 59, 306, 271, 60, 61, 62,
- 63, 64, 65, 117, 66, 147, 131, 67, 350, 68,
+ -1, 7, 8, 9, 10, 11, 12, 13, 108, 341,
+ 15, 407, 423, 100, 432, 218, 98, 99, 342, 287,
+ 402, 444, 451, 94, 426, 208, 404, 356, 346, 299,
+ 349, 358, 352, 284, 196, 121, 193, 138, 227, 310,
+ 242, 418, 95, 58, 59, 308, 272, 60, 61, 62,
+ 63, 64, 65, 117, 66, 147, 131, 67, 353, 68,
69, 70, 71, 72, 73, 110
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -391
+#define YYPACT_NINF -399
static const yytype_int16 yypact[] =
{
- 594, -391, -391, -391, -391, -391, -391, 43, -391, 2708,
- 17, 1095, 1000, -391, -391, -391, 1792, 2708, 2708, 215,
- 215, 215, 215, 215, -391, 215, 215, -391, -391, 28,
- -17, -391, 2708, -391, -391, -391, 2708, -391, 20, 25,
- 44, 1700, 1516, 215, 1608, 1882, 72, 2708, 3, 2708,
- 2708, 2708, 2708, 2708, 2708, 2708, 1972, 62, 38, -391,
- 6, -391, -391, -391, -391, 2770, -391, -391, 49, 98,
- 143, -391, -391, 110, -391, -391, -391, -391, -391, -391,
- 72, 146, -391, 86, 109, 114, 119, -6, 120, 121,
- 17, -391, 177, -391, 220, 1698, 1000, -391, -391, -391,
- 430, 525, -391, 26, 408, 408, -391, -391, -391, -391,
- -391, -391, -391, -391, -391, 2708, 139, 155, 2708, 144,
- 314, 17, 147, 2770, 157, 2064, 1516, -391, 314, 1423,
- 38, -391, 1344, 2708, -391, 162, -391, -391, 167, 314,
- 21, 270, 16, -391, 2708, 314, 2156, 218, -391, -391,
- -391, 314, 38, 408, 408, 408, -27, -27, 276, -29,
- 2708, 2708, 2708, 2708, 2708, 2708, 2248, 2708, 2708, 2708,
- 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708,
- 2708, 2708, -391, -391, 73, 2340, 2708, 2708, 2708, 2708,
- 2708, -391, 271, -391, 272, -391, -391, -391, -391, -391,
- -391, -391, 212, -391, -391, -391, 17, -391, -391, 2708,
- 2708, 2708, 2708, 2708, 2708, -391, -391, -391, -391, -391,
- 2708, 2708, 48, -391, -391, -391, 228, -391, -391, 113,
- 202, 2708, 38, 2432, 2524, -391, 306, -391, -391, 116,
- 294, -391, 2708, 310, 245, 245, -391, 2770, 39, 53,
- -391, 198, 247, 1593, 171, 417, 222, 2770, 2730, 1174,
- 1174, 1314, 1393, 1501, 1352, 408, 408, 2708, 2708, -391,
- 2616, 224, -391, -391, 201, 125, 56, 142, 59, 175,
- 620, -391, 309, -391, 57, 304, 2708, 2708, 2708, 2708,
- 323, 1188, -391, 2708, 2708, -391, 62, -391, 62, 62,
- 62, 62, 62, 240, -38, -391, 2708, 319, 17, -391,
- -391, 312, -391, 320, -391, 341, -391, -391, -391, 66,
- 2708, 336, -391, -391, 2708, 178, 71, -391, 415, 2708,
- -391, 340, -391, 345, -391, 346, -391, -391, -391, 147,
- -391, -391, 328, 258, 62, 259, 260, 62, -391, 278,
- 279, -391, -391, -391, 282, 360, 350, 2708, 284, 290,
- -391, -391, -391, -391, -391, -391, -391, -391, -391, 100,
- -391, 2810, 390, -391, -391, 301, -391, -391, -391, 386,
- 228, -391, 2708, -391, -391, 399, 399, 2708, 399, 2708,
- 311, 399, 399, -391, -391, -391, 342, 78, -391, 395,
- 399, 399, -391, 153, 153, 322, 177, 400, 399, -391,
- -391, -391, -391, -391, -391, 715, -391, 177, 177, -391,
- 399, 330, -391, -391, 399, -391, -391, 177, 36, -391,
- -391, -391, 810, -391, 2708, 177, 1281, -391, 402, 352,
- -391, -391, 332, -391, 334, -391, -391, -391, 399, 399,
- 905, 153, -391, -391, -391
+ 695, -399, -399, -399, -399, -399, -399, 76, -399, 2714,
+ 84, 1101, 1006, -399, -399, -399, 1798, 2714, 2714, 204,
+ 204, 204, 204, 204, -399, 204, 204, -399, -399, 101,
+ 6, -399, 2714, -399, -399, -399, 2714, -399, 43, 52,
+ 53, 1706, 1522, 204, 1614, 1888, 56, 2714, 48, 2714,
+ 2714, 2714, 2714, 2714, 2714, 2714, 1978, 20, 79, -399,
+ 2, -399, -399, -399, -399, 332, -399, -399, 64, 96,
+ 114, 156, -399, 170, -399, -399, -399, -399, -399, -399,
+ 56, 166, -399, 88, 90, 102, 103, -1, 119, 141,
+ 84, -399, 148, -399, 178, 1976, 1006, -399, -399, -399,
+ 436, 531, -399, -3, 306, 306, -399, -399, -399, -399,
+ -399, -399, -399, -399, -399, 2714, 143, 145, 2714, 115,
+ 1873, 84, 229, 332, 155, 2070, 1522, -399, 1873, 1429,
+ 79, -399, 1350, 2714, -399, 160, -399, -399, 161, 1873,
+ 13, 247, 63, -399, 2714, 1873, 2162, 194, -399, -399,
+ -399, 1873, 79, 306, 306, 306, 140, 140, 257, -31,
+ 2714, 2714, 2714, 2714, 2714, 2714, 2254, 2714, 2714, 2714,
+ 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714,
+ 2714, 2714, -399, -399, 47, 2346, 2714, 2714, 2714, 2714,
+ 2714, 2714, -399, 246, -399, 253, -399, -399, -399, -399,
+ -399, -399, -399, 169, -399, -399, -399, 84, -399, -399,
+ 2714, 2714, 2714, 2714, 2714, 2714, -399, -399, -399, -399,
+ -399, 2714, 2714, 11, -399, -399, -399, 206, -399, -399,
+ 117, 174, 2714, 79, 2438, 2530, -399, 278, -399, -399,
+ 230, 264, -399, 2714, 282, 220, 220, -399, 332, 75,
+ 41, -399, 243, 1182, 1783, 1599, 519, 421, 332, 251,
+ 1320, 1320, 1399, 1507, 1691, 1358, 306, 306, 2714, 2714,
+ -399, 2622, 200, -399, -399, 248, 100, 60, 124, 70,
+ 183, 203, 626, -399, 283, -399, 16, 293, 2714, 2714,
+ 2714, 2714, 302, 1194, -399, 2714, 2714, -399, 20, -399,
+ 20, 20, 20, 20, 20, 221, 12, -399, 2714, 297,
+ 84, -399, -399, 281, -399, 303, -399, 307, -399, -399,
+ -399, 91, 2714, 333, -399, -399, 2714, 233, 94, -399,
+ 322, 2714, -399, 335, -399, 340, -399, 344, 345, -399,
+ -399, -399, 229, -399, -399, 319, 260, 20, 261, 262,
+ 20, -399, 287, 290, -399, -399, -399, 296, 385, 252,
+ 2714, 309, 311, -399, -399, -399, -399, -399, -399, -399,
+ -399, -399, 97, -399, 2733, 397, -399, -399, 314, -399,
+ -399, -399, -399, 404, 206, -399, 2714, -399, -399, 416,
+ 416, 2714, 416, 2714, 329, 416, 416, -399, -399, -399,
+ 357, 57, -399, 413, 416, 416, -399, 21, 21, 334,
+ 148, 419, 416, -399, -399, -399, -399, -399, -399, 721,
+ -399, 148, 148, -399, 416, 338, -399, -399, 416, -399,
+ -399, 148, 28, -399, -399, -399, 816, -399, 2714, 148,
+ 1287, -399, 420, 368, -399, -399, 342, -399, 347, -399,
+ -399, -399, 416, 416, 911, 21, -399, -399, -399
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -391, -391, -391, -391, -391, -391, -391, -391, -10, -391,
- -33, -95, -391, -12, -391, 424, 356, 18, -391, -391,
- -391, -391, -391, -286, -390, -78, -347, -391, 69, -115,
- -281, 1, -391, -391, 283, 403, -391, -13, 138, 104,
- -391, -391, -5, -34, -391, -391, -391, -391, -391, -391,
- -391, -391, 195, -391, -391, -391, -109, -119, -391, -391,
- 2, 446, 454, -391, -391, 32
+ -399, -399, -399, -399, -399, -399, -399, -399, -10, -399,
+ -70, -170, -399, -12, -399, 434, 361, 4, -399, -399,
+ -399, -399, -399, -276, -398, 182, -369, -399, 65, -165,
+ -275, 24, -399, -399, 288, 448, -399, -2, 157, 106,
+ -399, -399, -4, -34, -399, -399, -399, -399, -399, -399,
+ -399, -399, 197, -399, -399, -399, -109, -119, -399, -399,
+ 7, 449, 450, -399, -399, 17
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -202
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -203
static const yytype_int16 yytable[] =
{
- 75, 92, 92, 101, 57, 352, 219, 230, 130, 19,
- 354, 103, 358, 359, 423, 164, 152, 165, 19, 20,
- 21, 109, 109, 109, 109, 109, 74, 109, 109, 93,
- 186, 127, 187, 144, 137, 237, 236, 401, 218, 118,
- 142, 191, 163, 14, 132, 109, 140, 160, 161, 162,
- 148, 159, 111, 112, 113, 114, 438, 115, 116, 321,
- 305, 454, 439, 361, 200, 322, 340, 193, 332, -202,
- -202, 334, 243, 184, 133, 134, 390, 341, 368, 436,
- 205, 130, 267, 373, 268, 119, 92, 74, 19, 202,
- 92, 92, 160, 161, 162, 143, 201, 269, 412, 232,
- 136, 303, 160, 161, 162, 146, 405, 186, 166, 187,
- 130, 224, 393, 222, 216, 160, 161, 162, 163, 190,
- 229, 57, 124, 234, 160, 161, 162, 125, 132, 160,
- 161, 162, 160, 161, 162, 160, 161, 162, 160, 161,
- 162, 239, 160, 161, 162, 331, 126, 160, 161, 162,
- 352, 185, 188, 442, 189, 244, 245, 246, 231, 248,
- 249, 251, 333, 286, 287, 288, 289, 290, 291, 194,
- 293, 294, 345, 225, 348, 270, 160, 161, 162, 280,
- 274, 275, 276, 277, 278, 279, 272, 304, 196, 160,
- 161, 162, 160, 161, 162, 335, 295, 362, 372, 420,
- 421, 160, 161, 162, 296, 298, 299, 300, 301, 302,
- 375, 197, 104, 105, 309, 57, 198, 317, 160, 161,
- 162, 199, 203, 204, 74, 206, 311, 120, 313, 315,
- 19, 123, 168, -202, 170, 171, 128, 319, 106, 139,
- 208, 220, 145, 107, 151, 223, 153, 154, 155, 156,
- 157, 160, 161, 162, 160, 161, 162, 221, 227, 357,
- 179, 180, 325, 326, -81, 328, 181, 182, 183, 233,
- 92, 184, 130, 399, 160, 161, 162, 160, 161, 162,
- 235, 344, 298, 347, 298, 170, 356, 242, 347, 347,
- 240, 404, 351, 406, 281, 284, 409, 410, 364, 323,
- 307, -202, 330, 310, 379, 417, 418, 381, 168, 169,
- 170, 171, 180, 427, 292, 369, 316, 181, 182, 183,
- 318, 320, 184, 162, 57, 433, 329, 342, 425, 435,
- 337, 174, 175, 176, 177, 178, 179, 180, 19, 430,
- 431, 360, 181, 182, 183, 363, 370, 184, 130, 437,
- 376, 382, 347, 451, 452, 377, 378, 443, 247, 383,
- 384, 385, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 170, 171, 386,
- 389, 387, 347, 388, 344, 391, 415, 413, 160, 161,
- 162, 392, 209, 210, 211, 212, 160, 161, 162, 213,
- 394, 214, 395, 179, 180, 92, 396, 432, 402, 181,
- 182, 183, 408, 365, 184, 416, 411, 160, 161, 162,
- 426, 366, 92, 424, 445, 446, 160, 161, 162, 347,
- -13, 76, 434, 448, 450, 449, 97, 444, 122, 74,
- 92, 16, 367, 17, 18, 19, 20, 21, 22, 23,
- 77, -73, 215, 24, 25, 26, 27, 28, 407, 29,
- 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
- 81, 82, 83, 84, 85, 86, 283, 380, 0, 87,
- 88, 89, 90, 36, 397, 37, 38, 39, 40, 41,
- 42, 160, 161, 162, 149, 43, 44, 45, 46, 47,
- 48, 49, 150, 181, 182, 183, 0, 180, 184, 50,
- 0, 0, 181, 182, 183, 0, 374, 184, 0, 371,
- 0, 51, 52, 53, 0, -3, 76, 0, 54, 55,
- 0, 0, 56, 91, 74, 0, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
- 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
- 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 49, 1, 2, 3,
- 4, 5, 6, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
- 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
- 336, 16, 0, 17, 18, 19, 20, 21, 22, 23,
- 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
- 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
- 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
- 0, 0, 56, 91, 74, 429, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
- 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
- 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
- 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
- 441, 16, 0, 17, 18, 19, 20, 21, 22, 23,
- 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
- 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
- 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
- 0, 0, 56, 91, 74, 0, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
- 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
- 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 49, 0, 0, 453,
- 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
- 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
- 0, 16, 0, 17, 18, 19, 20, 21, 22, 23,
- 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
- 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
- 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 75, 92, 92, 101, 192, 57, 220, 231, 130, 219,
+ 427, 164, 103, 165, 19, 93, 152, 355, 357, 405,
+ 361, 362, 186, 307, 187, 343, 109, 109, 109, 109,
+ 109, 127, 109, 109, 137, 238, 344, 111, 112, 113,
+ 114, 142, 115, 116, 144, 160, 161, 162, 442, 132,
+ 109, 140, 159, 324, 443, 148, 268, 458, 269, 133,
+ 134, 440, 19, 19, 20, 21, 74, 424, 425, 201,
+ 244, 270, 334, 160, 161, 162, 14, 416, 194, 143,
+ 206, 130, 336, 237, 136, 394, 92, 160, 161, 162,
+ 92, 92, 163, 74, 203, 323, 160, 161, 162, 233,
+ 217, 202, 305, 371, 166, 186, 376, 187, 119, 397,
+ 130, 225, 118, 364, 223, 235, 409, 160, 161, 162,
+ 333, 230, 57, 188, 348, 189, 351, 288, 289, 290,
+ 291, 292, 293, 132, 295, 296, 160, 161, 162, 160,
+ 161, 162, 240, 232, 335, 124, 160, 161, 162, 271,
+ 146, 160, 161, 162, 125, 126, 245, 246, 247, 163,
+ 249, 250, 252, 446, 355, 190, 185, 160, 161, 162,
+ 160, 161, 162, 160, 161, 162, 160, 161, 162, 191,
+ 282, 275, 276, 277, 278, 279, 280, 281, 306, 195,
+ 197, 273, 198, 160, 161, 162, 207, 297, 209, 365,
+ 160, 161, 162, 337, 199, 200, 298, 300, 301, 302,
+ 303, 304, 378, 74, 104, 105, 224, 57, 311, 19,
+ 408, 204, 410, 338, 360, 413, 414, 106, 313, 120,
+ 315, 317, 107, 123, 421, 422, -203, -203, 128, 321,
+ 184, 139, 431, 205, 145, 221, 151, 222, 153, 154,
+ 155, 156, 157, 375, 437, 226, 228, 236, 439, 160,
+ 161, 162, -81, 234, 327, 328, 241, 330, 243, 283,
+ 383, 294, 92, 385, 130, 312, 286, 403, 309, 160,
+ 161, 162, 455, 456, 347, 300, 350, 300, 318, 359,
+ 320, 350, 350, 322, 210, 211, 212, 213, 162, 354,
+ 367, 214, 331, 215, 340, 167, 160, 161, 162, 160,
+ 161, 162, 168, 169, 170, 171, 345, 19, 372, 160,
+ 161, 162, 363, 366, 160, 161, 162, 57, 160, 161,
+ 162, 319, 172, 173, 326, 174, 175, 176, 177, 178,
+ 179, 180, 386, 373, 325, 379, 181, 182, 183, 332,
+ 380, 184, 130, -73, 381, 382, 350, 160, 161, 162,
+ 248, 387, 388, 389, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 160,
+ 161, 162, 368, 160, 161, 162, 167, 350, 390, 347,
+ 419, 417, 391, 168, 169, 170, 171, 392, 160, 161,
+ 162, 181, 182, 183, 369, 393, 184, 398, 370, 92,
+ 395, 436, 396, 172, 173, 399, 174, 175, 176, 177,
+ 178, 179, 180, 377, 400, 406, 92, 181, 182, 183,
+ 412, 415, 184, 420, 350, 428, -13, 76, 454, 430,
+ 438, 450, 449, 452, 92, 74, 97, 16, 453, 17,
+ 18, 19, 20, 21, 22, 23, 77, 216, 411, 24,
+ 25, 26, 27, 28, 448, 29, 30, 31, 32, 33,
+ 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
+ 85, 86, 285, 122, 170, 87, 88, 89, 90, 36,
+ 401, 37, 38, 39, 40, 41, 42, 149, 150, 384,
+ 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
+ 0, 180, 0, 0, 0, 50, 181, 182, 183, 0,
+ 0, 184, 0, 374, 0, 0, 0, 51, 52, 53,
+ 0, -3, 76, 0, 54, 55, 0, 0, 56, 91,
+ 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
+ 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
+ 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 41, 42, 429, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 434, 435, 0, 0, 0, 0, 180,
+ 50, 0, 0, 441, 181, 182, 183, 0, 0, 184,
+ 0, 447, 51, 52, 53, 0, 0, 76, 0, 54,
+ 55, 0, 0, 56, 91, 74, 339, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
+ 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
+ 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 43, 44, 45, 46, 47, 48, 49, 1, 2,
+ 3, 4, 5, 6, 0, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
+ 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
+ 74, 433, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
+ 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
+ 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 76, 0, 54,
+ 55, 0, 0, 56, 91, 74, 445, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
+ 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
+ 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
+ 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
+ 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
+ 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
+ 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 457, 0, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 76, 0, 54,
+ 55, 0, 0, 56, 91, 74, 0, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
+ 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
+ 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
+ 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
+ 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
+ 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 78, 0, 79, 80,
+ 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
+ 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 52, 53, 76, 0, 0, 0, 54,
+ 55, 0, 0, 56, 91, 16, 0, 17, 18, 19,
+ 20, 21, 22, 23, -68, 0, 0, 24, 25, 26,
+ 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
+ 0, 0, 0, 35, 0, 0, -203, 0, 0, 0,
+ 0, 0, 0, 168, 169, 170, 171, 36, 0, 37,
+ 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
+ 44, 45, 46, 47, 48, 49, 174, 175, 176, 177,
+ 178, 179, 180, 50, 0, 0, 0, 181, 182, 183,
+ 0, 0, 184, 0, 0, 51, 52, 53, 76, 0,
+ 0, 0, 54, 55, 0, 0, 56, 0, 16, 0,
+ 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
- 0, 0, 56, 91, 74, 0, 16, 0, 17, 18,
- 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 78, 0, 79, 80, 35, 81, 82, 83, 84, 85,
- 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
- 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
- 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 52, 53, 76,
- 0, 0, 0, 54, 55, 0, 0, 56, 91, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, -68, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 0, 168, 169, 170, 171, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 176, 177, 178, 179, 180, 0, 0, 50, 0, 181,
- 182, 183, 0, 0, 184, 0, 0, 0, 0, 51,
- 52, 53, 76, 0, 0, 0, 54, 55, 0, 0,
- 56, 0, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 0, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, 0, -169, 0, 43, 44, 45, 46,
- 47, 48, 49, 186, 0, 187, -169, 0, 0, 0,
- 50, 0, 0, 0, -169, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 168, 169, 170, 171, 54,
- 55, 0, -68, 56, 0, 0, -169, -169, -169, -169,
- 0, 0, 0, -169, 0, -169, 0, 0, -169, 0,
- 0, 177, 178, 179, 180, -169, -169, -169, -169, 181,
- 182, 183, 0, 0, 184, 170, 171, 0, 0, 0,
- -169, -169, -169, -201, -169, -169, -169, -169, -169, -169,
- -169, -169, -169, -169, -169, -201, 0, 0, 0, -169,
- -169, -169, 180, -201, -169, -169, 0, 181, 182, 183,
- 0, 0, 184, 0, 168, 169, 170, 171, 0, 0,
- 0, 0, 0, 0, 0, -201, -201, -201, -201, 0,
- 0, 0, -201, 0, -201, 0, 0, -201, 0, 0,
- 0, 178, 179, 180, -201, -201, -201, -201, 181, 182,
- 183, 0, 0, 184, 0, 0, 0, 0, 0, -201,
- -201, -201, 0, -201, -201, -201, -201, -201, -201, -201,
- -201, -201, -201, -201, 0, 0, 0, 0, -201, -201,
- -201, 0, 0, -201, -201, 74, 0, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 0, 129,
- 25, 26, 27, 28, 107, 29, 30, 31, 32, 33,
+ 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
+ -169, 0, 43, 44, 45, 46, 47, 48, 49, 186,
+ 0, 187, -169, 0, 0, 0, 50, 0, 0, 0,
+ -169, 0, 0, 0, 0, 0, 0, 0, 51, 52,
+ 53, 168, 169, 170, 171, 54, 55, 0, -68, 56,
+ 0, 0, -169, -169, -169, -169, 0, 0, 0, -169,
+ 0, -169, 0, 0, -169, 0, 176, 177, 178, 179,
+ 180, -169, -169, -169, -169, 181, 182, 183, 0, 0,
+ 184, 170, 171, 0, 0, 0, -169, -169, -169, -202,
+ -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
+ -169, -202, 0, 0, 0, -169, -169, -169, 180, -202,
+ -169, -169, 0, 181, 182, 183, 0, 0, 184, 0,
+ 168, 169, 170, 171, 0, 0, 0, 0, 0, 0,
+ 0, -202, -202, -202, -202, 0, 0, 0, -202, 0,
+ -202, 0, 0, -202, 0, 0, 177, 178, 179, 180,
+ -202, -202, -202, -202, 181, 182, 183, 0, 0, 184,
+ 0, 0, 0, 0, 0, -202, -202, -202, 0, -202,
+ -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
+ 0, 0, 0, 0, -202, -202, -202, 0, 0, -202,
+ -202, 74, 0, 16, 0, 17, 18, 19, 20, 21,
+ 22, 23, 0, 0, 0, 129, 25, 26, 27, 28,
+ 107, 29, 30, 31, 32, 33, 34, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 168, 169,
+ 170, 171, 0, 0, 0, 36, 0, 37, 38, 39,
+ 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
+ 46, 47, 48, 49, 0, 178, 179, 180, 0, 0,
+ 0, 50, 181, 182, 183, 0, 0, 184, 0, 0,
+ 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
+ 54, 55, 0, 74, 56, 16, 0, 17, 18, 19,
+ 20, 21, 22, 23, 0, 0, 0, 135, 25, 26,
+ 27, 28, 136, 29, 30, 31, 32, 33, 34, 0,
+ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
+ 168, -203, 170, 171, 0, 0, 0, 36, 0, 37,
+ 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
+ 44, 45, 46, 47, 48, 49, 0, 0, 179, 180,
+ 0, 0, 0, 50, 181, 182, 183, 0, 0, 184,
+ 0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
+ 0, 0, 54, 55, 0, 74, 56, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
0, 0, 168, 169, 170, 171, 0, 0, 0, 36,
0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
179, 180, 0, 0, 0, 50, 181, 182, 183, 0,
0, 184, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 74, 56, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
- 0, 135, 25, 26, 27, 28, 136, 29, 30, 31,
+ 0, 0, 0, 0, 54, 55, 0, 0, 56, 16,
+ 102, 17, 18, 19, 20, 21, 22, 23, 0, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, -202, 0, 170, 171, 0, 0,
+ 0, 0, 0, 0, -203, 0, 170, 171, 0, 0,
0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
0, 0, 179, 180, 0, 0, 0, 50, 181, 182,
183, 0, 0, 184, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 74,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 16,
+ 56, 17, 18, 19, 20, 21, 22, 23, 141, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 170, 171, 0, 0,
+ 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
+ 0, 0, 179, 180, 0, 0, 0, 50, 181, 182,
+ 183, 0, 0, 184, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 16,
+ 56, 17, 18, 19, 20, 21, 22, 23, 0, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 0, 0, 0, 0, 35, 210, 211,
+ 212, 213, 0, 0, 0, 214, 0, 215, 0, 0,
+ 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
+ 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
+ 0, 0, 160, 161, 162, 0, 0, 50, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 158,
56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
- 209, 210, 211, 212, 0, 0, 0, 213, 0, 214,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 160, 161, 162, 0, 0, 50,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 0, 56, 16, 102, 17, 18, 19, 20, 21,
- 22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 16, 56, 17, 18, 19, 20, 21,
- 22, 23, 141, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 16, 56, 17, 18, 19, 20, 21,
+ 0, 229, 56, 16, 0, 17, 18, 19, 20, 21,
22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -657,7 +676,7 @@ static const yytype_int16 yytable[] =
46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 158, 56, 16, 0, 17, 18, 19,
+ 54, 55, 0, 239, 56, 16, 0, 17, 18, 19,
20, 21, 22, 23, 0, 0, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
@@ -666,7 +685,7 @@ static const yytype_int16 yytable[] =
44, 45, 46, 47, 48, 49, 0, 0, 0, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 228, 56, 16, 0, 17,
+ 0, 0, 54, 55, 0, 251, 56, 16, 0, 17,
18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
@@ -675,7 +694,7 @@ static const yytype_int16 yytable[] =
0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 238, 56, 16,
+ 0, 0, 0, 0, 54, 55, 0, 274, 56, 16,
0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
@@ -684,7 +703,7 @@ static const yytype_int16 yytable[] =
0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 250,
+ 52, 53, 0, 0, 0, 0, 54, 55, 0, 314,
56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
@@ -694,7 +713,7 @@ static const yytype_int16 yytable[] =
48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 273, 56, 16, 0, 17, 18, 19, 20, 21,
+ 0, 316, 56, 16, 0, 17, 18, 19, 20, 21,
22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -703,248 +722,246 @@ static const yytype_int16 yytable[] =
46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 312, 56, 16, 0, 17, 18, 19,
+ 54, 55, 0, 329, 56, 16, 0, 17, 18, 19,
20, 21, 22, 23, 0, 0, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 36, 0, 37,
38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 0, 0, 0, 0,
- 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
+ 44, 45, 46, 47, 48, 49, 0, 167, 0, 0,
+ 0, 0, 0, 50, 168, 169, 170, 171, 0, 0,
0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 314, 56, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 327, 56, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 0, 0, 167, 0, 0, 50, 0, 0,
- 0, 168, 169, 170, 171, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 0,
- 56, 172, 173, 324, 174, 175, 176, 177, 178, 179,
- 180, 0, 0, 0, 167, 181, 182, 183, 0, 0,
- 184, 168, 169, 170, 171, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 172, 173, 0, 174, 175, 176, 177, 178, 179,
- 180, 0, 0, 0, 167, 181, 182, 183, 0, 0,
- 184, 168, 169, 170, 171, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 173, 0, 174, 175, 176, 177, 178, 179,
- 180, 0, 0, 0, 0, 181, 182, 183, 0, 0,
- 184
+ 0, 0, 54, 55, 0, 173, 56, 174, 175, 176,
+ 177, 178, 179, 180, 0, 0, 0, 0, 181, 182,
+ 183, 0, 0, 184
};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-399)))
+
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-203)))
+
static const yytype_int16 yycheck[] =
{
- 10, 11, 12, 15, 9, 291, 115, 126, 42, 15,
- 291, 16, 293, 294, 404, 9, 50, 11, 15, 16,
- 17, 19, 20, 21, 22, 23, 9, 25, 26, 11,
- 9, 41, 11, 46, 44, 144, 20, 384, 12, 11,
- 45, 74, 80, 0, 42, 43, 44, 76, 77, 78,
- 48, 56, 20, 21, 22, 23, 20, 25, 26, 20,
- 12, 451, 26, 101, 70, 12, 9, 80, 12, 96,
- 97, 12, 101, 100, 42, 43, 357, 20, 12, 426,
- 90, 115, 9, 12, 11, 102, 96, 9, 15, 87,
- 100, 101, 76, 77, 78, 23, 102, 24, 20, 133,
- 28, 220, 76, 77, 78, 102, 387, 9, 102, 11,
- 144, 121, 12, 118, 96, 76, 77, 78, 80, 9,
- 125, 126, 102, 102, 76, 77, 78, 102, 126, 76,
- 77, 78, 76, 77, 78, 76, 77, 78, 76, 77,
- 78, 146, 76, 77, 78, 20, 102, 76, 77, 78,
- 436, 102, 9, 434, 11, 160, 161, 162, 126, 164,
- 165, 166, 20, 196, 197, 198, 199, 200, 201, 23,
- 203, 204, 287, 26, 289, 102, 76, 77, 78, 191,
- 185, 186, 187, 188, 189, 190, 184, 221, 102, 76,
- 77, 78, 76, 77, 78, 20, 206, 306, 20, 46,
- 47, 76, 77, 78, 209, 210, 211, 212, 213, 214,
- 329, 102, 17, 18, 101, 220, 102, 101, 76, 77,
- 78, 102, 102, 102, 9, 48, 231, 32, 233, 234,
- 15, 36, 61, 62, 63, 64, 41, 242, 23, 44,
- 20, 102, 47, 28, 49, 101, 51, 52, 53, 54,
- 55, 76, 77, 78, 76, 77, 78, 102, 101, 292,
- 89, 90, 267, 268, 102, 270, 95, 96, 97, 102,
- 280, 100, 306, 382, 76, 77, 78, 76, 77, 78,
- 10, 286, 287, 288, 289, 63, 291, 11, 293, 294,
- 72, 386, 290, 388, 23, 23, 391, 392, 308, 101,
- 72, 54, 101, 101, 337, 400, 401, 340, 61, 62,
- 63, 64, 90, 408, 102, 320, 10, 95, 96, 97,
- 26, 11, 100, 78, 329, 420, 102, 23, 406, 424,
- 21, 84, 85, 86, 87, 88, 89, 90, 15, 417,
- 418, 101, 95, 96, 97, 26, 10, 100, 382, 427,
- 10, 23, 357, 448, 449, 10, 10, 435, 163, 101,
- 101, 101, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 63, 64, 101,
- 20, 102, 387, 101, 389, 101, 398, 397, 76, 77,
- 78, 101, 42, 43, 44, 45, 76, 77, 78, 49,
- 10, 51, 101, 89, 90, 415, 20, 419, 9, 95,
- 96, 97, 101, 101, 100, 20, 74, 76, 77, 78,
- 20, 101, 432, 101, 22, 73, 76, 77, 78, 434,
- 0, 1, 102, 101, 446, 101, 12, 436, 35, 9,
- 450, 11, 101, 13, 14, 15, 16, 17, 18, 19,
- 20, 101, 96, 23, 24, 25, 26, 27, 389, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 193, 339, -1, 49,
- 50, 51, 52, 53, 380, 55, 56, 57, 58, 59,
- 60, 76, 77, 78, 48, 65, 66, 67, 68, 69,
- 70, 71, 48, 95, 96, 97, -1, 90, 100, 79,
- -1, -1, 95, 96, 97, -1, 101, 100, -1, 324,
- -1, 91, 92, 93, -1, 0, 1, -1, 98, 99,
- -1, -1, 102, 103, 9, -1, 11, -1, 13, 14,
- 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
- 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
- 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, 3, 4, 5,
- 6, 7, 8, -1, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
- -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
- 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
- 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
- -1, -1, 102, 103, 9, 10, 11, -1, 13, 14,
- 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
- 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
- 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
- -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
- 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
- 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
- -1, -1, 102, 103, 9, -1, 11, -1, 13, 14,
- 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
- 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
- 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, -1, -1, 74,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
- -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
- -1, 11, -1, 13, 14, 15, 16, 17, 18, 19,
- 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ 10, 11, 12, 15, 74, 9, 115, 126, 42, 12,
+ 408, 9, 16, 11, 15, 11, 50, 293, 293, 388,
+ 295, 296, 9, 12, 11, 9, 19, 20, 21, 22,
+ 23, 41, 25, 26, 44, 144, 20, 20, 21, 22,
+ 23, 45, 25, 26, 46, 76, 77, 78, 20, 42,
+ 43, 44, 56, 12, 26, 48, 9, 455, 11, 42,
+ 43, 430, 15, 15, 16, 17, 9, 46, 47, 70,
+ 101, 24, 12, 76, 77, 78, 0, 20, 80, 23,
+ 90, 115, 12, 20, 28, 360, 96, 76, 77, 78,
+ 100, 101, 80, 9, 87, 20, 76, 77, 78, 133,
+ 96, 102, 221, 12, 102, 9, 12, 11, 102, 12,
+ 144, 121, 11, 101, 118, 102, 391, 76, 77, 78,
+ 20, 125, 126, 9, 289, 11, 291, 197, 198, 199,
+ 200, 201, 202, 126, 204, 205, 76, 77, 78, 76,
+ 77, 78, 146, 126, 20, 102, 76, 77, 78, 102,
+ 102, 76, 77, 78, 102, 102, 160, 161, 162, 80,
+ 164, 165, 166, 438, 440, 9, 102, 76, 77, 78,
+ 76, 77, 78, 76, 77, 78, 76, 77, 78, 9,
+ 192, 185, 186, 187, 188, 189, 190, 191, 222, 23,
+ 102, 184, 102, 76, 77, 78, 48, 207, 20, 308,
+ 76, 77, 78, 20, 102, 102, 210, 211, 212, 213,
+ 214, 215, 331, 9, 17, 18, 101, 221, 101, 15,
+ 390, 102, 392, 20, 294, 395, 396, 23, 232, 32,
+ 234, 235, 28, 36, 404, 405, 96, 97, 41, 243,
+ 100, 44, 412, 102, 47, 102, 49, 102, 51, 52,
+ 53, 54, 55, 20, 424, 26, 101, 10, 428, 76,
+ 77, 78, 102, 102, 268, 269, 72, 271, 11, 23,
+ 340, 102, 282, 343, 308, 101, 23, 386, 72, 76,
+ 77, 78, 452, 453, 288, 289, 290, 291, 10, 293,
+ 26, 295, 296, 11, 42, 43, 44, 45, 78, 292,
+ 310, 49, 102, 51, 21, 54, 76, 77, 78, 76,
+ 77, 78, 61, 62, 63, 64, 23, 15, 322, 76,
+ 77, 78, 101, 26, 76, 77, 78, 331, 76, 77,
+ 78, 101, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 23, 10, 101, 10, 95, 96, 97, 101,
+ 10, 100, 386, 101, 10, 10, 360, 76, 77, 78,
+ 163, 101, 101, 101, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 76,
+ 77, 78, 101, 76, 77, 78, 54, 391, 101, 393,
+ 402, 401, 102, 61, 62, 63, 64, 101, 76, 77,
+ 78, 95, 96, 97, 101, 20, 100, 10, 101, 419,
+ 101, 423, 101, 81, 82, 101, 84, 85, 86, 87,
+ 88, 89, 90, 101, 20, 9, 436, 95, 96, 97,
+ 101, 74, 100, 20, 438, 101, 0, 1, 450, 20,
+ 102, 73, 22, 101, 454, 9, 12, 11, 101, 13,
+ 14, 15, 16, 17, 18, 19, 20, 96, 393, 23,
+ 24, 25, 26, 27, 440, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 194, 35, 63, 49, 50, 51, 52, 53,
+ 384, 55, 56, 57, 58, 59, 60, 48, 48, 342,
+ -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
+ -1, 90, -1, -1, -1, 79, 95, 96, 97, -1,
+ -1, 100, -1, 326, -1, -1, -1, 91, 92, 93,
+ -1, 0, 1, -1, 98, 99, -1, -1, 102, 103,
+ 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 59, 60, 410, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, 421, 422, -1, -1, -1, -1, 90,
+ 79, -1, -1, 431, 95, 96, 97, -1, -1, 100,
+ -1, 439, 91, 92, 93, -1, -1, 1, -1, 98,
+ 99, -1, -1, 102, 103, 9, 10, 11, -1, 13,
+ 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
+ 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, 3, 4,
+ 5, 6, 7, 8, -1, 79, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
+ -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
+ 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, 93, -1, -1, 1, -1, 98,
+ 99, -1, -1, 102, 103, 9, 10, 11, -1, 13,
+ 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
+ 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
+ -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
+ -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
+ 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, -1, -1, 74, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, 93, -1, -1, 1, -1, 98,
+ 99, -1, -1, 102, 103, 9, -1, 11, -1, 13,
+ 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
+ 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
+ -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
+ -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
+ 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, 35, -1, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, 93, 1, -1, -1, -1, 98,
+ 99, -1, -1, 102, 103, 11, -1, 13, 14, 15,
+ 16, 17, 18, 19, 20, -1, -1, 23, 24, 25,
+ 26, 27, -1, 29, 30, 31, 32, 33, 34, -1,
+ -1, -1, -1, 39, -1, -1, 54, -1, -1, -1,
+ -1, -1, -1, 61, 62, 63, 64, 53, -1, 55,
+ 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, 71, 84, 85, 86, 87,
+ 88, 89, 90, 79, -1, -1, -1, 95, 96, 97,
+ -1, -1, 100, -1, -1, 91, 92, 93, 1, -1,
+ -1, -1, 98, 99, -1, -1, 102, -1, 11, -1,
+ 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
+ 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
+ 33, 34, -1, -1, -1, -1, 39, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
- -1, -1, 102, 103, 9, -1, 11, -1, 13, 14,
- 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
- 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
- 35, -1, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
- 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, 93, 1,
- -1, -1, -1, 98, 99, -1, -1, 102, 103, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, 20, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, -1, 61, 62, 63, 64, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- 86, 87, 88, 89, 90, -1, -1, 79, -1, 95,
- 96, 97, -1, -1, 100, -1, -1, -1, -1, 91,
- 92, 93, 1, -1, -1, -1, 98, 99, -1, -1,
- 102, -1, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, -1, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
- 39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 53, -1, 55, 56, 57, 58,
- 59, 60, -1, -1, 0, -1, 65, 66, 67, 68,
- 69, 70, 71, 9, -1, 11, 12, -1, -1, -1,
- 79, -1, -1, -1, 20, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, 61, 62, 63, 64, 98,
- 99, -1, 101, 102, -1, -1, 42, 43, 44, 45,
- -1, -1, -1, 49, -1, 51, -1, -1, 54, -1,
- -1, 87, 88, 89, 90, 61, 62, 63, 64, 95,
- 96, 97, -1, -1, 100, 63, 64, -1, -1, -1,
- 76, 77, 78, 0, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 12, -1, -1, -1, 95,
- 96, 97, 90, 20, 100, 101, -1, 95, 96, 97,
- -1, -1, 100, -1, 61, 62, 63, 64, -1, -1,
- -1, -1, -1, -1, -1, 42, 43, 44, 45, -1,
- -1, -1, 49, -1, 51, -1, -1, 54, -1, -1,
- -1, 88, 89, 90, 61, 62, 63, 64, 95, 96,
- 97, -1, -1, 100, -1, -1, -1, -1, -1, 76,
- 77, 78, -1, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, -1, -1, -1, -1, 95, 96,
- 97, -1, -1, 100, 101, 9, -1, 11, -1, 13,
+ 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
+ 0, -1, 65, 66, 67, 68, 69, 70, 71, 9,
+ -1, 11, 12, -1, -1, -1, 79, -1, -1, -1,
+ 20, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 93, 61, 62, 63, 64, 98, 99, -1, 101, 102,
+ -1, -1, 42, 43, 44, 45, -1, -1, -1, 49,
+ -1, 51, -1, -1, 54, -1, 86, 87, 88, 89,
+ 90, 61, 62, 63, 64, 95, 96, 97, -1, -1,
+ 100, 63, 64, -1, -1, -1, 76, 77, 78, 0,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 12, -1, -1, -1, 95, 96, 97, 90, 20,
+ 100, 101, -1, 95, 96, 97, -1, -1, 100, -1,
+ 61, 62, 63, 64, -1, -1, -1, -1, -1, -1,
+ -1, 42, 43, 44, 45, -1, -1, -1, 49, -1,
+ 51, -1, -1, 54, -1, -1, 87, 88, 89, 90,
+ 61, 62, 63, 64, 95, 96, 97, -1, -1, 100,
+ -1, -1, -1, -1, -1, 76, 77, 78, -1, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, -1, 95, 96, 97, -1, -1, 100,
+ 101, 9, -1, 11, -1, 13, 14, 15, 16, 17,
+ 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
+ -1, 39, -1, -1, -1, -1, -1, -1, 61, 62,
+ 63, 64, -1, -1, -1, 53, -1, 55, 56, 57,
+ 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, 71, -1, 88, 89, 90, -1, -1,
+ -1, 79, 95, 96, 97, -1, -1, 100, -1, -1,
+ -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
+ 98, 99, -1, 9, 102, 11, -1, 13, 14, 15,
+ 16, 17, 18, 19, -1, -1, -1, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
+ -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
+ 61, 62, 63, 64, -1, -1, -1, 53, -1, 55,
+ 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, 71, -1, -1, 89, 90,
+ -1, -1, -1, 79, 95, 96, 97, -1, -1, 100,
+ -1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
+ -1, -1, 98, 99, -1, 9, 102, 11, -1, 13,
14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
-1, -1, 61, 62, 63, 64, -1, -1, -1, 53,
-1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
-1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
89, 90, -1, -1, -1, 79, 95, 96, 97, -1,
-1, 100, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, 98, 99, -1, 9, 102, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, -1, -1,
- -1, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ -1, -1, -1, -1, 98, 99, -1, -1, 102, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
-1, -1, -1, -1, 61, -1, 63, 64, -1, -1,
-1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
-1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
-1, -1, 89, 90, -1, -1, -1, 79, 95, 96,
97, -1, -1, 100, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, 9,
+ 92, 93, -1, -1, -1, -1, 98, 99, -1, 11,
+ 102, 13, 14, 15, 16, 17, 18, 19, 20, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
+ -1, -1, -1, -1, -1, -1, 63, 64, -1, -1,
+ -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ -1, -1, 89, 90, -1, -1, -1, 79, 95, 96,
+ 97, -1, -1, 100, -1, -1, -1, -1, -1, 91,
+ 92, 93, -1, -1, -1, -1, 98, 99, -1, 11,
+ 102, 13, 14, 15, 16, 17, 18, 19, -1, -1,
+ -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
+ 32, 33, 34, -1, -1, -1, -1, 39, 42, 43,
+ 44, 45, -1, -1, -1, 49, -1, 51, -1, -1,
+ -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ -1, -1, 76, 77, 78, -1, -1, 79, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, -1, -1, -1, -1, 98, 99, -1, 101,
102, 11, -1, 13, 14, 15, 16, 17, 18, 19,
-1, -1, -1, 23, 24, 25, 26, 27, -1, 29,
30, 31, 32, 33, 34, -1, -1, -1, -1, 39,
- 42, 43, 44, 45, -1, -1, -1, 49, -1, 51,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 53, -1, 55, 56, 57, 58, 59,
60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, 76, 77, 78, -1, -1, 79,
+ 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 91, 92, 93, -1, -1, -1, -1, 98, 99,
- -1, -1, 102, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- 98, 99, -1, 11, 102, 13, 14, 15, 16, 17,
- 18, 19, 20, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- 98, 99, -1, 11, 102, 13, 14, 15, 16, 17,
+ -1, 101, 102, 11, -1, 13, 14, 15, 16, 17,
18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
-1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
-1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1005,39 +1022,12 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 53, -1, 55,
56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, -1, -1, -1, -1, -1, -1,
+ 66, 67, 68, 69, 70, 71, -1, 54, -1, -1,
+ -1, -1, -1, 79, 61, 62, 63, 64, -1, -1,
-1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
- -1, -1, 98, 99, -1, 101, 102, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, 98, 99, -1, 101, 102, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, -1, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, -1, -1, 54, -1, -1, 79, -1, -1,
- -1, 61, 62, 63, 64, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, -1,
- 102, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, -1, -1, -1, 54, 95, 96, 97, -1, -1,
- 100, 61, 62, 63, 64, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 81, 82, -1, 84, 85, 86, 87, 88, 89,
- 90, -1, -1, -1, 54, 95, 96, 97, -1, -1,
- 100, 61, 62, 63, 64, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 82, -1, 84, 85, 86, 87, 88, 89,
- 90, -1, -1, -1, -1, 95, 96, 97, -1, -1,
- 100
+ -1, -1, 98, 99, -1, 82, 102, 84, 85, 86,
+ 87, 88, 89, 90, -1, -1, -1, -1, 95, 96,
+ 97, -1, -1, 100
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1063,33 +1053,33 @@ static const yytype_uint8 yystos[] =
76, 77, 78, 80, 9, 11, 102, 54, 61, 62,
63, 64, 81, 82, 84, 85, 86, 87, 88, 89,
90, 95, 96, 97, 100, 102, 9, 11, 9, 11,
- 9, 114, 140, 141, 23, 138, 102, 102, 102, 102,
- 70, 102, 164, 102, 102, 112, 48, 129, 20, 42,
- 43, 44, 45, 49, 51, 120, 121, 119, 12, 160,
- 102, 102, 146, 101, 112, 26, 142, 101, 101, 146,
- 161, 169, 147, 102, 102, 10, 20, 160, 101, 146,
- 72, 144, 11, 101, 146, 146, 146, 156, 146, 146,
- 101, 146, 156, 156, 156, 156, 156, 156, 156, 156,
- 156, 156, 156, 156, 156, 156, 156, 9, 11, 24,
- 102, 150, 164, 101, 146, 146, 146, 146, 146, 146,
- 117, 23, 137, 138, 23, 123, 114, 114, 114, 114,
- 114, 114, 102, 114, 114, 112, 146, 133, 146, 146,
- 146, 146, 146, 161, 147, 12, 149, 72, 143, 101,
- 101, 146, 101, 146, 101, 146, 10, 101, 26, 146,
- 11, 20, 12, 101, 83, 146, 146, 101, 146, 102,
- 101, 20, 12, 20, 12, 20, 10, 21, 113, 122,
- 9, 20, 23, 132, 146, 133, 134, 146, 133, 136,
- 162, 164, 127, 131, 134, 135, 146, 114, 134, 134,
- 101, 101, 160, 26, 112, 101, 101, 101, 12, 146,
- 10, 156, 20, 12, 101, 161, 10, 10, 10, 114,
- 142, 114, 23, 101, 101, 101, 101, 102, 101, 20,
- 134, 101, 101, 12, 10, 101, 20, 143, 124, 160,
- 130, 130, 9, 115, 115, 134, 115, 132, 101, 115,
- 115, 74, 20, 112, 145, 117, 20, 115, 115, 116,
- 46, 47, 128, 128, 101, 129, 20, 115, 118, 10,
- 129, 129, 117, 115, 102, 115, 130, 129, 20, 26,
- 125, 10, 134, 129, 135, 22, 73, 126, 101, 101,
- 117, 115, 115, 74, 128
+ 9, 9, 114, 140, 141, 23, 138, 102, 102, 102,
+ 102, 70, 102, 164, 102, 102, 112, 48, 129, 20,
+ 42, 43, 44, 45, 49, 51, 120, 121, 119, 12,
+ 160, 102, 102, 146, 101, 112, 26, 142, 101, 101,
+ 146, 161, 169, 147, 102, 102, 10, 20, 160, 101,
+ 146, 72, 144, 11, 101, 146, 146, 146, 156, 146,
+ 146, 101, 146, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 9, 11,
+ 24, 102, 150, 164, 101, 146, 146, 146, 146, 146,
+ 146, 146, 117, 23, 137, 138, 23, 123, 114, 114,
+ 114, 114, 114, 114, 102, 114, 114, 112, 146, 133,
+ 146, 146, 146, 146, 146, 161, 147, 12, 149, 72,
+ 143, 101, 101, 146, 101, 146, 101, 146, 10, 101,
+ 26, 146, 11, 20, 12, 101, 83, 146, 146, 101,
+ 146, 102, 101, 20, 12, 20, 12, 20, 20, 10,
+ 21, 113, 122, 9, 20, 23, 132, 146, 133, 134,
+ 146, 133, 136, 162, 164, 127, 131, 134, 135, 146,
+ 114, 134, 134, 101, 101, 160, 26, 112, 101, 101,
+ 101, 12, 146, 10, 156, 20, 12, 101, 161, 10,
+ 10, 10, 10, 114, 142, 114, 23, 101, 101, 101,
+ 101, 102, 101, 20, 134, 101, 101, 12, 10, 101,
+ 20, 143, 124, 160, 130, 130, 9, 115, 115, 134,
+ 115, 132, 101, 115, 115, 74, 20, 112, 145, 117,
+ 20, 115, 115, 116, 46, 47, 128, 128, 101, 129,
+ 20, 115, 118, 10, 129, 129, 117, 115, 102, 115,
+ 130, 129, 20, 26, 125, 10, 134, 129, 135, 22,
+ 73, 126, 101, 101, 117, 115, 115, 74, 128
};
typedef enum {
@@ -1127,6 +1117,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 9e20ffc538d3ca3c4dbd4bd0d0c82f329cb509a0e5b976490f105c62fcddec27 perly.y
+ * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index 0f98f59079..cf11a9918d 100644
--- a/perly.y
+++ b/perly.y
@@ -1215,6 +1215,17 @@ term : termbinop
TOKEN_GETMAD($4,$$,';');
TOKEN_GETMAD($5,$$,'}');
}
+ | hsh '{' expr ';' '}' /* %hash{@keys} */
+ { $$ = op_prepend_elem(OP_KVHSLICE,
+ newOP(OP_PUSHMARK, 0),
+ newLISTOP(OP_KVHSLICE, 0,
+ list($3),
+ ref($1, OP_KVHSLICE)));
+ PL_parser->expect = XOPERATOR;
+ TOKEN_GETMAD($2,$$,'{');
+ TOKEN_GETMAD($4,$$,';');
+ TOKEN_GETMAD($5,$$,'}');
+ }
| THING %prec '('
{ $$ = $1; }
| amper /* &foo; */
diff --git a/pp.c b/pp.c
index 5e0b02ca16..470ebd1681 100644
--- a/pp.c
+++ b/pp.c
@@ -4753,6 +4753,54 @@ PP(pp_hslice)
RETURN;
}
+PP(pp_kvhslice)
+{
+ dVAR; dSP; dMARK; dORIGMARK;
+ HV * const hv = MUTABLE_HV(POPs);
+ I32 lval = (PL_op->op_flags & OPf_MOD);
+ I32 items = SP - MARK;
+
+ if (PL_op->op_private & OPpMAYBE_LVSUB) {
+ const I32 flags = is_lvalue_sub();
+ if (flags) {
+ if (!(flags & OPpENTERSUB_INARGS))
+ Perl_croak(aTHX_ "Can't modify key/value hash slice in list assignment");
+ lval = flags;
+ }
+ }
+
+ MEXTEND(SP,items);
+ while (items > 1) {
+ *(MARK+items*2-1) = *(MARK+items);
+ items--;
+ }
+ items = SP-MARK;
+ SP += items;
+
+ while (++MARK <= SP) {
+ SV * const keysv = *MARK;
+ SV **svp;
+ HE *he;
+
+ he = hv_fetch_ent(hv, keysv, lval, 0);
+ svp = he ? &HeVAL(he) : NULL;
+
+ if (lval) {
+ if (!svp || !*svp || *svp == &PL_sv_undef) {
+ DIE(aTHX_ PL_no_helem_sv, SVfARG(keysv));
+ }
+ *MARK = sv_mortalcopy(*MARK);
+ }
+ *++MARK = svp && *svp ? *svp : &PL_sv_undef;
+ }
+ if (GIMME != G_ARRAY) {
+ MARK = SP - items*2;
+ *++MARK = items > 0 ? *SP : &PL_sv_undef;
+ SP = MARK;
+ }
+ RETURN;
+}
+
/* List operators. */
PP(pp_list)
diff --git a/pp_proto.h b/pp_proto.h
index a4dd46d5cc..1ede6ff121 100644
--- a/pp_proto.h
+++ b/pp_proto.h
@@ -123,6 +123,7 @@ PERL_CALLCONV OP *Perl_pp_introcv(pTHX);
PERL_CALLCONV OP *Perl_pp_ioctl(pTHX);
PERL_CALLCONV OP *Perl_pp_iter(pTHX);
PERL_CALLCONV OP *Perl_pp_join(pTHX);
+PERL_CALLCONV OP *Perl_pp_kvhslice(pTHX);
PERL_CALLCONV OP *Perl_pp_last(pTHX);
PERL_CALLCONV OP *Perl_pp_lc(pTHX);
PERL_CALLCONV OP *Perl_pp_le(pTHX);
diff --git a/regen/opcodes b/regen/opcodes
index 9c86d69a32..61c0de5b21 100644
--- a/regen/opcodes
+++ b/regen/opcodes
@@ -232,6 +232,7 @@ exists exists ck_exists is% S
rv2hv hash dereference ck_rvconst dt1
helem hash element ck_null s2 H S
hslice hash slice ck_null m@ H L
+kvhslice key/value hash slice ck_null m@ H L
# Explosives and implosives.