summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorLarry Wall <lwall@netlabs.com>1993-10-07 23:00:00 +0000
committerLarry Wall <lwall@netlabs.com>1993-10-07 23:00:00 +0000
commit79072805bf63abe5b5978b5928ab00d360ea3e7f (patch)
tree96688fcd69f9c8d2110e93c350b4d0025eaf240d /opcode.h
parente334a159a5616cab575044bafaf68f75b7bb3a16 (diff)
downloadperl-79072805bf63abe5b5978b5928ab00d360ea3e7f.tar.gz
perl 5.0 alpha 2perl-5a2
[editor's note: from history.perl.org. The sparc executables originally included in the distribution are not in this commit.]
Diffstat (limited to 'opcode.h')
-rw-r--r--opcode.h1895
1 files changed, 1895 insertions, 0 deletions
diff --git a/opcode.h b/opcode.h
new file mode 100644
index 0000000000..4416936e03
--- /dev/null
+++ b/opcode.h
@@ -0,0 +1,1895 @@
+typedef enum {
+ OP_NULL, /* 0 */
+ OP_SCALAR, /* 1 */
+ OP_PUSHMARK, /* 2 */
+ OP_WANTARRAY, /* 3 */
+ OP_WORD, /* 4 */
+ OP_CONST, /* 5 */
+ OP_INTERP, /* 6 */
+ OP_GVSV, /* 7 */
+ OP_GV, /* 8 */
+ OP_PUSHRE, /* 9 */
+ OP_RV2GV, /* 10 */
+ OP_SV2LEN, /* 11 */
+ OP_RV2SV, /* 12 */
+ OP_AV2ARYLEN, /* 13 */
+ OP_RV2CV, /* 14 */
+ OP_REFGEN, /* 15 */
+ OP_REF, /* 16 */
+ OP_BLESS, /* 17 */
+ OP_BACKTICK, /* 18 */
+ OP_GLOB, /* 19 */
+ OP_READLINE, /* 20 */
+ OP_RCATLINE, /* 21 */
+ OP_REGCOMP, /* 22 */
+ OP_MATCH, /* 23 */
+ OP_SUBST, /* 24 */
+ OP_SUBSTCONT, /* 25 */
+ OP_TRANS, /* 26 */
+ OP_SASSIGN, /* 27 */
+ OP_AASSIGN, /* 28 */
+ OP_SCHOP, /* 29 */
+ OP_CHOP, /* 30 */
+ OP_DEFINED, /* 31 */
+ OP_UNDEF, /* 32 */
+ OP_STUDY, /* 33 */
+ OP_PREINC, /* 34 */
+ OP_PREDEC, /* 35 */
+ OP_POSTINC, /* 36 */
+ OP_POSTDEC, /* 37 */
+ OP_POW, /* 38 */
+ OP_MULTIPLY, /* 39 */
+ OP_DIVIDE, /* 40 */
+ OP_MODULO, /* 41 */
+ OP_REPEAT, /* 42 */
+ OP_ADD, /* 43 */
+ OP_INTADD, /* 44 */
+ OP_SUBTRACT, /* 45 */
+ OP_CONCAT, /* 46 */
+ OP_LEFT_SHIFT, /* 47 */
+ OP_RIGHT_SHIFT, /* 48 */
+ OP_LT, /* 49 */
+ OP_GT, /* 50 */
+ OP_LE, /* 51 */
+ OP_GE, /* 52 */
+ OP_EQ, /* 53 */
+ OP_NE, /* 54 */
+ OP_NCMP, /* 55 */
+ OP_SLT, /* 56 */
+ OP_SGT, /* 57 */
+ OP_SLE, /* 58 */
+ OP_SGE, /* 59 */
+ OP_SEQ, /* 60 */
+ OP_SNE, /* 61 */
+ OP_SCMP, /* 62 */
+ OP_BIT_AND, /* 63 */
+ OP_XOR, /* 64 */
+ OP_BIT_OR, /* 65 */
+ OP_NEGATE, /* 66 */
+ OP_NOT, /* 67 */
+ OP_COMPLEMENT, /* 68 */
+ OP_ATAN2, /* 69 */
+ OP_SIN, /* 70 */
+ OP_COS, /* 71 */
+ OP_RAND, /* 72 */
+ OP_SRAND, /* 73 */
+ OP_EXP, /* 74 */
+ OP_LOG, /* 75 */
+ OP_SQRT, /* 76 */
+ OP_INT, /* 77 */
+ OP_HEX, /* 78 */
+ OP_OCT, /* 79 */
+ OP_LENGTH, /* 80 */
+ OP_SUBSTR, /* 81 */
+ OP_VEC, /* 82 */
+ OP_INDEX, /* 83 */
+ OP_RINDEX, /* 84 */
+ OP_SPRINTF, /* 85 */
+ OP_FORMLINE, /* 86 */
+ OP_ORD, /* 87 */
+ OP_CRYPT, /* 88 */
+ OP_UCFIRST, /* 89 */
+ OP_LCFIRST, /* 90 */
+ OP_UC, /* 91 */
+ OP_LC, /* 92 */
+ OP_RV2AV, /* 93 */
+ OP_AELEMFAST, /* 94 */
+ OP_AELEM, /* 95 */
+ OP_ASLICE, /* 96 */
+ OP_EACH, /* 97 */
+ OP_VALUES, /* 98 */
+ OP_KEYS, /* 99 */
+ OP_DELETE, /* 100 */
+ OP_RV2HV, /* 101 */
+ OP_HELEM, /* 102 */
+ OP_HSLICE, /* 103 */
+ OP_UNPACK, /* 104 */
+ OP_PACK, /* 105 */
+ OP_SPLIT, /* 106 */
+ OP_JOIN, /* 107 */
+ OP_LIST, /* 108 */
+ OP_LSLICE, /* 109 */
+ OP_ANONLIST, /* 110 */
+ OP_ANONHASH, /* 111 */
+ OP_SPLICE, /* 112 */
+ OP_PUSH, /* 113 */
+ OP_POP, /* 114 */
+ OP_SHIFT, /* 115 */
+ OP_UNSHIFT, /* 116 */
+ OP_SORT, /* 117 */
+ OP_REVERSE, /* 118 */
+ OP_GREPSTART, /* 119 */
+ OP_GREPWHILE, /* 120 */
+ OP_RANGE, /* 121 */
+ OP_FLIP, /* 122 */
+ OP_FLOP, /* 123 */
+ OP_AND, /* 124 */
+ OP_OR, /* 125 */
+ OP_COND_EXPR, /* 126 */
+ OP_ANDASSIGN, /* 127 */
+ OP_ORASSIGN, /* 128 */
+ OP_METHOD, /* 129 */
+ OP_ENTERSUBR, /* 130 */
+ OP_LEAVESUBR, /* 131 */
+ OP_CALLER, /* 132 */
+ OP_WARN, /* 133 */
+ OP_DIE, /* 134 */
+ OP_RESET, /* 135 */
+ OP_LINESEQ, /* 136 */
+ OP_CURCOP, /* 137 */
+ OP_UNSTACK, /* 138 */
+ OP_ENTER, /* 139 */
+ OP_LEAVE, /* 140 */
+ OP_ENTERITER, /* 141 */
+ OP_ITER, /* 142 */
+ OP_ENTERLOOP, /* 143 */
+ OP_LEAVELOOP, /* 144 */
+ OP_RETURN, /* 145 */
+ OP_LAST, /* 146 */
+ OP_NEXT, /* 147 */
+ OP_REDO, /* 148 */
+ OP_DUMP, /* 149 */
+ OP_GOTO, /* 150 */
+ OP_EXIT, /* 151 */
+ OP_NSWITCH, /* 152 */
+ OP_CSWITCH, /* 153 */
+ OP_OPEN, /* 154 */
+ OP_CLOSE, /* 155 */
+ OP_PIPE_OP, /* 156 */
+ OP_FILENO, /* 157 */
+ OP_UMASK, /* 158 */
+ OP_BINMODE, /* 159 */
+ OP_DBMOPEN, /* 160 */
+ OP_DBMCLOSE, /* 161 */
+ OP_SSELECT, /* 162 */
+ OP_SELECT, /* 163 */
+ OP_GETC, /* 164 */
+ OP_READ, /* 165 */
+ OP_ENTERWRITE, /* 166 */
+ OP_LEAVEWRITE, /* 167 */
+ OP_PRTF, /* 168 */
+ OP_PRINT, /* 169 */
+ OP_SYSREAD, /* 170 */
+ OP_SYSWRITE, /* 171 */
+ OP_SEND, /* 172 */
+ OP_RECV, /* 173 */
+ OP_EOF, /* 174 */
+ OP_TELL, /* 175 */
+ OP_SEEK, /* 176 */
+ OP_TRUNCATE, /* 177 */
+ OP_FCNTL, /* 178 */
+ OP_IOCTL, /* 179 */
+ OP_FLOCK, /* 180 */
+ OP_SOCKET, /* 181 */
+ OP_SOCKPAIR, /* 182 */
+ OP_BIND, /* 183 */
+ OP_CONNECT, /* 184 */
+ OP_LISTEN, /* 185 */
+ OP_ACCEPT, /* 186 */
+ OP_SHUTDOWN, /* 187 */
+ OP_GSOCKOPT, /* 188 */
+ OP_SSOCKOPT, /* 189 */
+ OP_GETSOCKNAME, /* 190 */
+ OP_GETPEERNAME, /* 191 */
+ OP_LSTAT, /* 192 */
+ OP_STAT, /* 193 */
+ OP_FTRREAD, /* 194 */
+ OP_FTRWRITE, /* 195 */
+ OP_FTREXEC, /* 196 */
+ OP_FTEREAD, /* 197 */
+ OP_FTEWRITE, /* 198 */
+ OP_FTEEXEC, /* 199 */
+ OP_FTIS, /* 200 */
+ OP_FTEOWNED, /* 201 */
+ OP_FTROWNED, /* 202 */
+ OP_FTZERO, /* 203 */
+ OP_FTSIZE, /* 204 */
+ OP_FTMTIME, /* 205 */
+ OP_FTATIME, /* 206 */
+ OP_FTCTIME, /* 207 */
+ OP_FTSOCK, /* 208 */
+ OP_FTCHR, /* 209 */
+ OP_FTBLK, /* 210 */
+ OP_FTFILE, /* 211 */
+ OP_FTDIR, /* 212 */
+ OP_FTPIPE, /* 213 */
+ OP_FTLINK, /* 214 */
+ OP_FTSUID, /* 215 */
+ OP_FTSGID, /* 216 */
+ OP_FTSVTX, /* 217 */
+ OP_FTTTY, /* 218 */
+ OP_FTTEXT, /* 219 */
+ OP_FTBINARY, /* 220 */
+ OP_CHDIR, /* 221 */
+ OP_CHOWN, /* 222 */
+ OP_CHROOT, /* 223 */
+ OP_UNLINK, /* 224 */
+ OP_CHMOD, /* 225 */
+ OP_UTIME, /* 226 */
+ OP_RENAME, /* 227 */
+ OP_LINK, /* 228 */
+ OP_SYMLINK, /* 229 */
+ OP_READLINK, /* 230 */
+ OP_MKDIR, /* 231 */
+ OP_RMDIR, /* 232 */
+ OP_OPEN_DIR, /* 233 */
+ OP_READDIR, /* 234 */
+ OP_TELLDIR, /* 235 */
+ OP_SEEKDIR, /* 236 */
+ OP_REWINDDIR, /* 237 */
+ OP_CLOSEDIR, /* 238 */
+ OP_FORK, /* 239 */
+ OP_WAIT, /* 240 */
+ OP_WAITPID, /* 241 */
+ OP_SYSTEM, /* 242 */
+ OP_EXEC, /* 243 */
+ OP_KILL, /* 244 */
+ OP_GETPPID, /* 245 */
+ OP_GETPGRP, /* 246 */
+ OP_SETPGRP, /* 247 */
+ OP_GETPRIORITY, /* 248 */
+ OP_SETPRIORITY, /* 249 */
+ OP_TIME, /* 250 */
+ OP_TMS, /* 251 */
+ OP_LOCALTIME, /* 252 */
+ OP_GMTIME, /* 253 */
+ OP_ALARM, /* 254 */
+ OP_SLEEP, /* 255 */
+ OP_SHMGET, /* 256 */
+ OP_SHMCTL, /* 257 */
+ OP_SHMREAD, /* 258 */
+ OP_SHMWRITE, /* 259 */
+ OP_MSGGET, /* 260 */
+ OP_MSGCTL, /* 261 */
+ OP_MSGSND, /* 262 */
+ OP_MSGRCV, /* 263 */
+ OP_SEMGET, /* 264 */
+ OP_SEMCTL, /* 265 */
+ OP_SEMOP, /* 266 */
+ OP_REQUIRE, /* 267 */
+ OP_DOFILE, /* 268 */
+ OP_ENTEREVAL, /* 269 */
+ OP_LEAVEEVAL, /* 270 */
+ OP_EVALONCE, /* 271 */
+ OP_ENTERTRY, /* 272 */
+ OP_LEAVETRY, /* 273 */
+ OP_GHBYNAME, /* 274 */
+ OP_GHBYADDR, /* 275 */
+ OP_GHOSTENT, /* 276 */
+ OP_GNBYNAME, /* 277 */
+ OP_GNBYADDR, /* 278 */
+ OP_GNETENT, /* 279 */
+ OP_GPBYNAME, /* 280 */
+ OP_GPBYNUMBER, /* 281 */
+ OP_GPROTOENT, /* 282 */
+ OP_GSBYNAME, /* 283 */
+ OP_GSBYPORT, /* 284 */
+ OP_GSERVENT, /* 285 */
+ OP_SHOSTENT, /* 286 */
+ OP_SNETENT, /* 287 */
+ OP_SPROTOENT, /* 288 */
+ OP_SSERVENT, /* 289 */
+ OP_EHOSTENT, /* 290 */
+ OP_ENETENT, /* 291 */
+ OP_EPROTOENT, /* 292 */
+ OP_ESERVENT, /* 293 */
+ OP_GPWNAM, /* 294 */
+ OP_GPWUID, /* 295 */
+ OP_GPWENT, /* 296 */
+ OP_SPWENT, /* 297 */
+ OP_EPWENT, /* 298 */
+ OP_GGRNAM, /* 299 */
+ OP_GGRGID, /* 300 */
+ OP_GGRENT, /* 301 */
+ OP_SGRENT, /* 302 */
+ OP_EGRENT, /* 303 */
+ OP_GETLOGIN, /* 304 */
+ OP_SYSCALL, /* 305 */
+} opcode;
+
+#define MAXO 306
+
+#ifndef DOINIT
+extern char *op_name[];
+#else
+char *op_name[] = {
+ "null operation",
+ "null operation",
+ "pushmark",
+ "wantarray",
+ "bare word",
+ "constant item",
+ "interpreted string",
+ "scalar variable",
+ "glob value",
+ "push regexp",
+ "ref-to-glob cast",
+ "scalar value length",
+ "ref-to-scalar cast",
+ "array length",
+ "subroutine reference",
+ "backslash reference",
+ "reference-type operator",
+ "bless",
+ "backticks",
+ "glob",
+ "<HANDLE>",
+ "append I/O operator",
+ "regexp compilation",
+ "pattern match",
+ "substitution",
+ "substitution cont",
+ "character translation",
+ "scalar assignment",
+ "list assignment",
+ "scalar chop",
+ "chop",
+ "defined operator",
+ "undef operator",
+ "study",
+ "preincrement",
+ "predecrement",
+ "postincrement",
+ "postdecrement",
+ "exponentiation",
+ "multiplication",
+ "division",
+ "modulus",
+ "repeat",
+ "addition",
+ "integer addition",
+ "subtraction",
+ "concatenation",
+ "left bitshift",
+ "right bitshift",
+ "numeric lt",
+ "numeric gt",
+ "numeric le",
+ "numeric ge",
+ "numeric eq",
+ "numeric ne",
+ "spaceship",
+ "string lt",
+ "string gt",
+ "string le",
+ "string ge",
+ "string eq",
+ "string ne",
+ "string comparison",
+ "bit and",
+ "xor",
+ "bit or",
+ "negate",
+ "not",
+ "1's complement",
+ "atan2",
+ "sin",
+ "cos",
+ "rand",
+ "srand",
+ "exp",
+ "log",
+ "sqrt",
+ "int",
+ "hex",
+ "oct",
+ "length",
+ "substr",
+ "vec",
+ "index",
+ "rindex",
+ "sprintf",
+ "formline",
+ "ord",
+ "crypt",
+ "upper case first",
+ "lower case first",
+ "upper case",
+ "lower case",
+ "array deref",
+ "known array element",
+ "array element",
+ "array slice",
+ "each",
+ "values",
+ "keys",
+ "delete",
+ "associative array deref",
+ "associative array elem",
+ "associative array slice",
+ "unpack",
+ "pack",
+ "split",
+ "join",
+ "list",
+ "list slice",
+ "anonymous list",
+ "anonymous hash",
+ "splice",
+ "push",
+ "pop",
+ "shift",
+ "unshift",
+ "sort",
+ "reverse",
+ "grep",
+ "grep iterator",
+ "flipflop",
+ "range (or flip)",
+ "range (or flop)",
+ "logical and",
+ "logical or",
+ "conditional expression",
+ "logical and assignment",
+ "logical or assignment",
+ "method lookup",
+ "subroutine entry",
+ "subroutine exit",
+ "caller",
+ "warn",
+ "die",
+ "reset",
+ "line sequence",
+ "next statement",
+ "unstack",
+ "block entry",
+ "block exit",
+ "foreach loop entry",
+ "foreach loop iterator",
+ "loop entry",
+ "loop exit",
+ "return",
+ "last",
+ "next",
+ "redo",
+ "dump",
+ "goto",
+ "exit",
+ "numeric switch",
+ "character switch",
+ "open",
+ "close",
+ "pipe",
+ "fileno",
+ "umask",
+ "binmode",
+ "dbmopen",
+ "dbmclose",
+ "select system call",
+ "select",
+ "getc",
+ "read",
+ "write",
+ "write exit",
+ "prtf",
+ "print",
+ "sysread",
+ "syswrite",
+ "send",
+ "recv",
+ "eof",
+ "tell",
+ "seek",
+ "truncate",
+ "fcntl",
+ "ioctl",
+ "flock",
+ "socket",
+ "socketpair",
+ "bind",
+ "connect",
+ "listen",
+ "accept",
+ "shutdown",
+ "getsockopt",
+ "setsockopt",
+ "getsockname",
+ "getpeername",
+ "lstat",
+ "stat",
+ "-R",
+ "-W",
+ "-X",
+ "-r",
+ "-w",
+ "-x",
+ "-e",
+ "-O",
+ "-o",
+ "-z",
+ "-s",
+ "-M",
+ "-A",
+ "-C",
+ "-S",
+ "-c",
+ "-b",
+ "-f",
+ "-d",
+ "-p",
+ "-l",
+ "-u",
+ "-g",
+ "-k",
+ "-t",
+ "-T",
+ "-B",
+ "chdir",
+ "chown",
+ "chroot",
+ "unlink",
+ "chmod",
+ "utime",
+ "rename",
+ "link",
+ "symlink",
+ "readlink",
+ "mkdir",
+ "rmdir",
+ "opendir",
+ "readdir",
+ "telldir",
+ "seekdir",
+ "rewinddir",
+ "closedir",
+ "fork",
+ "wait",
+ "waitpid",
+ "system",
+ "exec",
+ "kill",
+ "getppid",
+ "getpgrp",
+ "setpgrp",
+ "getpriority",
+ "setpriority",
+ "time",
+ "times",
+ "localtime",
+ "gmtime",
+ "alarm",
+ "sleep",
+ "shmget",
+ "shmctl",
+ "shmread",
+ "shmwrite",
+ "msgget",
+ "msgctl",
+ "msgsnd",
+ "msgrcv",
+ "semget",
+ "semctl",
+ "semop",
+ "require",
+ "do 'file'",
+ "eval string",
+ "eval exit",
+ "eval constant string",
+ "eval block",
+ "eval block exit",
+ "gethostbyname",
+ "gethostbyaddr",
+ "gethostent",
+ "getnetbyname",
+ "getnetbyaddr",
+ "getnetent",
+ "getprotobyname",
+ "getprotobynumber",
+ "getprotoent",
+ "getservbyname",
+ "getservbyport",
+ "getservent",
+ "sethostent",
+ "setnetent",
+ "setprotoent",
+ "setservent",
+ "endhostent",
+ "endnetent",
+ "endprotoent",
+ "endservent",
+ "getpwnam",
+ "getpwuid",
+ "getpwent",
+ "setpwent",
+ "endpwent",
+ "getgrnam",
+ "getgrgid",
+ "getgrent",
+ "setgrent",
+ "endgrent",
+ "getlogin",
+ "syscall",
+};
+#endif
+
+OP * ck_aelem P((OP* op));
+OP * ck_chop P((OP* op));
+OP * ck_concat P((OP* op));
+OP * ck_eof P((OP* op));
+OP * ck_eval P((OP* op));
+OP * ck_exec P((OP* op));
+OP * ck_formline P((OP* op));
+OP * ck_ftst P((OP* op));
+OP * ck_fun P((OP* op));
+OP * ck_glob P((OP* op));
+OP * ck_grep P((OP* op));
+OP * ck_index P((OP* op));
+OP * ck_lengthconst P((OP* op));
+OP * ck_lfun P((OP* op));
+OP * ck_listiob P((OP* op));
+OP * ck_match P((OP* op));
+OP * ck_null P((OP* op));
+OP * ck_repeat P((OP* op));
+OP * ck_rvconst P((OP* op));
+OP * ck_select P((OP* op));
+OP * ck_shift P((OP* op));
+OP * ck_sort P((OP* op));
+OP * ck_split P((OP* op));
+OP * ck_subr P((OP* op));
+OP * ck_trunc P((OP* op));
+
+OP * pp_null P((ARGSproto));
+OP * pp_scalar P((ARGSproto));
+OP * pp_pushmark P((ARGSproto));
+OP * pp_wantarray P((ARGSproto));
+OP * pp_word P((ARGSproto));
+OP * pp_const P((ARGSproto));
+OP * pp_interp P((ARGSproto));
+OP * pp_gvsv P((ARGSproto));
+OP * pp_gv P((ARGSproto));
+OP * pp_pushre P((ARGSproto));
+OP * pp_rv2gv P((ARGSproto));
+OP * pp_sv2len P((ARGSproto));
+OP * pp_rv2sv P((ARGSproto));
+OP * pp_av2arylen P((ARGSproto));
+OP * pp_rv2cv P((ARGSproto));
+OP * pp_refgen P((ARGSproto));
+OP * pp_ref P((ARGSproto));
+OP * pp_bless P((ARGSproto));
+OP * pp_backtick P((ARGSproto));
+OP * pp_glob P((ARGSproto));
+OP * pp_readline P((ARGSproto));
+OP * pp_rcatline P((ARGSproto));
+OP * pp_regcomp P((ARGSproto));
+OP * pp_match P((ARGSproto));
+OP * pp_subst P((ARGSproto));
+OP * pp_substcont P((ARGSproto));
+OP * pp_trans P((ARGSproto));
+OP * pp_sassign P((ARGSproto));
+OP * pp_aassign P((ARGSproto));
+OP * pp_schop P((ARGSproto));
+OP * pp_chop P((ARGSproto));
+OP * pp_defined P((ARGSproto));
+OP * pp_undef P((ARGSproto));
+OP * pp_study P((ARGSproto));
+OP * pp_preinc P((ARGSproto));
+OP * pp_predec P((ARGSproto));
+OP * pp_postinc P((ARGSproto));
+OP * pp_postdec P((ARGSproto));
+OP * pp_pow P((ARGSproto));
+OP * pp_multiply P((ARGSproto));
+OP * pp_divide P((ARGSproto));
+OP * pp_modulo P((ARGSproto));
+OP * pp_repeat P((ARGSproto));
+OP * pp_add P((ARGSproto));
+OP * pp_intadd P((ARGSproto));
+OP * pp_subtract P((ARGSproto));
+OP * pp_concat P((ARGSproto));
+OP * pp_left_shift P((ARGSproto));
+OP * pp_right_shift P((ARGSproto));
+OP * pp_lt P((ARGSproto));
+OP * pp_gt P((ARGSproto));
+OP * pp_le P((ARGSproto));
+OP * pp_ge P((ARGSproto));
+OP * pp_eq P((ARGSproto));
+OP * pp_ne P((ARGSproto));
+OP * pp_ncmp P((ARGSproto));
+OP * pp_slt P((ARGSproto));
+OP * pp_sgt P((ARGSproto));
+OP * pp_sle P((ARGSproto));
+OP * pp_sge P((ARGSproto));
+OP * pp_seq P((ARGSproto));
+OP * pp_sne P((ARGSproto));
+OP * pp_scmp P((ARGSproto));
+OP * pp_bit_and P((ARGSproto));
+OP * pp_xor P((ARGSproto));
+OP * pp_bit_or P((ARGSproto));
+OP * pp_negate P((ARGSproto));
+OP * pp_not P((ARGSproto));
+OP * pp_complement P((ARGSproto));
+OP * pp_atan2 P((ARGSproto));
+OP * pp_sin P((ARGSproto));
+OP * pp_cos P((ARGSproto));
+OP * pp_rand P((ARGSproto));
+OP * pp_srand P((ARGSproto));
+OP * pp_exp P((ARGSproto));
+OP * pp_log P((ARGSproto));
+OP * pp_sqrt P((ARGSproto));
+OP * pp_int P((ARGSproto));
+OP * pp_hex P((ARGSproto));
+OP * pp_oct P((ARGSproto));
+OP * pp_length P((ARGSproto));
+OP * pp_substr P((ARGSproto));
+OP * pp_vec P((ARGSproto));
+OP * pp_index P((ARGSproto));
+OP * pp_rindex P((ARGSproto));
+OP * pp_sprintf P((ARGSproto));
+OP * pp_formline P((ARGSproto));
+OP * pp_ord P((ARGSproto));
+OP * pp_crypt P((ARGSproto));
+OP * pp_ucfirst P((ARGSproto));
+OP * pp_lcfirst P((ARGSproto));
+OP * pp_uc P((ARGSproto));
+OP * pp_lc P((ARGSproto));
+OP * pp_rv2av P((ARGSproto));
+OP * pp_aelemfast P((ARGSproto));
+OP * pp_aelem P((ARGSproto));
+OP * pp_aslice P((ARGSproto));
+OP * pp_each P((ARGSproto));
+OP * pp_values P((ARGSproto));
+OP * pp_keys P((ARGSproto));
+OP * pp_delete P((ARGSproto));
+OP * pp_rv2hv P((ARGSproto));
+OP * pp_helem P((ARGSproto));
+OP * pp_hslice P((ARGSproto));
+OP * pp_unpack P((ARGSproto));
+OP * pp_pack P((ARGSproto));
+OP * pp_split P((ARGSproto));
+OP * pp_join P((ARGSproto));
+OP * pp_list P((ARGSproto));
+OP * pp_lslice P((ARGSproto));
+OP * pp_anonlist P((ARGSproto));
+OP * pp_anonhash P((ARGSproto));
+OP * pp_splice P((ARGSproto));
+OP * pp_push P((ARGSproto));
+OP * pp_pop P((ARGSproto));
+OP * pp_shift P((ARGSproto));
+OP * pp_unshift P((ARGSproto));
+OP * pp_sort P((ARGSproto));
+OP * pp_reverse P((ARGSproto));
+OP * pp_grepstart P((ARGSproto));
+OP * pp_grepwhile P((ARGSproto));
+OP * pp_range P((ARGSproto));
+OP * pp_flip P((ARGSproto));
+OP * pp_flop P((ARGSproto));
+OP * pp_and P((ARGSproto));
+OP * pp_or P((ARGSproto));
+OP * pp_cond_expr P((ARGSproto));
+OP * pp_andassign P((ARGSproto));
+OP * pp_orassign P((ARGSproto));
+OP * pp_method P((ARGSproto));
+OP * pp_entersubr P((ARGSproto));
+OP * pp_leavesubr P((ARGSproto));
+OP * pp_caller P((ARGSproto));
+OP * pp_warn P((ARGSproto));
+OP * pp_die P((ARGSproto));
+OP * pp_reset P((ARGSproto));
+OP * pp_lineseq P((ARGSproto));
+OP * pp_curcop P((ARGSproto));
+OP * pp_unstack P((ARGSproto));
+OP * pp_enter P((ARGSproto));
+OP * pp_leave P((ARGSproto));
+OP * pp_enteriter P((ARGSproto));
+OP * pp_iter P((ARGSproto));
+OP * pp_enterloop P((ARGSproto));
+OP * pp_leaveloop P((ARGSproto));
+OP * pp_return P((ARGSproto));
+OP * pp_last P((ARGSproto));
+OP * pp_next P((ARGSproto));
+OP * pp_redo P((ARGSproto));
+OP * pp_dump P((ARGSproto));
+OP * pp_goto P((ARGSproto));
+OP * pp_exit P((ARGSproto));
+OP * pp_nswitch P((ARGSproto));
+OP * pp_cswitch P((ARGSproto));
+OP * pp_open P((ARGSproto));
+OP * pp_close P((ARGSproto));
+OP * pp_pipe_op P((ARGSproto));
+OP * pp_fileno P((ARGSproto));
+OP * pp_umask P((ARGSproto));
+OP * pp_binmode P((ARGSproto));
+OP * pp_dbmopen P((ARGSproto));
+OP * pp_dbmclose P((ARGSproto));
+OP * pp_sselect P((ARGSproto));
+OP * pp_select P((ARGSproto));
+OP * pp_getc P((ARGSproto));
+OP * pp_read P((ARGSproto));
+OP * pp_enterwrite P((ARGSproto));
+OP * pp_leavewrite P((ARGSproto));
+OP * pp_prtf P((ARGSproto));
+OP * pp_print P((ARGSproto));
+OP * pp_sysread P((ARGSproto));
+OP * pp_syswrite P((ARGSproto));
+OP * pp_send P((ARGSproto));
+OP * pp_recv P((ARGSproto));
+OP * pp_eof P((ARGSproto));
+OP * pp_tell P((ARGSproto));
+OP * pp_seek P((ARGSproto));
+OP * pp_truncate P((ARGSproto));
+OP * pp_fcntl P((ARGSproto));
+OP * pp_ioctl P((ARGSproto));
+OP * pp_flock P((ARGSproto));
+OP * pp_socket P((ARGSproto));
+OP * pp_sockpair P((ARGSproto));
+OP * pp_bind P((ARGSproto));
+OP * pp_connect P((ARGSproto));
+OP * pp_listen P((ARGSproto));
+OP * pp_accept P((ARGSproto));
+OP * pp_shutdown P((ARGSproto));
+OP * pp_gsockopt P((ARGSproto));
+OP * pp_ssockopt P((ARGSproto));
+OP * pp_getsockname P((ARGSproto));
+OP * pp_getpeername P((ARGSproto));
+OP * pp_lstat P((ARGSproto));
+OP * pp_stat P((ARGSproto));
+OP * pp_ftrread P((ARGSproto));
+OP * pp_ftrwrite P((ARGSproto));
+OP * pp_ftrexec P((ARGSproto));
+OP * pp_fteread P((ARGSproto));
+OP * pp_ftewrite P((ARGSproto));
+OP * pp_fteexec P((ARGSproto));
+OP * pp_ftis P((ARGSproto));
+OP * pp_fteowned P((ARGSproto));
+OP * pp_ftrowned P((ARGSproto));
+OP * pp_ftzero P((ARGSproto));
+OP * pp_ftsize P((ARGSproto));
+OP * pp_ftmtime P((ARGSproto));
+OP * pp_ftatime P((ARGSproto));
+OP * pp_ftctime P((ARGSproto));
+OP * pp_ftsock P((ARGSproto));
+OP * pp_ftchr P((ARGSproto));
+OP * pp_ftblk P((ARGSproto));
+OP * pp_ftfile P((ARGSproto));
+OP * pp_ftdir P((ARGSproto));
+OP * pp_ftpipe P((ARGSproto));
+OP * pp_ftlink P((ARGSproto));
+OP * pp_ftsuid P((ARGSproto));
+OP * pp_ftsgid P((ARGSproto));
+OP * pp_ftsvtx P((ARGSproto));
+OP * pp_fttty P((ARGSproto));
+OP * pp_fttext P((ARGSproto));
+OP * pp_ftbinary P((ARGSproto));
+OP * pp_chdir P((ARGSproto));
+OP * pp_chown P((ARGSproto));
+OP * pp_chroot P((ARGSproto));
+OP * pp_unlink P((ARGSproto));
+OP * pp_chmod P((ARGSproto));
+OP * pp_utime P((ARGSproto));
+OP * pp_rename P((ARGSproto));
+OP * pp_link P((ARGSproto));
+OP * pp_symlink P((ARGSproto));
+OP * pp_readlink P((ARGSproto));
+OP * pp_mkdir P((ARGSproto));
+OP * pp_rmdir P((ARGSproto));
+OP * pp_open_dir P((ARGSproto));
+OP * pp_readdir P((ARGSproto));
+OP * pp_telldir P((ARGSproto));
+OP * pp_seekdir P((ARGSproto));
+OP * pp_rewinddir P((ARGSproto));
+OP * pp_closedir P((ARGSproto));
+OP * pp_fork P((ARGSproto));
+OP * pp_wait P((ARGSproto));
+OP * pp_waitpid P((ARGSproto));
+OP * pp_system P((ARGSproto));
+OP * pp_exec P((ARGSproto));
+OP * pp_kill P((ARGSproto));
+OP * pp_getppid P((ARGSproto));
+OP * pp_getpgrp P((ARGSproto));
+OP * pp_setpgrp P((ARGSproto));
+OP * pp_getpriority P((ARGSproto));
+OP * pp_setpriority P((ARGSproto));
+OP * pp_time P((ARGSproto));
+OP * pp_tms P((ARGSproto));
+OP * pp_localtime P((ARGSproto));
+OP * pp_gmtime P((ARGSproto));
+OP * pp_alarm P((ARGSproto));
+OP * pp_sleep P((ARGSproto));
+OP * pp_shmget P((ARGSproto));
+OP * pp_shmctl P((ARGSproto));
+OP * pp_shmread P((ARGSproto));
+OP * pp_shmwrite P((ARGSproto));
+OP * pp_msgget P((ARGSproto));
+OP * pp_msgctl P((ARGSproto));
+OP * pp_msgsnd P((ARGSproto));
+OP * pp_msgrcv P((ARGSproto));
+OP * pp_semget P((ARGSproto));
+OP * pp_semctl P((ARGSproto));
+OP * pp_semop P((ARGSproto));
+OP * pp_require P((ARGSproto));
+OP * pp_dofile P((ARGSproto));
+OP * pp_entereval P((ARGSproto));
+OP * pp_leaveeval P((ARGSproto));
+OP * pp_evalonce P((ARGSproto));
+OP * pp_entertry P((ARGSproto));
+OP * pp_leavetry P((ARGSproto));
+OP * pp_ghbyname P((ARGSproto));
+OP * pp_ghbyaddr P((ARGSproto));
+OP * pp_ghostent P((ARGSproto));
+OP * pp_gnbyname P((ARGSproto));
+OP * pp_gnbyaddr P((ARGSproto));
+OP * pp_gnetent P((ARGSproto));
+OP * pp_gpbyname P((ARGSproto));
+OP * pp_gpbynumber P((ARGSproto));
+OP * pp_gprotoent P((ARGSproto));
+OP * pp_gsbyname P((ARGSproto));
+OP * pp_gsbyport P((ARGSproto));
+OP * pp_gservent P((ARGSproto));
+OP * pp_shostent P((ARGSproto));
+OP * pp_snetent P((ARGSproto));
+OP * pp_sprotoent P((ARGSproto));
+OP * pp_sservent P((ARGSproto));
+OP * pp_ehostent P((ARGSproto));
+OP * pp_enetent P((ARGSproto));
+OP * pp_eprotoent P((ARGSproto));
+OP * pp_eservent P((ARGSproto));
+OP * pp_gpwnam P((ARGSproto));
+OP * pp_gpwuid P((ARGSproto));
+OP * pp_gpwent P((ARGSproto));
+OP * pp_spwent P((ARGSproto));
+OP * pp_epwent P((ARGSproto));
+OP * pp_ggrnam P((ARGSproto));
+OP * pp_ggrgid P((ARGSproto));
+OP * pp_ggrent P((ARGSproto));
+OP * pp_sgrent P((ARGSproto));
+OP * pp_egrent P((ARGSproto));
+OP * pp_getlogin P((ARGSproto));
+OP * pp_syscall P((ARGSproto));
+
+#ifndef DOINIT
+extern OP * (*ppaddr[])();
+#else
+OP * (*ppaddr[])() = {
+ pp_null,
+ pp_scalar,
+ pp_pushmark,
+ pp_wantarray,
+ pp_word,
+ pp_const,
+ pp_interp,
+ pp_gvsv,
+ pp_gv,
+ pp_pushre,
+ pp_rv2gv,
+ pp_sv2len,
+ pp_rv2sv,
+ pp_av2arylen,
+ pp_rv2cv,
+ pp_refgen,
+ pp_ref,
+ pp_bless,
+ pp_backtick,
+ pp_glob,
+ pp_readline,
+ pp_rcatline,
+ pp_regcomp,
+ pp_match,
+ pp_subst,
+ pp_substcont,
+ pp_trans,
+ pp_sassign,
+ pp_aassign,
+ pp_schop,
+ pp_chop,
+ pp_defined,
+ pp_undef,
+ pp_study,
+ pp_preinc,
+ pp_predec,
+ pp_postinc,
+ pp_postdec,
+ pp_pow,
+ pp_multiply,
+ pp_divide,
+ pp_modulo,
+ pp_repeat,
+ pp_add,
+ pp_intadd,
+ pp_subtract,
+ pp_concat,
+ pp_left_shift,
+ pp_right_shift,
+ pp_lt,
+ pp_gt,
+ pp_le,
+ pp_ge,
+ pp_eq,
+ pp_ne,
+ pp_ncmp,
+ pp_slt,
+ pp_sgt,
+ pp_sle,
+ pp_sge,
+ pp_seq,
+ pp_sne,
+ pp_scmp,
+ pp_bit_and,
+ pp_xor,
+ pp_bit_or,
+ pp_negate,
+ pp_not,
+ pp_complement,
+ pp_atan2,
+ pp_sin,
+ pp_cos,
+ pp_rand,
+ pp_srand,
+ pp_exp,
+ pp_log,
+ pp_sqrt,
+ pp_int,
+ pp_hex,
+ pp_oct,
+ pp_length,
+ pp_substr,
+ pp_vec,
+ pp_index,
+ pp_rindex,
+ pp_sprintf,
+ pp_formline,
+ pp_ord,
+ pp_crypt,
+ pp_ucfirst,
+ pp_lcfirst,
+ pp_uc,
+ pp_lc,
+ pp_rv2av,
+ pp_aelemfast,
+ pp_aelem,
+ pp_aslice,
+ pp_each,
+ pp_values,
+ pp_keys,
+ pp_delete,
+ pp_rv2hv,
+ pp_helem,
+ pp_hslice,
+ pp_unpack,
+ pp_pack,
+ pp_split,
+ pp_join,
+ pp_list,
+ pp_lslice,
+ pp_anonlist,
+ pp_anonhash,
+ pp_splice,
+ pp_push,
+ pp_pop,
+ pp_shift,
+ pp_unshift,
+ pp_sort,
+ pp_reverse,
+ pp_grepstart,
+ pp_grepwhile,
+ pp_range,
+ pp_flip,
+ pp_flop,
+ pp_and,
+ pp_or,
+ pp_cond_expr,
+ pp_andassign,
+ pp_orassign,
+ pp_method,
+ pp_entersubr,
+ pp_leavesubr,
+ pp_caller,
+ pp_warn,
+ pp_die,
+ pp_reset,
+ pp_lineseq,
+ pp_curcop,
+ pp_unstack,
+ pp_enter,
+ pp_leave,
+ pp_enteriter,
+ pp_iter,
+ pp_enterloop,
+ pp_leaveloop,
+ pp_return,
+ pp_last,
+ pp_next,
+ pp_redo,
+ pp_dump,
+ pp_goto,
+ pp_exit,
+ pp_nswitch,
+ pp_cswitch,
+ pp_open,
+ pp_close,
+ pp_pipe_op,
+ pp_fileno,
+ pp_umask,
+ pp_binmode,
+ pp_dbmopen,
+ pp_dbmclose,
+ pp_sselect,
+ pp_select,
+ pp_getc,
+ pp_read,
+ pp_enterwrite,
+ pp_leavewrite,
+ pp_prtf,
+ pp_print,
+ pp_sysread,
+ pp_syswrite,
+ pp_send,
+ pp_recv,
+ pp_eof,
+ pp_tell,
+ pp_seek,
+ pp_truncate,
+ pp_fcntl,
+ pp_ioctl,
+ pp_flock,
+ pp_socket,
+ pp_sockpair,
+ pp_bind,
+ pp_connect,
+ pp_listen,
+ pp_accept,
+ pp_shutdown,
+ pp_gsockopt,
+ pp_ssockopt,
+ pp_getsockname,
+ pp_getpeername,
+ pp_lstat,
+ pp_stat,
+ pp_ftrread,
+ pp_ftrwrite,
+ pp_ftrexec,
+ pp_fteread,
+ pp_ftewrite,
+ pp_fteexec,
+ pp_ftis,
+ pp_fteowned,
+ pp_ftrowned,
+ pp_ftzero,
+ pp_ftsize,
+ pp_ftmtime,
+ pp_ftatime,
+ pp_ftctime,
+ pp_ftsock,
+ pp_ftchr,
+ pp_ftblk,
+ pp_ftfile,
+ pp_ftdir,
+ pp_ftpipe,
+ pp_ftlink,
+ pp_ftsuid,
+ pp_ftsgid,
+ pp_ftsvtx,
+ pp_fttty,
+ pp_fttext,
+ pp_ftbinary,
+ pp_chdir,
+ pp_chown,
+ pp_chroot,
+ pp_unlink,
+ pp_chmod,
+ pp_utime,
+ pp_rename,
+ pp_link,
+ pp_symlink,
+ pp_readlink,
+ pp_mkdir,
+ pp_rmdir,
+ pp_open_dir,
+ pp_readdir,
+ pp_telldir,
+ pp_seekdir,
+ pp_rewinddir,
+ pp_closedir,
+ pp_fork,
+ pp_wait,
+ pp_waitpid,
+ pp_system,
+ pp_exec,
+ pp_kill,
+ pp_getppid,
+ pp_getpgrp,
+ pp_setpgrp,
+ pp_getpriority,
+ pp_setpriority,
+ pp_time,
+ pp_tms,
+ pp_localtime,
+ pp_gmtime,
+ pp_alarm,
+ pp_sleep,
+ pp_shmget,
+ pp_shmctl,
+ pp_shmread,
+ pp_shmwrite,
+ pp_msgget,
+ pp_msgctl,
+ pp_msgsnd,
+ pp_msgrcv,
+ pp_semget,
+ pp_semctl,
+ pp_semop,
+ pp_require,
+ pp_dofile,
+ pp_entereval,
+ pp_leaveeval,
+ pp_evalonce,
+ pp_entertry,
+ pp_leavetry,
+ pp_ghbyname,
+ pp_ghbyaddr,
+ pp_ghostent,
+ pp_gnbyname,
+ pp_gnbyaddr,
+ pp_gnetent,
+ pp_gpbyname,
+ pp_gpbynumber,
+ pp_gprotoent,
+ pp_gsbyname,
+ pp_gsbyport,
+ pp_gservent,
+ pp_shostent,
+ pp_snetent,
+ pp_sprotoent,
+ pp_sservent,
+ pp_ehostent,
+ pp_enetent,
+ pp_eprotoent,
+ pp_eservent,
+ pp_gpwnam,
+ pp_gpwuid,
+ pp_gpwent,
+ pp_spwent,
+ pp_epwent,
+ pp_ggrnam,
+ pp_ggrgid,
+ pp_ggrent,
+ pp_sgrent,
+ pp_egrent,
+ pp_getlogin,
+ pp_syscall,
+};
+#endif
+
+#ifndef DOINIT
+extern OP * (*check[])();
+#else
+OP * (*check[])() = {
+ ck_null, /* null */
+ ck_null, /* scalar */
+ ck_null, /* pushmark */
+ ck_null, /* wantarray */
+ ck_null, /* word */
+ ck_null, /* const */
+ ck_null, /* interp */
+ ck_null, /* gvsv */
+ ck_null, /* gv */
+ ck_null, /* pushre */
+ ck_rvconst, /* rv2gv */
+ ck_null, /* sv2len */
+ ck_rvconst, /* rv2sv */
+ ck_null, /* av2arylen */
+ ck_rvconst, /* rv2cv */
+ ck_null, /* refgen */
+ ck_fun, /* ref */
+ ck_fun, /* bless */
+ ck_null, /* backtick */
+ ck_glob, /* glob */
+ ck_null, /* readline */
+ ck_null, /* rcatline */
+ ck_null, /* regcomp */
+ ck_match, /* match */
+ ck_null, /* subst */
+ ck_null, /* substcont */
+ ck_null, /* trans */
+ ck_null, /* sassign */
+ ck_null, /* aassign */
+ ck_null, /* schop */
+ ck_chop, /* chop */
+ ck_lfun, /* defined */
+ ck_lfun, /* undef */
+ ck_fun, /* study */
+ ck_lfun, /* preinc */
+ ck_lfun, /* predec */
+ ck_lfun, /* postinc */
+ ck_lfun, /* postdec */
+ ck_null, /* pow */
+ ck_null, /* multiply */
+ ck_null, /* divide */
+ ck_null, /* modulo */
+ ck_repeat, /* repeat */
+ ck_null, /* add */
+ ck_null, /* intadd */
+ ck_null, /* subtract */
+ ck_concat, /* concat */
+ ck_null, /* left_shift */
+ ck_null, /* right_shift */
+ ck_null, /* lt */
+ ck_null, /* gt */
+ ck_null, /* le */
+ ck_null, /* ge */
+ ck_null, /* eq */
+ ck_null, /* ne */
+ ck_null, /* ncmp */
+ ck_null, /* slt */
+ ck_null, /* sgt */
+ ck_null, /* sle */
+ ck_null, /* sge */
+ ck_null, /* seq */
+ ck_null, /* sne */
+ ck_null, /* scmp */
+ ck_null, /* bit_and */
+ ck_null, /* xor */
+ ck_null, /* bit_or */
+ ck_null, /* negate */
+ ck_null, /* not */
+ ck_null, /* complement */
+ ck_fun, /* atan2 */
+ ck_fun, /* sin */
+ ck_fun, /* cos */
+ ck_fun, /* rand */
+ ck_fun, /* srand */
+ ck_fun, /* exp */
+ ck_fun, /* log */
+ ck_fun, /* sqrt */
+ ck_fun, /* int */
+ ck_fun, /* hex */
+ ck_fun, /* oct */
+ ck_lengthconst, /* length */
+ ck_fun, /* substr */
+ ck_fun, /* vec */
+ ck_index, /* index */
+ ck_index, /* rindex */
+ ck_fun, /* sprintf */
+ ck_formline, /* formline */
+ ck_fun, /* ord */
+ ck_fun, /* crypt */
+ ck_fun, /* ucfirst */
+ ck_fun, /* lcfirst */
+ ck_fun, /* uc */
+ ck_fun, /* lc */
+ ck_rvconst, /* rv2av */
+ ck_null, /* aelemfast */
+ ck_aelem, /* aelem */
+ ck_null, /* aslice */
+ ck_fun, /* each */
+ ck_fun, /* values */
+ ck_fun, /* keys */
+ ck_null, /* delete */
+ ck_rvconst, /* rv2hv */
+ ck_null, /* helem */
+ ck_null, /* hslice */
+ ck_fun, /* unpack */
+ ck_fun, /* pack */
+ ck_split, /* split */
+ ck_fun, /* join */
+ ck_null, /* list */
+ ck_null, /* lslice */
+ ck_null, /* anonlist */
+ ck_null, /* anonhash */
+ ck_fun, /* splice */
+ ck_fun, /* push */
+ ck_shift, /* pop */
+ ck_shift, /* shift */
+ ck_fun, /* unshift */
+ ck_sort, /* sort */
+ ck_fun, /* reverse */
+ ck_grep, /* grepstart */
+ ck_null, /* grepwhile */
+ ck_null, /* range */
+ ck_null, /* flip */
+ ck_null, /* flop */
+ ck_null, /* and */
+ ck_null, /* or */
+ ck_null, /* cond_expr */
+ ck_null, /* andassign */
+ ck_null, /* orassign */
+ ck_null, /* method */
+ ck_subr, /* entersubr */
+ ck_null, /* leavesubr */
+ ck_fun, /* caller */
+ ck_fun, /* warn */
+ ck_fun, /* die */
+ ck_fun, /* reset */
+ ck_null, /* lineseq */
+ ck_null, /* curcop */
+ ck_null, /* unstack */
+ ck_null, /* enter */
+ ck_null, /* leave */
+ ck_null, /* enteriter */
+ ck_null, /* iter */
+ ck_null, /* enterloop */
+ ck_null, /* leaveloop */
+ ck_fun, /* return */
+ ck_null, /* last */
+ ck_null, /* next */
+ ck_null, /* redo */
+ ck_null, /* dump */
+ ck_null, /* goto */
+ ck_fun, /* exit */
+ ck_null, /* nswitch */
+ ck_null, /* cswitch */
+ ck_fun, /* open */
+ ck_fun, /* close */
+ ck_fun, /* pipe_op */
+ ck_fun, /* fileno */
+ ck_fun, /* umask */
+ ck_fun, /* binmode */
+ ck_fun, /* dbmopen */
+ ck_fun, /* dbmclose */
+ ck_select, /* sselect */
+ ck_select, /* select */
+ ck_eof, /* getc */
+ ck_fun, /* read */
+ ck_fun, /* enterwrite */
+ ck_null, /* leavewrite */
+ ck_listiob, /* prtf */
+ ck_listiob, /* print */
+ ck_fun, /* sysread */
+ ck_fun, /* syswrite */
+ ck_fun, /* send */
+ ck_fun, /* recv */
+ ck_eof, /* eof */
+ ck_fun, /* tell */
+ ck_fun, /* seek */
+ ck_trunc, /* truncate */
+ ck_fun, /* fcntl */
+ ck_fun, /* ioctl */
+ ck_fun, /* flock */
+ ck_fun, /* socket */
+ ck_fun, /* sockpair */
+ ck_fun, /* bind */
+ ck_fun, /* connect */
+ ck_fun, /* listen */
+ ck_fun, /* accept */
+ ck_fun, /* shutdown */
+ ck_fun, /* gsockopt */
+ ck_fun, /* ssockopt */
+ ck_fun, /* getsockname */
+ ck_fun, /* getpeername */
+ ck_ftst, /* lstat */
+ ck_ftst, /* stat */
+ ck_ftst, /* ftrread */
+ ck_ftst, /* ftrwrite */
+ ck_ftst, /* ftrexec */
+ ck_ftst, /* fteread */
+ ck_ftst, /* ftewrite */
+ ck_ftst, /* fteexec */
+ ck_ftst, /* ftis */
+ ck_ftst, /* fteowned */
+ ck_ftst, /* ftrowned */
+ ck_ftst, /* ftzero */
+ ck_ftst, /* ftsize */
+ ck_ftst, /* ftmtime */
+ ck_ftst, /* ftatime */
+ ck_ftst, /* ftctime */
+ ck_ftst, /* ftsock */
+ ck_ftst, /* ftchr */
+ ck_ftst, /* ftblk */
+ ck_ftst, /* ftfile */
+ ck_ftst, /* ftdir */
+ ck_ftst, /* ftpipe */
+ ck_ftst, /* ftlink */
+ ck_ftst, /* ftsuid */
+ ck_ftst, /* ftsgid */
+ ck_ftst, /* ftsvtx */
+ ck_ftst, /* fttty */
+ ck_ftst, /* fttext */
+ ck_ftst, /* ftbinary */
+ ck_fun, /* chdir */
+ ck_fun, /* chown */
+ ck_fun, /* chroot */
+ ck_fun, /* unlink */
+ ck_fun, /* chmod */
+ ck_fun, /* utime */
+ ck_fun, /* rename */
+ ck_fun, /* link */
+ ck_fun, /* symlink */
+ ck_fun, /* readlink */
+ ck_fun, /* mkdir */
+ ck_fun, /* rmdir */
+ ck_fun, /* open_dir */
+ ck_fun, /* readdir */
+ ck_fun, /* telldir */
+ ck_fun, /* seekdir */
+ ck_fun, /* rewinddir */
+ ck_fun, /* closedir */
+ ck_null, /* fork */
+ ck_null, /* wait */
+ ck_fun, /* waitpid */
+ ck_exec, /* system */
+ ck_exec, /* exec */
+ ck_fun, /* kill */
+ ck_null, /* getppid */
+ ck_fun, /* getpgrp */
+ ck_fun, /* setpgrp */
+ ck_fun, /* getpriority */
+ ck_fun, /* setpriority */
+ ck_null, /* time */
+ ck_null, /* tms */
+ ck_fun, /* localtime */
+ ck_fun, /* gmtime */
+ ck_fun, /* alarm */
+ ck_fun, /* sleep */
+ ck_fun, /* shmget */
+ ck_fun, /* shmctl */
+ ck_fun, /* shmread */
+ ck_fun, /* shmwrite */
+ ck_fun, /* msgget */
+ ck_fun, /* msgctl */
+ ck_fun, /* msgsnd */
+ ck_fun, /* msgrcv */
+ ck_fun, /* semget */
+ ck_fun, /* semctl */
+ ck_fun, /* semop */
+ ck_fun, /* require */
+ ck_fun, /* dofile */
+ ck_eval, /* entereval */
+ ck_null, /* leaveeval */
+ ck_null, /* evalonce */
+ ck_null, /* entertry */
+ ck_null, /* leavetry */
+ ck_fun, /* ghbyname */
+ ck_fun, /* ghbyaddr */
+ ck_null, /* ghostent */
+ ck_fun, /* gnbyname */
+ ck_fun, /* gnbyaddr */
+ ck_null, /* gnetent */
+ ck_fun, /* gpbyname */
+ ck_fun, /* gpbynumber */
+ ck_null, /* gprotoent */
+ ck_fun, /* gsbyname */
+ ck_fun, /* gsbyport */
+ ck_null, /* gservent */
+ ck_fun, /* shostent */
+ ck_fun, /* snetent */
+ ck_fun, /* sprotoent */
+ ck_fun, /* sservent */
+ ck_null, /* ehostent */
+ ck_null, /* enetent */
+ ck_null, /* eprotoent */
+ ck_null, /* eservent */
+ ck_fun, /* gpwnam */
+ ck_fun, /* gpwuid */
+ ck_null, /* gpwent */
+ ck_null, /* spwent */
+ ck_null, /* epwent */
+ ck_fun, /* ggrnam */
+ ck_fun, /* ggrgid */
+ ck_null, /* ggrent */
+ ck_null, /* sgrent */
+ ck_null, /* egrent */
+ ck_null, /* getlogin */
+ ck_fun, /* syscall */
+};
+#endif
+
+#ifndef DOINIT
+EXT U32 opargs[];
+#else
+U32 opargs[] = {
+ 0x00000000, /* null */
+ 0x00000004, /* scalar */
+ 0x00000004, /* pushmark */
+ 0x00000014, /* wantarray */
+ 0x00000004, /* word */
+ 0x00000004, /* const */
+ 0x00000000, /* interp */
+ 0x00000044, /* gvsv */
+ 0x00000044, /* gv */
+ 0x00000000, /* pushre */
+ 0x00000044, /* rv2gv */
+ 0x0000001c, /* sv2len */
+ 0x00000044, /* rv2sv */
+ 0x00000014, /* av2arylen */
+ 0x00000040, /* rv2cv */
+ 0x0000020e, /* refgen */
+ 0x0000010c, /* ref */
+ 0x00000104, /* bless */
+ 0x00000008, /* backtick */
+ 0x00000008, /* glob */
+ 0x00000008, /* readline */
+ 0x00000008, /* rcatline */
+ 0x00000104, /* regcomp */
+ 0x00000040, /* match */
+ 0x00000154, /* subst */
+ 0x00000054, /* substcont */
+ 0x00000114, /* trans */
+ 0x00000004, /* sassign */
+ 0x00002208, /* aassign */
+ 0x00000008, /* schop */
+ 0x00000209, /* chop */
+ 0x00000914, /* defined */
+ 0x00000904, /* undef */
+ 0x0000090c, /* study */
+ 0x00000104, /* preinc */
+ 0x00000104, /* predec */
+ 0x0000010c, /* postinc */
+ 0x0000010c, /* postdec */
+ 0x0000110e, /* pow */
+ 0x0000110e, /* multiply */
+ 0x0000110e, /* divide */
+ 0x0000111e, /* modulo */
+ 0x00001209, /* repeat */
+ 0x0000112e, /* add */
+ 0x0000111e, /* intadd */
+ 0x0000110e, /* subtract */
+ 0x0000110e, /* concat */
+ 0x0000111e, /* left_shift */
+ 0x0000111e, /* right_shift */
+ 0x00001116, /* lt */
+ 0x00001116, /* gt */
+ 0x00001116, /* le */
+ 0x00001116, /* ge */
+ 0x00001116, /* eq */
+ 0x00001116, /* ne */
+ 0x0000111e, /* ncmp */
+ 0x00001116, /* slt */
+ 0x00001116, /* sgt */
+ 0x00001116, /* sle */
+ 0x00001116, /* sge */
+ 0x00001116, /* seq */
+ 0x00001116, /* sne */
+ 0x0000111e, /* scmp */
+ 0x0000110e, /* bit_and */
+ 0x0000110e, /* xor */
+ 0x0000110e, /* bit_or */
+ 0x0000010e, /* negate */
+ 0x00000116, /* not */
+ 0x0000010e, /* complement */
+ 0x0000110e, /* atan2 */
+ 0x0000090e, /* sin */
+ 0x0000090e, /* cos */
+ 0x0000090c, /* rand */
+ 0x00000904, /* srand */
+ 0x0000090e, /* exp */
+ 0x0000090e, /* log */
+ 0x0000090e, /* sqrt */
+ 0x0000090e, /* int */
+ 0x0000091c, /* hex */
+ 0x0000091c, /* oct */
+ 0x0000011c, /* length */
+ 0x0009110c, /* substr */
+ 0x0001111c, /* vec */
+ 0x0009111c, /* index */
+ 0x0009111c, /* rindex */
+ 0x0000210d, /* sprintf */
+ 0x00002105, /* formline */
+ 0x0000091e, /* ord */
+ 0x0000110e, /* crypt */
+ 0x0000010a, /* ucfirst */
+ 0x0000010a, /* lcfirst */
+ 0x0000010a, /* uc */
+ 0x0000010a, /* lc */
+ 0x00000048, /* rv2av */
+ 0x00001304, /* aelemfast */
+ 0x00001304, /* aelem */
+ 0x00002301, /* aslice */
+ 0x00000408, /* each */
+ 0x00000408, /* values */
+ 0x00000408, /* keys */
+ 0x00001404, /* delete */
+ 0x00000048, /* rv2hv */
+ 0x00001404, /* helem */
+ 0x00002401, /* hslice */
+ 0x00001100, /* unpack */
+ 0x0000210d, /* pack */
+ 0x00011108, /* split */
+ 0x0000210d, /* join */
+ 0x00000201, /* list */
+ 0x00022400, /* lslice */
+ 0x00000201, /* anonlist */
+ 0x00000201, /* anonhash */
+ 0x00291301, /* splice */
+ 0x0000231d, /* push */
+ 0x00000304, /* pop */
+ 0x00000304, /* shift */
+ 0x0000231d, /* unshift */
+ 0x00002d01, /* sort */
+ 0x00000209, /* reverse */
+ 0x00002541, /* grepstart */
+ 0x00000048, /* grepwhile */
+ 0x00001100, /* range */
+ 0x00001100, /* flip */
+ 0x00000000, /* flop */
+ 0x00000000, /* and */
+ 0x00000000, /* or */
+ 0x00000000, /* cond_expr */
+ 0x00000004, /* andassign */
+ 0x00000004, /* orassign */
+ 0x00000048, /* method */
+ 0x00000241, /* entersubr */
+ 0x00000000, /* leavesubr */
+ 0x00000908, /* caller */
+ 0x0000021d, /* warn */
+ 0x0000025d, /* die */
+ 0x00000914, /* reset */
+ 0x00000000, /* lineseq */
+ 0x00000004, /* curcop */
+ 0x00000004, /* unstack */
+ 0x00000000, /* enter */
+ 0x00000000, /* leave */
+ 0x00000040, /* enteriter */
+ 0x00000000, /* iter */
+ 0x00000040, /* enterloop */
+ 0x00000004, /* leaveloop */
+ 0x00000241, /* return */
+ 0x00000044, /* last */
+ 0x00000044, /* next */
+ 0x00000044, /* redo */
+ 0x00000044, /* dump */
+ 0x00000044, /* goto */
+ 0x00000944, /* exit */
+ 0x00000040, /* nswitch */
+ 0x00000040, /* cswitch */
+ 0x0000961c, /* open */
+ 0x00000e14, /* close */
+ 0x00006614, /* pipe_op */
+ 0x0000061c, /* fileno */
+ 0x0000091c, /* umask */
+ 0x00000604, /* binmode */
+ 0x0001141c, /* dbmopen */
+ 0x00000414, /* dbmclose */
+ 0x00111108, /* sselect */
+ 0x00000e0c, /* select */
+ 0x00000e0c, /* getc */
+ 0x0091761d, /* read */
+ 0x00000e54, /* enterwrite */
+ 0x00000000, /* leavewrite */
+ 0x00002e15, /* prtf */
+ 0x00002e15, /* print */
+ 0x0091761d, /* sysread */
+ 0x0091161d, /* syswrite */
+ 0x0091161d, /* send */
+ 0x0011761d, /* recv */
+ 0x00000e14, /* eof */
+ 0x00000e0c, /* tell */
+ 0x00011604, /* seek */
+ 0x00001114, /* truncate */
+ 0x0001160c, /* fcntl */
+ 0x0001160c, /* ioctl */
+ 0x0000161c, /* flock */
+ 0x00111614, /* socket */
+ 0x01116614, /* sockpair */
+ 0x00001614, /* bind */
+ 0x00001614, /* connect */
+ 0x00001614, /* listen */
+ 0x0000661c, /* accept */
+ 0x0000161c, /* shutdown */
+ 0x00011614, /* gsockopt */
+ 0x00111614, /* ssockopt */
+ 0x00000614, /* getsockname */
+ 0x00000614, /* getpeername */
+ 0x00000600, /* lstat */
+ 0x00000600, /* stat */
+ 0x00000614, /* ftrread */
+ 0x00000614, /* ftrwrite */
+ 0x00000614, /* ftrexec */
+ 0x00000614, /* fteread */
+ 0x00000614, /* ftewrite */
+ 0x00000614, /* fteexec */
+ 0x00000614, /* ftis */
+ 0x00000614, /* fteowned */
+ 0x00000614, /* ftrowned */
+ 0x00000614, /* ftzero */
+ 0x0000061c, /* ftsize */
+ 0x0000060c, /* ftmtime */
+ 0x0000060c, /* ftatime */
+ 0x0000060c, /* ftctime */
+ 0x00000614, /* ftsock */
+ 0x00000614, /* ftchr */
+ 0x00000614, /* ftblk */
+ 0x00000614, /* ftfile */
+ 0x00000614, /* ftdir */
+ 0x00000614, /* ftpipe */
+ 0x00000614, /* ftlink */
+ 0x00000614, /* ftsuid */
+ 0x00000614, /* ftsgid */
+ 0x00000614, /* ftsvtx */
+ 0x00000614, /* fttty */
+ 0x00000614, /* fttext */
+ 0x00000614, /* ftbinary */
+ 0x0000091c, /* chdir */
+ 0x0000021d, /* chown */
+ 0x0000091c, /* chroot */
+ 0x0000021d, /* unlink */
+ 0x0000021d, /* chmod */
+ 0x0000021d, /* utime */
+ 0x0000111c, /* rename */
+ 0x0000111c, /* link */
+ 0x0000111c, /* symlink */
+ 0x0000090c, /* readlink */
+ 0x0000111c, /* mkdir */
+ 0x0000091c, /* rmdir */
+ 0x00001614, /* open_dir */
+ 0x00000600, /* readdir */
+ 0x0000060c, /* telldir */
+ 0x00001604, /* seekdir */
+ 0x00000604, /* rewinddir */
+ 0x00000614, /* closedir */
+ 0x0000001c, /* fork */
+ 0x0000001c, /* wait */
+ 0x0000111c, /* waitpid */
+ 0x0000291d, /* system */
+ 0x0000295d, /* exec */
+ 0x0000025d, /* kill */
+ 0x0000001c, /* getppid */
+ 0x0000091c, /* getpgrp */
+ 0x0000111c, /* setpgrp */
+ 0x0000111c, /* getpriority */
+ 0x0001111c, /* setpriority */
+ 0x0000001c, /* time */
+ 0x00000000, /* tms */
+ 0x00000908, /* localtime */
+ 0x00000908, /* gmtime */
+ 0x0000091c, /* alarm */
+ 0x0000091c, /* sleep */
+ 0x0001111d, /* shmget */
+ 0x0001111d, /* shmctl */
+ 0x0011111d, /* shmread */
+ 0x0011111c, /* shmwrite */
+ 0x0000111d, /* msgget */
+ 0x0001111d, /* msgctl */
+ 0x0001111d, /* msgsnd */
+ 0x0111111d, /* msgrcv */
+ 0x0001111d, /* semget */
+ 0x0011111d, /* semctl */
+ 0x0001111d, /* semop */
+ 0x00000140, /* require */
+ 0x00000140, /* dofile */
+ 0x00000140, /* entereval */
+ 0x00000100, /* leaveeval */
+ 0x00000140, /* evalonce */
+ 0x00000000, /* entertry */
+ 0x00000000, /* leavetry */
+ 0x00000100, /* ghbyname */
+ 0x00001100, /* ghbyaddr */
+ 0x00000000, /* ghostent */
+ 0x00000100, /* gnbyname */
+ 0x00001100, /* gnbyaddr */
+ 0x00000000, /* gnetent */
+ 0x00000100, /* gpbyname */
+ 0x00000100, /* gpbynumber */
+ 0x00000000, /* gprotoent */
+ 0x00001100, /* gsbyname */
+ 0x00001100, /* gsbyport */
+ 0x00000000, /* gservent */
+ 0x0000011c, /* shostent */
+ 0x0000011c, /* snetent */
+ 0x0000011c, /* sprotoent */
+ 0x0000011c, /* sservent */
+ 0x0000001c, /* ehostent */
+ 0x0000001c, /* enetent */
+ 0x0000001c, /* eprotoent */
+ 0x0000001c, /* eservent */
+ 0x00000100, /* gpwnam */
+ 0x00000100, /* gpwuid */
+ 0x00000000, /* gpwent */
+ 0x0000001c, /* spwent */
+ 0x0000001c, /* epwent */
+ 0x00000100, /* ggrnam */
+ 0x00000100, /* ggrgid */
+ 0x00000000, /* ggrent */
+ 0x0000001c, /* sgrent */
+ 0x0000001c, /* egrent */
+ 0x0000000c, /* getlogin */
+ 0x0000211c, /* syscall */
+};
+#endif