perl 5.0 alpha 9
[p5sagit/p5-mst-13.2.git] / opcode.h
CommitLineData
79072805 1typedef enum {
2 OP_NULL, /* 0 */
93a17b20 3 OP_STUB, /* 1 */
4 OP_SCALAR, /* 2 */
5 OP_PUSHMARK, /* 3 */
6 OP_WANTARRAY, /* 4 */
79072805 7 OP_CONST, /* 5 */
8 OP_INTERP, /* 6 */
9 OP_GVSV, /* 7 */
10 OP_GV, /* 8 */
93a17b20 11 OP_PADSV, /* 9 */
12 OP_PADAV, /* 10 */
13 OP_PADHV, /* 11 */
ed6116ce 14 OP_PADANY, /* 12 */
15 OP_PUSHRE, /* 13 */
16 OP_RV2GV, /* 14 */
17 OP_SV2LEN, /* 15 */
18 OP_RV2SV, /* 16 */
19 OP_AV2ARYLEN, /* 17 */
20 OP_RV2CV, /* 18 */
21 OP_REFGEN, /* 19 */
22 OP_REF, /* 20 */
23 OP_BLESS, /* 21 */
24 OP_BACKTICK, /* 22 */
25 OP_GLOB, /* 23 */
26 OP_READLINE, /* 24 */
27 OP_RCATLINE, /* 25 */
28 OP_REGCMAYBE, /* 26 */
29 OP_REGCOMP, /* 27 */
30 OP_MATCH, /* 28 */
31 OP_SUBST, /* 29 */
32 OP_SUBSTCONT, /* 30 */
33 OP_TRANS, /* 31 */
34 OP_SASSIGN, /* 32 */
35 OP_AASSIGN, /* 33 */
36 OP_SCHOP, /* 34 */
37 OP_CHOP, /* 35 */
38 OP_DEFINED, /* 36 */
39 OP_UNDEF, /* 37 */
40 OP_STUDY, /* 38 */
41 OP_PREINC, /* 39 */
85e6fe83 42 OP_I_PREINC, /* 40 */
43 OP_PREDEC, /* 41 */
44 OP_I_PREDEC, /* 42 */
45 OP_POSTINC, /* 43 */
46 OP_I_POSTINC, /* 44 */
47 OP_POSTDEC, /* 45 */
48 OP_I_POSTDEC, /* 46 */
49 OP_POW, /* 47 */
50 OP_MULTIPLY, /* 48 */
51 OP_I_MULTIPLY, /* 49 */
52 OP_DIVIDE, /* 50 */
53 OP_I_DIVIDE, /* 51 */
54 OP_MODULO, /* 52 */
55 OP_I_MODULO, /* 53 */
56 OP_REPEAT, /* 54 */
57 OP_ADD, /* 55 */
58 OP_I_ADD, /* 56 */
59 OP_SUBTRACT, /* 57 */
60 OP_I_SUBTRACT, /* 58 */
61 OP_CONCAT, /* 59 */
62 OP_LEFT_SHIFT, /* 60 */
63 OP_RIGHT_SHIFT, /* 61 */
64 OP_LT, /* 62 */
65 OP_I_LT, /* 63 */
66 OP_GT, /* 64 */
67 OP_I_GT, /* 65 */
68 OP_LE, /* 66 */
69 OP_I_LE, /* 67 */
70 OP_GE, /* 68 */
71 OP_I_GE, /* 69 */
72 OP_EQ, /* 70 */
73 OP_I_EQ, /* 71 */
74 OP_NE, /* 72 */
75 OP_I_NE, /* 73 */
76 OP_NCMP, /* 74 */
77 OP_I_NCMP, /* 75 */
78 OP_SLT, /* 76 */
79 OP_SGT, /* 77 */
80 OP_SLE, /* 78 */
81 OP_SGE, /* 79 */
82 OP_SEQ, /* 80 */
83 OP_SNE, /* 81 */
84 OP_SCMP, /* 82 */
85 OP_BIT_AND, /* 83 */
86 OP_XOR, /* 84 */
87 OP_BIT_OR, /* 85 */
88 OP_NEGATE, /* 86 */
89 OP_I_NEGATE, /* 87 */
90 OP_NOT, /* 88 */
91 OP_COMPLEMENT, /* 89 */
92 OP_ATAN2, /* 90 */
93 OP_SIN, /* 91 */
94 OP_COS, /* 92 */
95 OP_RAND, /* 93 */
96 OP_SRAND, /* 94 */
97 OP_EXP, /* 95 */
98 OP_LOG, /* 96 */
99 OP_SQRT, /* 97 */
100 OP_INT, /* 98 */
101 OP_HEX, /* 99 */
102 OP_OCT, /* 100 */
103 OP_ABS, /* 101 */
104 OP_LENGTH, /* 102 */
105 OP_SUBSTR, /* 103 */
106 OP_VEC, /* 104 */
107 OP_INDEX, /* 105 */
108 OP_RINDEX, /* 106 */
109 OP_SPRINTF, /* 107 */
110 OP_FORMLINE, /* 108 */
111 OP_ORD, /* 109 */
112 OP_CHR, /* 110 */
113 OP_CRYPT, /* 111 */
114 OP_UCFIRST, /* 112 */
115 OP_LCFIRST, /* 113 */
116 OP_UC, /* 114 */
117 OP_LC, /* 115 */
118 OP_RV2AV, /* 116 */
119 OP_AELEMFAST, /* 117 */
120 OP_AELEM, /* 118 */
121 OP_ASLICE, /* 119 */
122 OP_EACH, /* 120 */
123 OP_VALUES, /* 121 */
124 OP_KEYS, /* 122 */
125 OP_DELETE, /* 123 */
126 OP_RV2HV, /* 124 */
127 OP_HELEM, /* 125 */
128 OP_HSLICE, /* 126 */
129 OP_UNPACK, /* 127 */
130 OP_PACK, /* 128 */
131 OP_SPLIT, /* 129 */
132 OP_JOIN, /* 130 */
133 OP_LIST, /* 131 */
134 OP_LSLICE, /* 132 */
135 OP_ANONLIST, /* 133 */
136 OP_ANONHASH, /* 134 */
137 OP_SPLICE, /* 135 */
138 OP_PUSH, /* 136 */
139 OP_POP, /* 137 */
140 OP_SHIFT, /* 138 */
141 OP_UNSHIFT, /* 139 */
142 OP_SORT, /* 140 */
143 OP_REVERSE, /* 141 */
144 OP_GREPSTART, /* 142 */
145 OP_GREPWHILE, /* 143 */
146 OP_RANGE, /* 144 */
147 OP_FLIP, /* 145 */
148 OP_FLOP, /* 146 */
149 OP_AND, /* 147 */
150 OP_OR, /* 148 */
151 OP_COND_EXPR, /* 149 */
152 OP_ANDASSIGN, /* 150 */
153 OP_ORASSIGN, /* 151 */
154 OP_METHOD, /* 152 */
155 OP_ENTERSUBR, /* 153 */
156 OP_LEAVESUBR, /* 154 */
157 OP_CALLER, /* 155 */
158 OP_WARN, /* 156 */
159 OP_DIE, /* 157 */
160 OP_RESET, /* 158 */
161 OP_LINESEQ, /* 159 */
162 OP_NEXTSTATE, /* 160 */
163 OP_DBSTATE, /* 161 */
164 OP_UNSTACK, /* 162 */
165 OP_ENTER, /* 163 */
166 OP_LEAVE, /* 164 */
167 OP_SCOPE, /* 165 */
168 OP_ENTERITER, /* 166 */
169 OP_ITER, /* 167 */
170 OP_ENTERLOOP, /* 168 */
171 OP_LEAVELOOP, /* 169 */
172 OP_RETURN, /* 170 */
173 OP_LAST, /* 171 */
174 OP_NEXT, /* 172 */
175 OP_REDO, /* 173 */
176 OP_DUMP, /* 174 */
177 OP_GOTO, /* 175 */
178 OP_EXIT, /* 176 */
179 OP_NSWITCH, /* 177 */
180 OP_CSWITCH, /* 178 */
181 OP_OPEN, /* 179 */
182 OP_CLOSE, /* 180 */
183 OP_PIPE_OP, /* 181 */
184 OP_FILENO, /* 182 */
185 OP_UMASK, /* 183 */
186 OP_BINMODE, /* 184 */
187 OP_TIE, /* 185 */
188 OP_UNTIE, /* 186 */
189 OP_DBMOPEN, /* 187 */
190 OP_DBMCLOSE, /* 188 */
191 OP_SSELECT, /* 189 */
192 OP_SELECT, /* 190 */
193 OP_GETC, /* 191 */
194 OP_READ, /* 192 */
195 OP_ENTERWRITE, /* 193 */
196 OP_LEAVEWRITE, /* 194 */
197 OP_PRTF, /* 195 */
198 OP_PRINT, /* 196 */
199 OP_SYSREAD, /* 197 */
200 OP_SYSWRITE, /* 198 */
201 OP_SEND, /* 199 */
202 OP_RECV, /* 200 */
203 OP_EOF, /* 201 */
204 OP_TELL, /* 202 */
205 OP_SEEK, /* 203 */
206 OP_TRUNCATE, /* 204 */
207 OP_FCNTL, /* 205 */
208 OP_IOCTL, /* 206 */
209 OP_FLOCK, /* 207 */
210 OP_SOCKET, /* 208 */
211 OP_SOCKPAIR, /* 209 */
212 OP_BIND, /* 210 */
213 OP_CONNECT, /* 211 */
214 OP_LISTEN, /* 212 */
215 OP_ACCEPT, /* 213 */
216 OP_SHUTDOWN, /* 214 */
217 OP_GSOCKOPT, /* 215 */
218 OP_SSOCKOPT, /* 216 */
219 OP_GETSOCKNAME, /* 217 */
220 OP_GETPEERNAME, /* 218 */
221 OP_LSTAT, /* 219 */
222 OP_STAT, /* 220 */
223 OP_FTRREAD, /* 221 */
224 OP_FTRWRITE, /* 222 */
225 OP_FTREXEC, /* 223 */
226 OP_FTEREAD, /* 224 */
227 OP_FTEWRITE, /* 225 */
228 OP_FTEEXEC, /* 226 */
229 OP_FTIS, /* 227 */
230 OP_FTEOWNED, /* 228 */
231 OP_FTROWNED, /* 229 */
232 OP_FTZERO, /* 230 */
233 OP_FTSIZE, /* 231 */
234 OP_FTMTIME, /* 232 */
235 OP_FTATIME, /* 233 */
236 OP_FTCTIME, /* 234 */
237 OP_FTSOCK, /* 235 */
238 OP_FTCHR, /* 236 */
239 OP_FTBLK, /* 237 */
240 OP_FTFILE, /* 238 */
241 OP_FTDIR, /* 239 */
242 OP_FTPIPE, /* 240 */
243 OP_FTLINK, /* 241 */
244 OP_FTSUID, /* 242 */
245 OP_FTSGID, /* 243 */
246 OP_FTSVTX, /* 244 */
247 OP_FTTTY, /* 245 */
248 OP_FTTEXT, /* 246 */
249 OP_FTBINARY, /* 247 */
250 OP_CHDIR, /* 248 */
251 OP_CHOWN, /* 249 */
252 OP_CHROOT, /* 250 */
253 OP_UNLINK, /* 251 */
254 OP_CHMOD, /* 252 */
255 OP_UTIME, /* 253 */
256 OP_RENAME, /* 254 */
257 OP_LINK, /* 255 */
258 OP_SYMLINK, /* 256 */
259 OP_READLINK, /* 257 */
260 OP_MKDIR, /* 258 */
261 OP_RMDIR, /* 259 */
262 OP_OPEN_DIR, /* 260 */
263 OP_READDIR, /* 261 */
264 OP_TELLDIR, /* 262 */
265 OP_SEEKDIR, /* 263 */
266 OP_REWINDDIR, /* 264 */
267 OP_CLOSEDIR, /* 265 */
268 OP_FORK, /* 266 */
269 OP_WAIT, /* 267 */
270 OP_WAITPID, /* 268 */
271 OP_SYSTEM, /* 269 */
272 OP_EXEC, /* 270 */
273 OP_KILL, /* 271 */
274 OP_GETPPID, /* 272 */
275 OP_GETPGRP, /* 273 */
276 OP_SETPGRP, /* 274 */
277 OP_GETPRIORITY, /* 275 */
278 OP_SETPRIORITY, /* 276 */
279 OP_TIME, /* 277 */
280 OP_TMS, /* 278 */
281 OP_LOCALTIME, /* 279 */
282 OP_GMTIME, /* 280 */
283 OP_ALARM, /* 281 */
284 OP_SLEEP, /* 282 */
285 OP_SHMGET, /* 283 */
286 OP_SHMCTL, /* 284 */
287 OP_SHMREAD, /* 285 */
288 OP_SHMWRITE, /* 286 */
289 OP_MSGGET, /* 287 */
290 OP_MSGCTL, /* 288 */
291 OP_MSGSND, /* 289 */
292 OP_MSGRCV, /* 290 */
293 OP_SEMGET, /* 291 */
294 OP_SEMCTL, /* 292 */
295 OP_SEMOP, /* 293 */
296 OP_REQUIRE, /* 294 */
297 OP_DOFILE, /* 295 */
298 OP_ENTEREVAL, /* 296 */
299 OP_LEAVEEVAL, /* 297 */
300 OP_EVALONCE, /* 298 */
301 OP_ENTERTRY, /* 299 */
302 OP_LEAVETRY, /* 300 */
303 OP_GHBYNAME, /* 301 */
304 OP_GHBYADDR, /* 302 */
305 OP_GHOSTENT, /* 303 */
306 OP_GNBYNAME, /* 304 */
307 OP_GNBYADDR, /* 305 */
308 OP_GNETENT, /* 306 */
309 OP_GPBYNAME, /* 307 */
310 OP_GPBYNUMBER, /* 308 */
311 OP_GPROTOENT, /* 309 */
312 OP_GSBYNAME, /* 310 */
313 OP_GSBYPORT, /* 311 */
314 OP_GSERVENT, /* 312 */
315 OP_SHOSTENT, /* 313 */
316 OP_SNETENT, /* 314 */
317 OP_SPROTOENT, /* 315 */
318 OP_SSERVENT, /* 316 */
319 OP_EHOSTENT, /* 317 */
320 OP_ENETENT, /* 318 */
321 OP_EPROTOENT, /* 319 */
322 OP_ESERVENT, /* 320 */
323 OP_GPWNAM, /* 321 */
324 OP_GPWUID, /* 322 */
325 OP_GPWENT, /* 323 */
326 OP_SPWENT, /* 324 */
327 OP_EPWENT, /* 325 */
328 OP_GGRNAM, /* 326 */
329 OP_GGRGID, /* 327 */
330 OP_GGRENT, /* 328 */
331 OP_SGRENT, /* 329 */
332 OP_EGRENT, /* 330 */
333 OP_GETLOGIN, /* 331 */
334 OP_SYSCALL, /* 332 */
335 OP_max
79072805 336} opcode;
337
85e6fe83 338#define MAXO 333
79072805 339
340#ifndef DOINIT
341extern char *op_name[];
342#else
343char *op_name[] = {
344 "null operation",
93a17b20 345 "stub",
346 "scalar",
79072805 347 "pushmark",
348 "wantarray",
79072805 349 "constant item",
350 "interpreted string",
351 "scalar variable",
352 "glob value",
93a17b20 353 "private variable",
354 "private array",
355 "private hash",
ed6116ce 356 "private something",
79072805 357 "push regexp",
358 "ref-to-glob cast",
359 "scalar value length",
360 "ref-to-scalar cast",
361 "array length",
362 "subroutine reference",
8990e307 363 "reference constructor",
79072805 364 "reference-type operator",
365 "bless",
366 "backticks",
367 "glob",
368 "<HANDLE>",
369 "append I/O operator",
463ee0b2 370 "regexp comp once",
79072805 371 "regexp compilation",
372 "pattern match",
373 "substitution",
374 "substitution cont",
375 "character translation",
376 "scalar assignment",
377 "list assignment",
378 "scalar chop",
379 "chop",
380 "defined operator",
381 "undef operator",
382 "study",
383 "preincrement",
85e6fe83 384 "integer preincrement",
79072805 385 "predecrement",
85e6fe83 386 "integer predecrement",
79072805 387 "postincrement",
85e6fe83 388 "integer postincrement",
79072805 389 "postdecrement",
85e6fe83 390 "integer postdecrement",
79072805 391 "exponentiation",
392 "multiplication",
85e6fe83 393 "integer multiplication",
79072805 394 "division",
85e6fe83 395 "integer division",
79072805 396 "modulus",
85e6fe83 397 "integer modulus",
79072805 398 "repeat",
399 "addition",
400 "integer addition",
401 "subtraction",
85e6fe83 402 "integer subtraction",
79072805 403 "concatenation",
404 "left bitshift",
405 "right bitshift",
406 "numeric lt",
85e6fe83 407 "integer lt",
79072805 408 "numeric gt",
85e6fe83 409 "integer gt",
79072805 410 "numeric le",
85e6fe83 411 "integer le",
79072805 412 "numeric ge",
85e6fe83 413 "integer ge",
79072805 414 "numeric eq",
85e6fe83 415 "integer eq",
79072805 416 "numeric ne",
85e6fe83 417 "integer ne",
79072805 418 "spaceship",
85e6fe83 419 "integer spaceship",
79072805 420 "string lt",
421 "string gt",
422 "string le",
423 "string ge",
424 "string eq",
425 "string ne",
426 "string comparison",
427 "bit and",
428 "xor",
429 "bit or",
430 "negate",
85e6fe83 431 "integer negate",
79072805 432 "not",
433 "1's complement",
434 "atan2",
435 "sin",
436 "cos",
437 "rand",
438 "srand",
439 "exp",
440 "log",
441 "sqrt",
442 "int",
443 "hex",
444 "oct",
463ee0b2 445 "abs",
79072805 446 "length",
447 "substr",
448 "vec",
449 "index",
450 "rindex",
451 "sprintf",
452 "formline",
453 "ord",
463ee0b2 454 "chr",
79072805 455 "crypt",
456 "upper case first",
457 "lower case first",
458 "upper case",
459 "lower case",
460 "array deref",
461 "known array element",
462 "array element",
463 "array slice",
464 "each",
465 "values",
466 "keys",
467 "delete",
468 "associative array deref",
469 "associative array elem",
470 "associative array slice",
471 "unpack",
472 "pack",
473 "split",
474 "join",
475 "list",
476 "list slice",
477 "anonymous list",
478 "anonymous hash",
479 "splice",
480 "push",
481 "pop",
482 "shift",
483 "unshift",
484 "sort",
485 "reverse",
486 "grep",
487 "grep iterator",
488 "flipflop",
489 "range (or flip)",
490 "range (or flop)",
491 "logical and",
492 "logical or",
493 "conditional expression",
494 "logical and assignment",
495 "logical or assignment",
496 "method lookup",
497 "subroutine entry",
498 "subroutine exit",
499 "caller",
500 "warn",
501 "die",
502 "reset",
503 "line sequence",
504 "next statement",
93a17b20 505 "debug next statement",
79072805 506 "unstack",
507 "block entry",
508 "block exit",
463ee0b2 509 "block",
79072805 510 "foreach loop entry",
511 "foreach loop iterator",
512 "loop entry",
513 "loop exit",
514 "return",
515 "last",
516 "next",
517 "redo",
518 "dump",
519 "goto",
520 "exit",
521 "numeric switch",
522 "character switch",
523 "open",
524 "close",
525 "pipe",
526 "fileno",
527 "umask",
528 "binmode",
463ee0b2 529 "tie",
530 "untie",
79072805 531 "dbmopen",
532 "dbmclose",
533 "select system call",
534 "select",
535 "getc",
536 "read",
537 "write",
538 "write exit",
463ee0b2 539 "printf",
79072805 540 "print",
541 "sysread",
542 "syswrite",
543 "send",
544 "recv",
545 "eof",
546 "tell",
547 "seek",
548 "truncate",
549 "fcntl",
550 "ioctl",
551 "flock",
552 "socket",
553 "socketpair",
554 "bind",
555 "connect",
556 "listen",
557 "accept",
558 "shutdown",
559 "getsockopt",
560 "setsockopt",
561 "getsockname",
562 "getpeername",
563 "lstat",
564 "stat",
565 "-R",
566 "-W",
567 "-X",
568 "-r",
569 "-w",
570 "-x",
571 "-e",
572 "-O",
573 "-o",
574 "-z",
575 "-s",
576 "-M",
577 "-A",
578 "-C",
579 "-S",
580 "-c",
581 "-b",
582 "-f",
583 "-d",
584 "-p",
585 "-l",
586 "-u",
587 "-g",
588 "-k",
589 "-t",
590 "-T",
591 "-B",
592 "chdir",
593 "chown",
594 "chroot",
595 "unlink",
596 "chmod",
597 "utime",
598 "rename",
599 "link",
600 "symlink",
601 "readlink",
602 "mkdir",
603 "rmdir",
604 "opendir",
605 "readdir",
606 "telldir",
607 "seekdir",
608 "rewinddir",
609 "closedir",
610 "fork",
611 "wait",
612 "waitpid",
613 "system",
614 "exec",
615 "kill",
616 "getppid",
617 "getpgrp",
618 "setpgrp",
619 "getpriority",
620 "setpriority",
621 "time",
622 "times",
623 "localtime",
624 "gmtime",
625 "alarm",
626 "sleep",
627 "shmget",
628 "shmctl",
629 "shmread",
630 "shmwrite",
631 "msgget",
632 "msgctl",
633 "msgsnd",
634 "msgrcv",
635 "semget",
636 "semctl",
637 "semop",
638 "require",
639 "do 'file'",
640 "eval string",
641 "eval exit",
642 "eval constant string",
643 "eval block",
644 "eval block exit",
645 "gethostbyname",
646 "gethostbyaddr",
647 "gethostent",
648 "getnetbyname",
649 "getnetbyaddr",
650 "getnetent",
651 "getprotobyname",
652 "getprotobynumber",
653 "getprotoent",
654 "getservbyname",
655 "getservbyport",
656 "getservent",
657 "sethostent",
658 "setnetent",
659 "setprotoent",
660 "setservent",
661 "endhostent",
662 "endnetent",
663 "endprotoent",
664 "endservent",
665 "getpwnam",
666 "getpwuid",
667 "getpwent",
668 "setpwent",
669 "endpwent",
670 "getgrnam",
671 "getgrgid",
672 "getgrent",
673 "setgrent",
674 "endgrent",
675 "getlogin",
676 "syscall",
677};
678#endif
679
79072805 680OP * ck_chop P((OP* op));
681OP * ck_concat P((OP* op));
682OP * ck_eof P((OP* op));
683OP * ck_eval P((OP* op));
684OP * ck_exec P((OP* op));
685OP * ck_formline P((OP* op));
686OP * ck_ftst P((OP* op));
687OP * ck_fun P((OP* op));
688OP * ck_glob P((OP* op));
689OP * ck_grep P((OP* op));
690OP * ck_index P((OP* op));
691OP * ck_lengthconst P((OP* op));
692OP * ck_lfun P((OP* op));
693OP * ck_listiob P((OP* op));
694OP * ck_match P((OP* op));
695OP * ck_null P((OP* op));
696OP * ck_repeat P((OP* op));
8990e307 697OP * ck_require P((OP* op));
698OP * ck_rfun P((OP* op));
79072805 699OP * ck_rvconst P((OP* op));
700OP * ck_select P((OP* op));
701OP * ck_shift P((OP* op));
702OP * ck_sort P((OP* op));
703OP * ck_split P((OP* op));
704OP * ck_subr P((OP* op));
8990e307 705OP * ck_svconst P((OP* op));
79072805 706OP * ck_trunc P((OP* op));
707
463ee0b2 708OP * pp_null P((void));
709OP * pp_stub P((void));
710OP * pp_scalar P((void));
711OP * pp_pushmark P((void));
712OP * pp_wantarray P((void));
713OP * pp_const P((void));
714OP * pp_interp P((void));
715OP * pp_gvsv P((void));
716OP * pp_gv P((void));
717OP * pp_padsv P((void));
718OP * pp_padav P((void));
719OP * pp_padhv P((void));
ed6116ce 720OP * pp_padany P((void));
463ee0b2 721OP * pp_pushre P((void));
722OP * pp_rv2gv P((void));
723OP * pp_sv2len P((void));
724OP * pp_rv2sv P((void));
725OP * pp_av2arylen P((void));
726OP * pp_rv2cv P((void));
727OP * pp_refgen P((void));
728OP * pp_ref P((void));
729OP * pp_bless P((void));
730OP * pp_backtick P((void));
731OP * pp_glob P((void));
732OP * pp_readline P((void));
733OP * pp_rcatline P((void));
734OP * pp_regcmaybe P((void));
735OP * pp_regcomp P((void));
736OP * pp_match P((void));
737OP * pp_subst P((void));
738OP * pp_substcont P((void));
739OP * pp_trans P((void));
740OP * pp_sassign P((void));
741OP * pp_aassign P((void));
742OP * pp_schop P((void));
743OP * pp_chop P((void));
744OP * pp_defined P((void));
745OP * pp_undef P((void));
746OP * pp_study P((void));
747OP * pp_preinc P((void));
85e6fe83 748OP * pp_i_preinc P((void));
463ee0b2 749OP * pp_predec P((void));
85e6fe83 750OP * pp_i_predec P((void));
463ee0b2 751OP * pp_postinc P((void));
85e6fe83 752OP * pp_i_postinc P((void));
463ee0b2 753OP * pp_postdec P((void));
85e6fe83 754OP * pp_i_postdec P((void));
463ee0b2 755OP * pp_pow P((void));
756OP * pp_multiply P((void));
85e6fe83 757OP * pp_i_multiply P((void));
463ee0b2 758OP * pp_divide P((void));
85e6fe83 759OP * pp_i_divide P((void));
463ee0b2 760OP * pp_modulo P((void));
85e6fe83 761OP * pp_i_modulo P((void));
463ee0b2 762OP * pp_repeat P((void));
763OP * pp_add P((void));
85e6fe83 764OP * pp_i_add P((void));
463ee0b2 765OP * pp_subtract P((void));
85e6fe83 766OP * pp_i_subtract P((void));
463ee0b2 767OP * pp_concat P((void));
768OP * pp_left_shift P((void));
769OP * pp_right_shift P((void));
770OP * pp_lt P((void));
85e6fe83 771OP * pp_i_lt P((void));
463ee0b2 772OP * pp_gt P((void));
85e6fe83 773OP * pp_i_gt P((void));
463ee0b2 774OP * pp_le P((void));
85e6fe83 775OP * pp_i_le P((void));
463ee0b2 776OP * pp_ge P((void));
85e6fe83 777OP * pp_i_ge P((void));
463ee0b2 778OP * pp_eq P((void));
85e6fe83 779OP * pp_i_eq P((void));
463ee0b2 780OP * pp_ne P((void));
85e6fe83 781OP * pp_i_ne P((void));
463ee0b2 782OP * pp_ncmp P((void));
85e6fe83 783OP * pp_i_ncmp P((void));
463ee0b2 784OP * pp_slt P((void));
785OP * pp_sgt P((void));
786OP * pp_sle P((void));
787OP * pp_sge P((void));
788OP * pp_seq P((void));
789OP * pp_sne P((void));
790OP * pp_scmp P((void));
791OP * pp_bit_and P((void));
792OP * pp_xor P((void));
793OP * pp_bit_or P((void));
794OP * pp_negate P((void));
85e6fe83 795OP * pp_i_negate P((void));
463ee0b2 796OP * pp_not P((void));
797OP * pp_complement P((void));
798OP * pp_atan2 P((void));
799OP * pp_sin P((void));
800OP * pp_cos P((void));
801OP * pp_rand P((void));
802OP * pp_srand P((void));
803OP * pp_exp P((void));
804OP * pp_log P((void));
805OP * pp_sqrt P((void));
806OP * pp_int P((void));
807OP * pp_hex P((void));
808OP * pp_oct P((void));
809OP * pp_abs P((void));
810OP * pp_length P((void));
811OP * pp_substr P((void));
812OP * pp_vec P((void));
813OP * pp_index P((void));
814OP * pp_rindex P((void));
815OP * pp_sprintf P((void));
816OP * pp_formline P((void));
817OP * pp_ord P((void));
818OP * pp_chr P((void));
819OP * pp_crypt P((void));
820OP * pp_ucfirst P((void));
821OP * pp_lcfirst P((void));
822OP * pp_uc P((void));
823OP * pp_lc P((void));
824OP * pp_rv2av P((void));
825OP * pp_aelemfast P((void));
826OP * pp_aelem P((void));
827OP * pp_aslice P((void));
828OP * pp_each P((void));
829OP * pp_values P((void));
830OP * pp_keys P((void));
831OP * pp_delete P((void));
832OP * pp_rv2hv P((void));
833OP * pp_helem P((void));
834OP * pp_hslice P((void));
835OP * pp_unpack P((void));
836OP * pp_pack P((void));
837OP * pp_split P((void));
838OP * pp_join P((void));
839OP * pp_list P((void));
840OP * pp_lslice P((void));
841OP * pp_anonlist P((void));
842OP * pp_anonhash P((void));
843OP * pp_splice P((void));
844OP * pp_push P((void));
845OP * pp_pop P((void));
846OP * pp_shift P((void));
847OP * pp_unshift P((void));
848OP * pp_sort P((void));
849OP * pp_reverse P((void));
850OP * pp_grepstart P((void));
851OP * pp_grepwhile P((void));
852OP * pp_range P((void));
853OP * pp_flip P((void));
854OP * pp_flop P((void));
855OP * pp_and P((void));
856OP * pp_or P((void));
857OP * pp_cond_expr P((void));
858OP * pp_andassign P((void));
859OP * pp_orassign P((void));
860OP * pp_method P((void));
861OP * pp_entersubr P((void));
862OP * pp_leavesubr P((void));
863OP * pp_caller P((void));
864OP * pp_warn P((void));
865OP * pp_die P((void));
866OP * pp_reset P((void));
867OP * pp_lineseq P((void));
868OP * pp_nextstate P((void));
869OP * pp_dbstate P((void));
870OP * pp_unstack P((void));
871OP * pp_enter P((void));
872OP * pp_leave P((void));
873OP * pp_scope P((void));
874OP * pp_enteriter P((void));
875OP * pp_iter P((void));
876OP * pp_enterloop P((void));
877OP * pp_leaveloop P((void));
878OP * pp_return P((void));
879OP * pp_last P((void));
880OP * pp_next P((void));
881OP * pp_redo P((void));
882OP * pp_dump P((void));
883OP * pp_goto P((void));
884OP * pp_exit P((void));
885OP * pp_nswitch P((void));
886OP * pp_cswitch P((void));
887OP * pp_open P((void));
888OP * pp_close P((void));
889OP * pp_pipe_op P((void));
890OP * pp_fileno P((void));
891OP * pp_umask P((void));
892OP * pp_binmode P((void));
893OP * pp_tie P((void));
894OP * pp_untie P((void));
895OP * pp_dbmopen P((void));
896OP * pp_dbmclose P((void));
897OP * pp_sselect P((void));
898OP * pp_select P((void));
899OP * pp_getc P((void));
900OP * pp_read P((void));
901OP * pp_enterwrite P((void));
902OP * pp_leavewrite P((void));
903OP * pp_prtf P((void));
904OP * pp_print P((void));
905OP * pp_sysread P((void));
906OP * pp_syswrite P((void));
907OP * pp_send P((void));
908OP * pp_recv P((void));
909OP * pp_eof P((void));
910OP * pp_tell P((void));
911OP * pp_seek P((void));
912OP * pp_truncate P((void));
913OP * pp_fcntl P((void));
914OP * pp_ioctl P((void));
915OP * pp_flock P((void));
916OP * pp_socket P((void));
917OP * pp_sockpair P((void));
918OP * pp_bind P((void));
919OP * pp_connect P((void));
920OP * pp_listen P((void));
921OP * pp_accept P((void));
922OP * pp_shutdown P((void));
923OP * pp_gsockopt P((void));
924OP * pp_ssockopt P((void));
925OP * pp_getsockname P((void));
926OP * pp_getpeername P((void));
927OP * pp_lstat P((void));
928OP * pp_stat P((void));
929OP * pp_ftrread P((void));
930OP * pp_ftrwrite P((void));
931OP * pp_ftrexec P((void));
932OP * pp_fteread P((void));
933OP * pp_ftewrite P((void));
934OP * pp_fteexec P((void));
935OP * pp_ftis P((void));
936OP * pp_fteowned P((void));
937OP * pp_ftrowned P((void));
938OP * pp_ftzero P((void));
939OP * pp_ftsize P((void));
940OP * pp_ftmtime P((void));
941OP * pp_ftatime P((void));
942OP * pp_ftctime P((void));
943OP * pp_ftsock P((void));
944OP * pp_ftchr P((void));
945OP * pp_ftblk P((void));
946OP * pp_ftfile P((void));
947OP * pp_ftdir P((void));
948OP * pp_ftpipe P((void));
949OP * pp_ftlink P((void));
950OP * pp_ftsuid P((void));
951OP * pp_ftsgid P((void));
952OP * pp_ftsvtx P((void));
953OP * pp_fttty P((void));
954OP * pp_fttext P((void));
955OP * pp_ftbinary P((void));
956OP * pp_chdir P((void));
957OP * pp_chown P((void));
958OP * pp_chroot P((void));
959OP * pp_unlink P((void));
960OP * pp_chmod P((void));
961OP * pp_utime P((void));
962OP * pp_rename P((void));
963OP * pp_link P((void));
964OP * pp_symlink P((void));
965OP * pp_readlink P((void));
966OP * pp_mkdir P((void));
967OP * pp_rmdir P((void));
968OP * pp_open_dir P((void));
969OP * pp_readdir P((void));
970OP * pp_telldir P((void));
971OP * pp_seekdir P((void));
972OP * pp_rewinddir P((void));
973OP * pp_closedir P((void));
974OP * pp_fork P((void));
975OP * pp_wait P((void));
976OP * pp_waitpid P((void));
977OP * pp_system P((void));
978OP * pp_exec P((void));
979OP * pp_kill P((void));
980OP * pp_getppid P((void));
981OP * pp_getpgrp P((void));
982OP * pp_setpgrp P((void));
983OP * pp_getpriority P((void));
984OP * pp_setpriority P((void));
985OP * pp_time P((void));
986OP * pp_tms P((void));
987OP * pp_localtime P((void));
988OP * pp_gmtime P((void));
989OP * pp_alarm P((void));
990OP * pp_sleep P((void));
991OP * pp_shmget P((void));
992OP * pp_shmctl P((void));
993OP * pp_shmread P((void));
994OP * pp_shmwrite P((void));
995OP * pp_msgget P((void));
996OP * pp_msgctl P((void));
997OP * pp_msgsnd P((void));
998OP * pp_msgrcv P((void));
999OP * pp_semget P((void));
1000OP * pp_semctl P((void));
1001OP * pp_semop P((void));
1002OP * pp_require P((void));
1003OP * pp_dofile P((void));
1004OP * pp_entereval P((void));
1005OP * pp_leaveeval P((void));
1006OP * pp_evalonce P((void));
1007OP * pp_entertry P((void));
1008OP * pp_leavetry P((void));
1009OP * pp_ghbyname P((void));
1010OP * pp_ghbyaddr P((void));
1011OP * pp_ghostent P((void));
1012OP * pp_gnbyname P((void));
1013OP * pp_gnbyaddr P((void));
1014OP * pp_gnetent P((void));
1015OP * pp_gpbyname P((void));
1016OP * pp_gpbynumber P((void));
1017OP * pp_gprotoent P((void));
1018OP * pp_gsbyname P((void));
1019OP * pp_gsbyport P((void));
1020OP * pp_gservent P((void));
1021OP * pp_shostent P((void));
1022OP * pp_snetent P((void));
1023OP * pp_sprotoent P((void));
1024OP * pp_sservent P((void));
1025OP * pp_ehostent P((void));
1026OP * pp_enetent P((void));
1027OP * pp_eprotoent P((void));
1028OP * pp_eservent P((void));
1029OP * pp_gpwnam P((void));
1030OP * pp_gpwuid P((void));
1031OP * pp_gpwent P((void));
1032OP * pp_spwent P((void));
1033OP * pp_epwent P((void));
1034OP * pp_ggrnam P((void));
1035OP * pp_ggrgid P((void));
1036OP * pp_ggrent P((void));
1037OP * pp_sgrent P((void));
1038OP * pp_egrent P((void));
1039OP * pp_getlogin P((void));
1040OP * pp_syscall P((void));
79072805 1041
1042#ifndef DOINIT
1043extern OP * (*ppaddr[])();
1044#else
1045OP * (*ppaddr[])() = {
1046 pp_null,
93a17b20 1047 pp_stub,
79072805 1048 pp_scalar,
1049 pp_pushmark,
1050 pp_wantarray,
79072805 1051 pp_const,
1052 pp_interp,
1053 pp_gvsv,
1054 pp_gv,
93a17b20 1055 pp_padsv,
1056 pp_padav,
1057 pp_padhv,
ed6116ce 1058 pp_padany,
79072805 1059 pp_pushre,
1060 pp_rv2gv,
1061 pp_sv2len,
1062 pp_rv2sv,
1063 pp_av2arylen,
1064 pp_rv2cv,
1065 pp_refgen,
1066 pp_ref,
1067 pp_bless,
1068 pp_backtick,
1069 pp_glob,
1070 pp_readline,
1071 pp_rcatline,
463ee0b2 1072 pp_regcmaybe,
79072805 1073 pp_regcomp,
1074 pp_match,
1075 pp_subst,
1076 pp_substcont,
1077 pp_trans,
1078 pp_sassign,
1079 pp_aassign,
1080 pp_schop,
1081 pp_chop,
1082 pp_defined,
1083 pp_undef,
1084 pp_study,
1085 pp_preinc,
85e6fe83 1086 pp_i_preinc,
79072805 1087 pp_predec,
85e6fe83 1088 pp_i_predec,
79072805 1089 pp_postinc,
85e6fe83 1090 pp_i_postinc,
79072805 1091 pp_postdec,
85e6fe83 1092 pp_i_postdec,
79072805 1093 pp_pow,
1094 pp_multiply,
85e6fe83 1095 pp_i_multiply,
79072805 1096 pp_divide,
85e6fe83 1097 pp_i_divide,
79072805 1098 pp_modulo,
85e6fe83 1099 pp_i_modulo,
79072805 1100 pp_repeat,
1101 pp_add,
85e6fe83 1102 pp_i_add,
79072805 1103 pp_subtract,
85e6fe83 1104 pp_i_subtract,
79072805 1105 pp_concat,
1106 pp_left_shift,
1107 pp_right_shift,
1108 pp_lt,
85e6fe83 1109 pp_i_lt,
79072805 1110 pp_gt,
85e6fe83 1111 pp_i_gt,
79072805 1112 pp_le,
85e6fe83 1113 pp_i_le,
79072805 1114 pp_ge,
85e6fe83 1115 pp_i_ge,
79072805 1116 pp_eq,
85e6fe83 1117 pp_i_eq,
79072805 1118 pp_ne,
85e6fe83 1119 pp_i_ne,
79072805 1120 pp_ncmp,
85e6fe83 1121 pp_i_ncmp,
79072805 1122 pp_slt,
1123 pp_sgt,
1124 pp_sle,
1125 pp_sge,
1126 pp_seq,
1127 pp_sne,
1128 pp_scmp,
1129 pp_bit_and,
1130 pp_xor,
1131 pp_bit_or,
1132 pp_negate,
85e6fe83 1133 pp_i_negate,
79072805 1134 pp_not,
1135 pp_complement,
1136 pp_atan2,
1137 pp_sin,
1138 pp_cos,
1139 pp_rand,
1140 pp_srand,
1141 pp_exp,
1142 pp_log,
1143 pp_sqrt,
1144 pp_int,
1145 pp_hex,
1146 pp_oct,
463ee0b2 1147 pp_abs,
79072805 1148 pp_length,
1149 pp_substr,
1150 pp_vec,
1151 pp_index,
1152 pp_rindex,
1153 pp_sprintf,
1154 pp_formline,
1155 pp_ord,
463ee0b2 1156 pp_chr,
79072805 1157 pp_crypt,
1158 pp_ucfirst,
1159 pp_lcfirst,
1160 pp_uc,
1161 pp_lc,
1162 pp_rv2av,
1163 pp_aelemfast,
1164 pp_aelem,
1165 pp_aslice,
1166 pp_each,
1167 pp_values,
1168 pp_keys,
1169 pp_delete,
1170 pp_rv2hv,
1171 pp_helem,
1172 pp_hslice,
1173 pp_unpack,
1174 pp_pack,
1175 pp_split,
1176 pp_join,
1177 pp_list,
1178 pp_lslice,
1179 pp_anonlist,
1180 pp_anonhash,
1181 pp_splice,
1182 pp_push,
1183 pp_pop,
1184 pp_shift,
1185 pp_unshift,
1186 pp_sort,
1187 pp_reverse,
1188 pp_grepstart,
1189 pp_grepwhile,
1190 pp_range,
1191 pp_flip,
1192 pp_flop,
1193 pp_and,
1194 pp_or,
1195 pp_cond_expr,
1196 pp_andassign,
1197 pp_orassign,
1198 pp_method,
1199 pp_entersubr,
1200 pp_leavesubr,
1201 pp_caller,
1202 pp_warn,
1203 pp_die,
1204 pp_reset,
1205 pp_lineseq,
93a17b20 1206 pp_nextstate,
1207 pp_dbstate,
79072805 1208 pp_unstack,
1209 pp_enter,
1210 pp_leave,
463ee0b2 1211 pp_scope,
79072805 1212 pp_enteriter,
1213 pp_iter,
1214 pp_enterloop,
1215 pp_leaveloop,
1216 pp_return,
1217 pp_last,
1218 pp_next,
1219 pp_redo,
1220 pp_dump,
1221 pp_goto,
1222 pp_exit,
1223 pp_nswitch,
1224 pp_cswitch,
1225 pp_open,
1226 pp_close,
1227 pp_pipe_op,
1228 pp_fileno,
1229 pp_umask,
1230 pp_binmode,
463ee0b2 1231 pp_tie,
1232 pp_untie,
79072805 1233 pp_dbmopen,
1234 pp_dbmclose,
1235 pp_sselect,
1236 pp_select,
1237 pp_getc,
1238 pp_read,
1239 pp_enterwrite,
1240 pp_leavewrite,
1241 pp_prtf,
1242 pp_print,
1243 pp_sysread,
1244 pp_syswrite,
1245 pp_send,
1246 pp_recv,
1247 pp_eof,
1248 pp_tell,
1249 pp_seek,
1250 pp_truncate,
1251 pp_fcntl,
1252 pp_ioctl,
1253 pp_flock,
1254 pp_socket,
1255 pp_sockpair,
1256 pp_bind,
1257 pp_connect,
1258 pp_listen,
1259 pp_accept,
1260 pp_shutdown,
1261 pp_gsockopt,
1262 pp_ssockopt,
1263 pp_getsockname,
1264 pp_getpeername,
1265 pp_lstat,
1266 pp_stat,
1267 pp_ftrread,
1268 pp_ftrwrite,
1269 pp_ftrexec,
1270 pp_fteread,
1271 pp_ftewrite,
1272 pp_fteexec,
1273 pp_ftis,
1274 pp_fteowned,
1275 pp_ftrowned,
1276 pp_ftzero,
1277 pp_ftsize,
1278 pp_ftmtime,
1279 pp_ftatime,
1280 pp_ftctime,
1281 pp_ftsock,
1282 pp_ftchr,
1283 pp_ftblk,
1284 pp_ftfile,
1285 pp_ftdir,
1286 pp_ftpipe,
1287 pp_ftlink,
1288 pp_ftsuid,
1289 pp_ftsgid,
1290 pp_ftsvtx,
1291 pp_fttty,
1292 pp_fttext,
1293 pp_ftbinary,
1294 pp_chdir,
1295 pp_chown,
1296 pp_chroot,
1297 pp_unlink,
1298 pp_chmod,
1299 pp_utime,
1300 pp_rename,
1301 pp_link,
1302 pp_symlink,
1303 pp_readlink,
1304 pp_mkdir,
1305 pp_rmdir,
1306 pp_open_dir,
1307 pp_readdir,
1308 pp_telldir,
1309 pp_seekdir,
1310 pp_rewinddir,
1311 pp_closedir,
1312 pp_fork,
1313 pp_wait,
1314 pp_waitpid,
1315 pp_system,
1316 pp_exec,
1317 pp_kill,
1318 pp_getppid,
1319 pp_getpgrp,
1320 pp_setpgrp,
1321 pp_getpriority,
1322 pp_setpriority,
1323 pp_time,
1324 pp_tms,
1325 pp_localtime,
1326 pp_gmtime,
1327 pp_alarm,
1328 pp_sleep,
1329 pp_shmget,
1330 pp_shmctl,
1331 pp_shmread,
1332 pp_shmwrite,
1333 pp_msgget,
1334 pp_msgctl,
1335 pp_msgsnd,
1336 pp_msgrcv,
1337 pp_semget,
1338 pp_semctl,
1339 pp_semop,
1340 pp_require,
1341 pp_dofile,
1342 pp_entereval,
1343 pp_leaveeval,
1344 pp_evalonce,
1345 pp_entertry,
1346 pp_leavetry,
1347 pp_ghbyname,
1348 pp_ghbyaddr,
1349 pp_ghostent,
1350 pp_gnbyname,
1351 pp_gnbyaddr,
1352 pp_gnetent,
1353 pp_gpbyname,
1354 pp_gpbynumber,
1355 pp_gprotoent,
1356 pp_gsbyname,
1357 pp_gsbyport,
1358 pp_gservent,
1359 pp_shostent,
1360 pp_snetent,
1361 pp_sprotoent,
1362 pp_sservent,
1363 pp_ehostent,
1364 pp_enetent,
1365 pp_eprotoent,
1366 pp_eservent,
1367 pp_gpwnam,
1368 pp_gpwuid,
1369 pp_gpwent,
1370 pp_spwent,
1371 pp_epwent,
1372 pp_ggrnam,
1373 pp_ggrgid,
1374 pp_ggrent,
1375 pp_sgrent,
1376 pp_egrent,
1377 pp_getlogin,
1378 pp_syscall,
1379};
1380#endif
1381
1382#ifndef DOINIT
1383extern OP * (*check[])();
1384#else
1385OP * (*check[])() = {
1386 ck_null, /* null */
93a17b20 1387 ck_null, /* stub */
1388 ck_fun, /* scalar */
79072805 1389 ck_null, /* pushmark */
1390 ck_null, /* wantarray */
8990e307 1391 ck_svconst, /* const */
79072805 1392 ck_null, /* interp */
1393 ck_null, /* gvsv */
1394 ck_null, /* gv */
93a17b20 1395 ck_null, /* padsv */
1396 ck_null, /* padav */
1397 ck_null, /* padhv */
ed6116ce 1398 ck_null, /* padany */
79072805 1399 ck_null, /* pushre */
1400 ck_rvconst, /* rv2gv */
1401 ck_null, /* sv2len */
1402 ck_rvconst, /* rv2sv */
1403 ck_null, /* av2arylen */
1404 ck_rvconst, /* rv2cv */
1405 ck_null, /* refgen */
1406 ck_fun, /* ref */
1407 ck_fun, /* bless */
1408 ck_null, /* backtick */
1409 ck_glob, /* glob */
1410 ck_null, /* readline */
1411 ck_null, /* rcatline */
463ee0b2 1412 ck_fun, /* regcmaybe */
79072805 1413 ck_null, /* regcomp */
1414 ck_match, /* match */
1415 ck_null, /* subst */
1416 ck_null, /* substcont */
1417 ck_null, /* trans */
1418 ck_null, /* sassign */
1419 ck_null, /* aassign */
1420 ck_null, /* schop */
1421 ck_chop, /* chop */
8990e307 1422 ck_rfun, /* defined */
79072805 1423 ck_lfun, /* undef */
1424 ck_fun, /* study */
1425 ck_lfun, /* preinc */
85e6fe83 1426 ck_lfun, /* i_preinc */
79072805 1427 ck_lfun, /* predec */
85e6fe83 1428 ck_lfun, /* i_predec */
79072805 1429 ck_lfun, /* postinc */
85e6fe83 1430 ck_lfun, /* i_postinc */
79072805 1431 ck_lfun, /* postdec */
85e6fe83 1432 ck_lfun, /* i_postdec */
79072805 1433 ck_null, /* pow */
1434 ck_null, /* multiply */
85e6fe83 1435 ck_null, /* i_multiply */
79072805 1436 ck_null, /* divide */
85e6fe83 1437 ck_null, /* i_divide */
79072805 1438 ck_null, /* modulo */
85e6fe83 1439 ck_null, /* i_modulo */
79072805 1440 ck_repeat, /* repeat */
1441 ck_null, /* add */
85e6fe83 1442 ck_null, /* i_add */
79072805 1443 ck_null, /* subtract */
85e6fe83 1444 ck_null, /* i_subtract */
79072805 1445 ck_concat, /* concat */
1446 ck_null, /* left_shift */
1447 ck_null, /* right_shift */
1448 ck_null, /* lt */
85e6fe83 1449 ck_null, /* i_lt */
79072805 1450 ck_null, /* gt */
85e6fe83 1451 ck_null, /* i_gt */
79072805 1452 ck_null, /* le */
85e6fe83 1453 ck_null, /* i_le */
79072805 1454 ck_null, /* ge */
85e6fe83 1455 ck_null, /* i_ge */
79072805 1456 ck_null, /* eq */
85e6fe83 1457 ck_null, /* i_eq */
79072805 1458 ck_null, /* ne */
85e6fe83 1459 ck_null, /* i_ne */
79072805 1460 ck_null, /* ncmp */
85e6fe83 1461 ck_null, /* i_ncmp */
79072805 1462 ck_null, /* slt */
1463 ck_null, /* sgt */
1464 ck_null, /* sle */
1465 ck_null, /* sge */
1466 ck_null, /* seq */
1467 ck_null, /* sne */
1468 ck_null, /* scmp */
1469 ck_null, /* bit_and */
1470 ck_null, /* xor */
1471 ck_null, /* bit_or */
1472 ck_null, /* negate */
85e6fe83 1473 ck_null, /* i_negate */
79072805 1474 ck_null, /* not */
1475 ck_null, /* complement */
1476 ck_fun, /* atan2 */
1477 ck_fun, /* sin */
1478 ck_fun, /* cos */
1479 ck_fun, /* rand */
1480 ck_fun, /* srand */
1481 ck_fun, /* exp */
1482 ck_fun, /* log */
1483 ck_fun, /* sqrt */
1484 ck_fun, /* int */
1485 ck_fun, /* hex */
1486 ck_fun, /* oct */
463ee0b2 1487 ck_fun, /* abs */
79072805 1488 ck_lengthconst, /* length */
1489 ck_fun, /* substr */
1490 ck_fun, /* vec */
1491 ck_index, /* index */
1492 ck_index, /* rindex */
1493 ck_fun, /* sprintf */
1494 ck_formline, /* formline */
1495 ck_fun, /* ord */
463ee0b2 1496 ck_fun, /* chr */
79072805 1497 ck_fun, /* crypt */
1498 ck_fun, /* ucfirst */
1499 ck_fun, /* lcfirst */
1500 ck_fun, /* uc */
1501 ck_fun, /* lc */
1502 ck_rvconst, /* rv2av */
1503 ck_null, /* aelemfast */
8990e307 1504 ck_null, /* aelem */
79072805 1505 ck_null, /* aslice */
1506 ck_fun, /* each */
1507 ck_fun, /* values */
1508 ck_fun, /* keys */
1509 ck_null, /* delete */
1510 ck_rvconst, /* rv2hv */
1511 ck_null, /* helem */
1512 ck_null, /* hslice */
1513 ck_fun, /* unpack */
1514 ck_fun, /* pack */
1515 ck_split, /* split */
1516 ck_fun, /* join */
1517 ck_null, /* list */
1518 ck_null, /* lslice */
1519 ck_null, /* anonlist */
1520 ck_null, /* anonhash */
1521 ck_fun, /* splice */
1522 ck_fun, /* push */
1523 ck_shift, /* pop */
1524 ck_shift, /* shift */
1525 ck_fun, /* unshift */
1526 ck_sort, /* sort */
1527 ck_fun, /* reverse */
1528 ck_grep, /* grepstart */
1529 ck_null, /* grepwhile */
1530 ck_null, /* range */
1531 ck_null, /* flip */
1532 ck_null, /* flop */
1533 ck_null, /* and */
1534 ck_null, /* or */
1535 ck_null, /* cond_expr */
1536 ck_null, /* andassign */
1537 ck_null, /* orassign */
1538 ck_null, /* method */
1539 ck_subr, /* entersubr */
1540 ck_null, /* leavesubr */
1541 ck_fun, /* caller */
1542 ck_fun, /* warn */
1543 ck_fun, /* die */
1544 ck_fun, /* reset */
1545 ck_null, /* lineseq */
93a17b20 1546 ck_null, /* nextstate */
1547 ck_null, /* dbstate */
79072805 1548 ck_null, /* unstack */
1549 ck_null, /* enter */
1550 ck_null, /* leave */
463ee0b2 1551 ck_null, /* scope */
79072805 1552 ck_null, /* enteriter */
1553 ck_null, /* iter */
1554 ck_null, /* enterloop */
1555 ck_null, /* leaveloop */
1556 ck_fun, /* return */
1557 ck_null, /* last */
1558 ck_null, /* next */
1559 ck_null, /* redo */
1560 ck_null, /* dump */
1561 ck_null, /* goto */
1562 ck_fun, /* exit */
1563 ck_null, /* nswitch */
1564 ck_null, /* cswitch */
1565 ck_fun, /* open */
1566 ck_fun, /* close */
1567 ck_fun, /* pipe_op */
1568 ck_fun, /* fileno */
1569 ck_fun, /* umask */
1570 ck_fun, /* binmode */
463ee0b2 1571 ck_fun, /* tie */
1572 ck_fun, /* untie */
79072805 1573 ck_fun, /* dbmopen */
1574 ck_fun, /* dbmclose */
1575 ck_select, /* sselect */
1576 ck_select, /* select */
1577 ck_eof, /* getc */
1578 ck_fun, /* read */
1579 ck_fun, /* enterwrite */
1580 ck_null, /* leavewrite */
1581 ck_listiob, /* prtf */
1582 ck_listiob, /* print */
1583 ck_fun, /* sysread */
1584 ck_fun, /* syswrite */
1585 ck_fun, /* send */
1586 ck_fun, /* recv */
1587 ck_eof, /* eof */
1588 ck_fun, /* tell */
1589 ck_fun, /* seek */
1590 ck_trunc, /* truncate */
1591 ck_fun, /* fcntl */
1592 ck_fun, /* ioctl */
1593 ck_fun, /* flock */
1594 ck_fun, /* socket */
1595 ck_fun, /* sockpair */
1596 ck_fun, /* bind */
1597 ck_fun, /* connect */
1598 ck_fun, /* listen */
1599 ck_fun, /* accept */
1600 ck_fun, /* shutdown */
1601 ck_fun, /* gsockopt */
1602 ck_fun, /* ssockopt */
1603 ck_fun, /* getsockname */
1604 ck_fun, /* getpeername */
1605 ck_ftst, /* lstat */
1606 ck_ftst, /* stat */
1607 ck_ftst, /* ftrread */
1608 ck_ftst, /* ftrwrite */
1609 ck_ftst, /* ftrexec */
1610 ck_ftst, /* fteread */
1611 ck_ftst, /* ftewrite */
1612 ck_ftst, /* fteexec */
1613 ck_ftst, /* ftis */
1614 ck_ftst, /* fteowned */
1615 ck_ftst, /* ftrowned */
1616 ck_ftst, /* ftzero */
1617 ck_ftst, /* ftsize */
1618 ck_ftst, /* ftmtime */
1619 ck_ftst, /* ftatime */
1620 ck_ftst, /* ftctime */
1621 ck_ftst, /* ftsock */
1622 ck_ftst, /* ftchr */
1623 ck_ftst, /* ftblk */
1624 ck_ftst, /* ftfile */
1625 ck_ftst, /* ftdir */
1626 ck_ftst, /* ftpipe */
1627 ck_ftst, /* ftlink */
1628 ck_ftst, /* ftsuid */
1629 ck_ftst, /* ftsgid */
1630 ck_ftst, /* ftsvtx */
1631 ck_ftst, /* fttty */
1632 ck_ftst, /* fttext */
1633 ck_ftst, /* ftbinary */
1634 ck_fun, /* chdir */
1635 ck_fun, /* chown */
1636 ck_fun, /* chroot */
1637 ck_fun, /* unlink */
1638 ck_fun, /* chmod */
1639 ck_fun, /* utime */
1640 ck_fun, /* rename */
1641 ck_fun, /* link */
1642 ck_fun, /* symlink */
1643 ck_fun, /* readlink */
1644 ck_fun, /* mkdir */
1645 ck_fun, /* rmdir */
1646 ck_fun, /* open_dir */
1647 ck_fun, /* readdir */
1648 ck_fun, /* telldir */
1649 ck_fun, /* seekdir */
1650 ck_fun, /* rewinddir */
1651 ck_fun, /* closedir */
1652 ck_null, /* fork */
1653 ck_null, /* wait */
1654 ck_fun, /* waitpid */
1655 ck_exec, /* system */
1656 ck_exec, /* exec */
1657 ck_fun, /* kill */
1658 ck_null, /* getppid */
1659 ck_fun, /* getpgrp */
1660 ck_fun, /* setpgrp */
1661 ck_fun, /* getpriority */
1662 ck_fun, /* setpriority */
1663 ck_null, /* time */
1664 ck_null, /* tms */
1665 ck_fun, /* localtime */
1666 ck_fun, /* gmtime */
1667 ck_fun, /* alarm */
1668 ck_fun, /* sleep */
1669 ck_fun, /* shmget */
1670 ck_fun, /* shmctl */
1671 ck_fun, /* shmread */
1672 ck_fun, /* shmwrite */
1673 ck_fun, /* msgget */
1674 ck_fun, /* msgctl */
1675 ck_fun, /* msgsnd */
1676 ck_fun, /* msgrcv */
1677 ck_fun, /* semget */
1678 ck_fun, /* semctl */
1679 ck_fun, /* semop */
8990e307 1680 ck_require, /* require */
79072805 1681 ck_fun, /* dofile */
1682 ck_eval, /* entereval */
1683 ck_null, /* leaveeval */
1684 ck_null, /* evalonce */
1685 ck_null, /* entertry */
1686 ck_null, /* leavetry */
1687 ck_fun, /* ghbyname */
1688 ck_fun, /* ghbyaddr */
1689 ck_null, /* ghostent */
1690 ck_fun, /* gnbyname */
1691 ck_fun, /* gnbyaddr */
1692 ck_null, /* gnetent */
1693 ck_fun, /* gpbyname */
1694 ck_fun, /* gpbynumber */
1695 ck_null, /* gprotoent */
1696 ck_fun, /* gsbyname */
1697 ck_fun, /* gsbyport */
1698 ck_null, /* gservent */
1699 ck_fun, /* shostent */
1700 ck_fun, /* snetent */
1701 ck_fun, /* sprotoent */
1702 ck_fun, /* sservent */
1703 ck_null, /* ehostent */
1704 ck_null, /* enetent */
1705 ck_null, /* eprotoent */
1706 ck_null, /* eservent */
1707 ck_fun, /* gpwnam */
1708 ck_fun, /* gpwuid */
1709 ck_null, /* gpwent */
1710 ck_null, /* spwent */
1711 ck_null, /* epwent */
1712 ck_fun, /* ggrnam */
1713 ck_fun, /* ggrgid */
1714 ck_null, /* ggrent */
1715 ck_null, /* sgrent */
1716 ck_null, /* egrent */
1717 ck_null, /* getlogin */
1718 ck_fun, /* syscall */
1719};
1720#endif
1721
1722#ifndef DOINIT
1723EXT U32 opargs[];
1724#else
1725U32 opargs[] = {
1726 0x00000000, /* null */
93a17b20 1727 0x00000000, /* stub */
1728 0x00000104, /* scalar */
79072805 1729 0x00000004, /* pushmark */
1730 0x00000014, /* wantarray */
79072805 1731 0x00000004, /* const */
1732 0x00000000, /* interp */
1733 0x00000044, /* gvsv */
1734 0x00000044, /* gv */
93a17b20 1735 0x00000000, /* padsv */
1736 0x00000000, /* padav */
1737 0x00000000, /* padhv */
ed6116ce 1738 0x00000000, /* padany */
79072805 1739 0x00000000, /* pushre */
1740 0x00000044, /* rv2gv */
1741 0x0000001c, /* sv2len */
1742 0x00000044, /* rv2sv */
1743 0x00000014, /* av2arylen */
1744 0x00000040, /* rv2cv */
1745 0x0000020e, /* refgen */
463ee0b2 1746 0x0000090c, /* ref */
1747 0x00009104, /* bless */
79072805 1748 0x00000008, /* backtick */
1749 0x00000008, /* glob */
1750 0x00000008, /* readline */
1751 0x00000008, /* rcatline */
463ee0b2 1752 0x00000104, /* regcmaybe */
79072805 1753 0x00000104, /* regcomp */
1754 0x00000040, /* match */
1755 0x00000154, /* subst */
1756 0x00000054, /* substcont */
1757 0x00000114, /* trans */
1758 0x00000004, /* sassign */
1759 0x00002208, /* aassign */
1760 0x00000008, /* schop */
1761 0x00000209, /* chop */
1762 0x00000914, /* defined */
1763 0x00000904, /* undef */
1764 0x0000090c, /* study */
85e6fe83 1765 0x00000124, /* preinc */
1766 0x00000114, /* i_preinc */
1767 0x00000124, /* predec */
1768 0x00000114, /* i_predec */
1769 0x0000012c, /* postinc */
1770 0x0000011c, /* i_postinc */
1771 0x0000012c, /* postdec */
1772 0x0000011c, /* i_postdec */
1773 0x0000112e, /* pow */
1774 0x0000112e, /* multiply */
1775 0x0000111e, /* i_multiply */
1776 0x0000112e, /* divide */
1777 0x0000111e, /* i_divide */
1778 0x0000113e, /* modulo */
1779 0x0000111e, /* i_modulo */
79072805 1780 0x00001209, /* repeat */
1781 0x0000112e, /* add */
85e6fe83 1782 0x0000111e, /* i_add */
1783 0x0000112e, /* subtract */
1784 0x0000111e, /* i_subtract */
79072805 1785 0x0000110e, /* concat */
1786 0x0000111e, /* left_shift */
1787 0x0000111e, /* right_shift */
85e6fe83 1788 0x00001136, /* lt */
1789 0x00001116, /* i_lt */
1790 0x00001136, /* gt */
1791 0x00001116, /* i_gt */
1792 0x00001136, /* le */
1793 0x00001116, /* i_le */
1794 0x00001136, /* ge */
1795 0x00001116, /* i_ge */
1796 0x00001136, /* eq */
1797 0x00001116, /* i_eq */
1798 0x00001136, /* ne */
1799 0x00001116, /* i_ne */
1800 0x0000113e, /* ncmp */
1801 0x0000111e, /* i_ncmp */
79072805 1802 0x00001116, /* slt */
1803 0x00001116, /* sgt */
1804 0x00001116, /* sle */
1805 0x00001116, /* sge */
1806 0x00001116, /* seq */
1807 0x00001116, /* sne */
1808 0x0000111e, /* scmp */
1809 0x0000110e, /* bit_and */
1810 0x0000110e, /* xor */
1811 0x0000110e, /* bit_or */
85e6fe83 1812 0x0000012e, /* negate */
1813 0x0000011e, /* i_negate */
79072805 1814 0x00000116, /* not */
1815 0x0000010e, /* complement */
1816 0x0000110e, /* atan2 */
1817 0x0000090e, /* sin */
1818 0x0000090e, /* cos */
1819 0x0000090c, /* rand */
1820 0x00000904, /* srand */
1821 0x0000090e, /* exp */
1822 0x0000090e, /* log */
1823 0x0000090e, /* sqrt */
1824 0x0000090e, /* int */
1825 0x0000091c, /* hex */
1826 0x0000091c, /* oct */
463ee0b2 1827 0x0000090e, /* abs */
79072805 1828 0x0000011c, /* length */
1829 0x0009110c, /* substr */
1830 0x0001111c, /* vec */
1831 0x0009111c, /* index */
1832 0x0009111c, /* rindex */
1833 0x0000210d, /* sprintf */
1834 0x00002105, /* formline */
1835 0x0000091e, /* ord */
463ee0b2 1836 0x0000090e, /* chr */
79072805 1837 0x0000110e, /* crypt */
1838 0x0000010a, /* ucfirst */
1839 0x0000010a, /* lcfirst */
1840 0x0000010a, /* uc */
1841 0x0000010a, /* lc */
1842 0x00000048, /* rv2av */
1843 0x00001304, /* aelemfast */
1844 0x00001304, /* aelem */
1845 0x00002301, /* aslice */
1846 0x00000408, /* each */
1847 0x00000408, /* values */
1848 0x00000408, /* keys */
1849 0x00001404, /* delete */
1850 0x00000048, /* rv2hv */
1851 0x00001404, /* helem */
1852 0x00002401, /* hslice */
1853 0x00001100, /* unpack */
1854 0x0000210d, /* pack */
1855 0x00011108, /* split */
1856 0x0000210d, /* join */
1857 0x00000201, /* list */
1858 0x00022400, /* lslice */
1859 0x00000201, /* anonlist */
1860 0x00000201, /* anonhash */
1861 0x00291301, /* splice */
1862 0x0000231d, /* push */
1863 0x00000304, /* pop */
1864 0x00000304, /* shift */
1865 0x0000231d, /* unshift */
1866 0x00002d01, /* sort */
1867 0x00000209, /* reverse */
1868 0x00002541, /* grepstart */
1869 0x00000048, /* grepwhile */
1870 0x00001100, /* range */
1871 0x00001100, /* flip */
1872 0x00000000, /* flop */
1873 0x00000000, /* and */
1874 0x00000000, /* or */
1875 0x00000000, /* cond_expr */
1876 0x00000004, /* andassign */
1877 0x00000004, /* orassign */
463ee0b2 1878 0x00000040, /* method */
79072805 1879 0x00000241, /* entersubr */
1880 0x00000000, /* leavesubr */
1881 0x00000908, /* caller */
1882 0x0000021d, /* warn */
1883 0x0000025d, /* die */
1884 0x00000914, /* reset */
1885 0x00000000, /* lineseq */
93a17b20 1886 0x00000004, /* nextstate */
1887 0x00000004, /* dbstate */
79072805 1888 0x00000004, /* unstack */
1889 0x00000000, /* enter */
1890 0x00000000, /* leave */
463ee0b2 1891 0x00000000, /* scope */
79072805 1892 0x00000040, /* enteriter */
1893 0x00000000, /* iter */
1894 0x00000040, /* enterloop */
1895 0x00000004, /* leaveloop */
1896 0x00000241, /* return */
1897 0x00000044, /* last */
1898 0x00000044, /* next */
1899 0x00000044, /* redo */
1900 0x00000044, /* dump */
1901 0x00000044, /* goto */
1902 0x00000944, /* exit */
1903 0x00000040, /* nswitch */
1904 0x00000040, /* cswitch */
1905 0x0000961c, /* open */
1906 0x00000e14, /* close */
1907 0x00006614, /* pipe_op */
1908 0x0000061c, /* fileno */
1909 0x0000091c, /* umask */
1910 0x00000604, /* binmode */
463ee0b2 1911 0x00021755, /* tie */
1912 0x00000714, /* untie */
1913 0x00011414, /* dbmopen */
79072805 1914 0x00000414, /* dbmclose */
1915 0x00111108, /* sselect */
1916 0x00000e0c, /* select */
1917 0x00000e0c, /* getc */
1918 0x0091761d, /* read */
1919 0x00000e54, /* enterwrite */
1920 0x00000000, /* leavewrite */
1921 0x00002e15, /* prtf */
1922 0x00002e15, /* print */
1923 0x0091761d, /* sysread */
1924 0x0091161d, /* syswrite */
1925 0x0091161d, /* send */
1926 0x0011761d, /* recv */
1927 0x00000e14, /* eof */
1928 0x00000e0c, /* tell */
1929 0x00011604, /* seek */
1930 0x00001114, /* truncate */
1931 0x0001160c, /* fcntl */
1932 0x0001160c, /* ioctl */
1933 0x0000161c, /* flock */
1934 0x00111614, /* socket */
1935 0x01116614, /* sockpair */
1936 0x00001614, /* bind */
1937 0x00001614, /* connect */
1938 0x00001614, /* listen */
1939 0x0000661c, /* accept */
1940 0x0000161c, /* shutdown */
1941 0x00011614, /* gsockopt */
1942 0x00111614, /* ssockopt */
1943 0x00000614, /* getsockname */
1944 0x00000614, /* getpeername */
1945 0x00000600, /* lstat */
1946 0x00000600, /* stat */
1947 0x00000614, /* ftrread */
1948 0x00000614, /* ftrwrite */
1949 0x00000614, /* ftrexec */
1950 0x00000614, /* fteread */
1951 0x00000614, /* ftewrite */
1952 0x00000614, /* fteexec */
1953 0x00000614, /* ftis */
1954 0x00000614, /* fteowned */
1955 0x00000614, /* ftrowned */
1956 0x00000614, /* ftzero */
1957 0x0000061c, /* ftsize */
1958 0x0000060c, /* ftmtime */
1959 0x0000060c, /* ftatime */
1960 0x0000060c, /* ftctime */
1961 0x00000614, /* ftsock */
1962 0x00000614, /* ftchr */
1963 0x00000614, /* ftblk */
1964 0x00000614, /* ftfile */
1965 0x00000614, /* ftdir */
1966 0x00000614, /* ftpipe */
1967 0x00000614, /* ftlink */
1968 0x00000614, /* ftsuid */
1969 0x00000614, /* ftsgid */
1970 0x00000614, /* ftsvtx */
1971 0x00000614, /* fttty */
1972 0x00000614, /* fttext */
1973 0x00000614, /* ftbinary */
1974 0x0000091c, /* chdir */
1975 0x0000021d, /* chown */
1976 0x0000091c, /* chroot */
1977 0x0000021d, /* unlink */
1978 0x0000021d, /* chmod */
1979 0x0000021d, /* utime */
1980 0x0000111c, /* rename */
1981 0x0000111c, /* link */
1982 0x0000111c, /* symlink */
1983 0x0000090c, /* readlink */
1984 0x0000111c, /* mkdir */
1985 0x0000091c, /* rmdir */
1986 0x00001614, /* open_dir */
1987 0x00000600, /* readdir */
1988 0x0000060c, /* telldir */
1989 0x00001604, /* seekdir */
1990 0x00000604, /* rewinddir */
1991 0x00000614, /* closedir */
1992 0x0000001c, /* fork */
1993 0x0000001c, /* wait */
1994 0x0000111c, /* waitpid */
1995 0x0000291d, /* system */
1996 0x0000295d, /* exec */
1997 0x0000025d, /* kill */
1998 0x0000001c, /* getppid */
1999 0x0000091c, /* getpgrp */
2000 0x0000111c, /* setpgrp */
2001 0x0000111c, /* getpriority */
2002 0x0001111c, /* setpriority */
2003 0x0000001c, /* time */
2004 0x00000000, /* tms */
2005 0x00000908, /* localtime */
2006 0x00000908, /* gmtime */
2007 0x0000091c, /* alarm */
2008 0x0000091c, /* sleep */
2009 0x0001111d, /* shmget */
2010 0x0001111d, /* shmctl */
2011 0x0011111d, /* shmread */
2012 0x0011111c, /* shmwrite */
2013 0x0000111d, /* msgget */
2014 0x0001111d, /* msgctl */
2015 0x0001111d, /* msgsnd */
2016 0x0111111d, /* msgrcv */
2017 0x0001111d, /* semget */
2018 0x0011111d, /* semctl */
2019 0x0001111d, /* semop */
ed6116ce 2020 0x00000940, /* require */
79072805 2021 0x00000140, /* dofile */
2022 0x00000140, /* entereval */
2023 0x00000100, /* leaveeval */
2024 0x00000140, /* evalonce */
2025 0x00000000, /* entertry */
2026 0x00000000, /* leavetry */
2027 0x00000100, /* ghbyname */
2028 0x00001100, /* ghbyaddr */
2029 0x00000000, /* ghostent */
2030 0x00000100, /* gnbyname */
2031 0x00001100, /* gnbyaddr */
2032 0x00000000, /* gnetent */
2033 0x00000100, /* gpbyname */
2034 0x00000100, /* gpbynumber */
2035 0x00000000, /* gprotoent */
2036 0x00001100, /* gsbyname */
2037 0x00001100, /* gsbyport */
2038 0x00000000, /* gservent */
93a17b20 2039 0x00000114, /* shostent */
2040 0x00000114, /* snetent */
2041 0x00000114, /* sprotoent */
2042 0x00000114, /* sservent */
2043 0x00000014, /* ehostent */
2044 0x00000014, /* enetent */
2045 0x00000014, /* eprotoent */
2046 0x00000014, /* eservent */
79072805 2047 0x00000100, /* gpwnam */
2048 0x00000100, /* gpwuid */
2049 0x00000000, /* gpwent */
2050 0x0000001c, /* spwent */
2051 0x0000001c, /* epwent */
2052 0x00000100, /* ggrnam */
2053 0x00000100, /* ggrgid */
2054 0x00000000, /* ggrent */
2055 0x0000001c, /* sgrent */
2056 0x0000001c, /* egrent */
2057 0x0000000c, /* getlogin */
2058 0x0000211c, /* syscall */
2059};
2060#endif