diff options
-rw-r--r-- | dist/B-Deparse/Deparse.pm | 9 | ||||
-rw-r--r-- | op.c | 13 | ||||
-rw-r--r-- | opcode.h | 5 | ||||
-rw-r--r-- | opnames.h | 471 | ||||
-rw-r--r-- | perly.act | 601 | ||||
-rw-r--r-- | perly.h | 64 | ||||
-rw-r--r-- | perly.tab | 1198 | ||||
-rw-r--r-- | perly.y | 11 | ||||
-rw-r--r-- | pp.c | 48 | ||||
-rw-r--r-- | pp_proto.h | 1 | ||||
-rw-r--r-- | regen/opcodes | 1 |
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; @@ -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)); @@ -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 */ @@ -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 @@ -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: */ @@ -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: */ @@ -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: */ @@ -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; */ @@ -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. |