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