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