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