-/*
+/* -*- buffer-read-only: t -*-
+ *
* opnames.h
*
- * Copyright (c) 1997-2003, Larry Wall
+ * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ * 2007 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
OP_I_NEGATE, /* 95 */
OP_NOT, /* 96 */
OP_COMPLEMENT, /* 97 */
- OP_ATAN2, /* 98 */
- OP_SIN, /* 99 */
- OP_COS, /* 100 */
- OP_RAND, /* 101 */
- OP_SRAND, /* 102 */
- OP_EXP, /* 103 */
- OP_LOG, /* 104 */
- OP_SQRT, /* 105 */
- OP_INT, /* 106 */
- OP_HEX, /* 107 */
- OP_OCT, /* 108 */
- OP_ABS, /* 109 */
- OP_LENGTH, /* 110 */
- OP_SUBSTR, /* 111 */
- OP_VEC, /* 112 */
- OP_INDEX, /* 113 */
- OP_RINDEX, /* 114 */
- OP_SPRINTF, /* 115 */
- OP_FORMLINE, /* 116 */
- OP_ORD, /* 117 */
- OP_CHR, /* 118 */
- OP_CRYPT, /* 119 */
- OP_UCFIRST, /* 120 */
- OP_LCFIRST, /* 121 */
- OP_UC, /* 122 */
- OP_LC, /* 123 */
- OP_QUOTEMETA, /* 124 */
- OP_RV2AV, /* 125 */
- OP_AELEMFAST, /* 126 */
- OP_AELEM, /* 127 */
- OP_ASLICE, /* 128 */
- OP_EACH, /* 129 */
- OP_VALUES, /* 130 */
- OP_KEYS, /* 131 */
- OP_DELETE, /* 132 */
- OP_EXISTS, /* 133 */
- OP_RV2HV, /* 134 */
- OP_HELEM, /* 135 */
- OP_HSLICE, /* 136 */
- OP_UNPACK, /* 137 */
- OP_PACK, /* 138 */
- OP_SPLIT, /* 139 */
- OP_JOIN, /* 140 */
- OP_LIST, /* 141 */
- OP_LSLICE, /* 142 */
- OP_ANONLIST, /* 143 */
- OP_ANONHASH, /* 144 */
- OP_SPLICE, /* 145 */
- OP_PUSH, /* 146 */
- OP_POP, /* 147 */
- OP_SHIFT, /* 148 */
- OP_UNSHIFT, /* 149 */
- OP_SORT, /* 150 */
- OP_REVERSE, /* 151 */
- OP_GREPSTART, /* 152 */
- OP_GREPWHILE, /* 153 */
- OP_MAPSTART, /* 154 */
- OP_MAPWHILE, /* 155 */
- OP_RANGE, /* 156 */
- OP_FLIP, /* 157 */
- OP_FLOP, /* 158 */
- OP_AND, /* 159 */
- OP_OR, /* 160 */
- OP_XOR, /* 161 */
- OP_COND_EXPR, /* 162 */
- OP_ANDASSIGN, /* 163 */
- OP_ORASSIGN, /* 164 */
- OP_METHOD, /* 165 */
- OP_ENTERSUB, /* 166 */
- OP_LEAVESUB, /* 167 */
- OP_LEAVESUBLV, /* 168 */
- OP_CALLER, /* 169 */
- OP_WARN, /* 170 */
- OP_DIE, /* 171 */
- OP_RESET, /* 172 */
- OP_LINESEQ, /* 173 */
- OP_NEXTSTATE, /* 174 */
- OP_DBSTATE, /* 175 */
- OP_UNSTACK, /* 176 */
- OP_ENTER, /* 177 */
- OP_LEAVE, /* 178 */
- OP_SCOPE, /* 179 */
- OP_ENTERITER, /* 180 */
- OP_ITER, /* 181 */
- OP_ENTERLOOP, /* 182 */
- OP_LEAVELOOP, /* 183 */
- OP_RETURN, /* 184 */
- OP_LAST, /* 185 */
- OP_NEXT, /* 186 */
- OP_REDO, /* 187 */
- OP_DUMP, /* 188 */
- OP_GOTO, /* 189 */
- OP_EXIT, /* 190 */
- OP_OPEN, /* 191 */
- OP_CLOSE, /* 192 */
- OP_PIPE_OP, /* 193 */
- OP_FILENO, /* 194 */
- OP_UMASK, /* 195 */
- OP_BINMODE, /* 196 */
- OP_TIE, /* 197 */
- OP_UNTIE, /* 198 */
- OP_TIED, /* 199 */
- OP_DBMOPEN, /* 200 */
- OP_DBMCLOSE, /* 201 */
- OP_SSELECT, /* 202 */
- OP_SELECT, /* 203 */
- OP_GETC, /* 204 */
- OP_READ, /* 205 */
- OP_ENTERWRITE, /* 206 */
- OP_LEAVEWRITE, /* 207 */
- OP_PRTF, /* 208 */
- OP_PRINT, /* 209 */
- OP_SYSOPEN, /* 210 */
- OP_SYSSEEK, /* 211 */
- OP_SYSREAD, /* 212 */
- OP_SYSWRITE, /* 213 */
- OP_SEND, /* 214 */
- OP_RECV, /* 215 */
- OP_EOF, /* 216 */
- OP_TELL, /* 217 */
- OP_SEEK, /* 218 */
- OP_TRUNCATE, /* 219 */
- OP_FCNTL, /* 220 */
- OP_IOCTL, /* 221 */
- OP_FLOCK, /* 222 */
- OP_SOCKET, /* 223 */
- OP_SOCKPAIR, /* 224 */
- OP_BIND, /* 225 */
- OP_CONNECT, /* 226 */
- OP_LISTEN, /* 227 */
- OP_ACCEPT, /* 228 */
- OP_SHUTDOWN, /* 229 */
- OP_GSOCKOPT, /* 230 */
- OP_SSOCKOPT, /* 231 */
- OP_GETSOCKNAME, /* 232 */
- OP_GETPEERNAME, /* 233 */
- OP_LSTAT, /* 234 */
- OP_STAT, /* 235 */
- OP_FTRREAD, /* 236 */
- OP_FTRWRITE, /* 237 */
- OP_FTREXEC, /* 238 */
- OP_FTEREAD, /* 239 */
- OP_FTEWRITE, /* 240 */
- OP_FTEEXEC, /* 241 */
- OP_FTIS, /* 242 */
- OP_FTEOWNED, /* 243 */
- OP_FTROWNED, /* 244 */
- OP_FTZERO, /* 245 */
- OP_FTSIZE, /* 246 */
- OP_FTMTIME, /* 247 */
- OP_FTATIME, /* 248 */
- OP_FTCTIME, /* 249 */
- OP_FTSOCK, /* 250 */
- OP_FTCHR, /* 251 */
- OP_FTBLK, /* 252 */
- OP_FTFILE, /* 253 */
- OP_FTDIR, /* 254 */
- OP_FTPIPE, /* 255 */
- OP_FTLINK, /* 256 */
- OP_FTSUID, /* 257 */
- OP_FTSGID, /* 258 */
- OP_FTSVTX, /* 259 */
- OP_FTTTY, /* 260 */
- OP_FTTEXT, /* 261 */
- OP_FTBINARY, /* 262 */
- OP_CHDIR, /* 263 */
- OP_CHOWN, /* 264 */
- OP_CHROOT, /* 265 */
- OP_UNLINK, /* 266 */
- OP_CHMOD, /* 267 */
- OP_UTIME, /* 268 */
- OP_RENAME, /* 269 */
- OP_LINK, /* 270 */
- OP_SYMLINK, /* 271 */
- OP_READLINK, /* 272 */
- OP_MKDIR, /* 273 */
- OP_RMDIR, /* 274 */
- OP_OPEN_DIR, /* 275 */
- OP_READDIR, /* 276 */
- OP_TELLDIR, /* 277 */
- OP_SEEKDIR, /* 278 */
- OP_REWINDDIR, /* 279 */
- OP_CLOSEDIR, /* 280 */
- OP_FORK, /* 281 */
- OP_WAIT, /* 282 */
- OP_WAITPID, /* 283 */
- OP_SYSTEM, /* 284 */
- OP_EXEC, /* 285 */
- OP_KILL, /* 286 */
- OP_GETPPID, /* 287 */
- OP_GETPGRP, /* 288 */
- OP_SETPGRP, /* 289 */
- OP_GETPRIORITY, /* 290 */
- OP_SETPRIORITY, /* 291 */
- OP_TIME, /* 292 */
- OP_TMS, /* 293 */
- OP_LOCALTIME, /* 294 */
- OP_GMTIME, /* 295 */
- OP_ALARM, /* 296 */
- OP_SLEEP, /* 297 */
- OP_SHMGET, /* 298 */
- OP_SHMCTL, /* 299 */
- OP_SHMREAD, /* 300 */
- OP_SHMWRITE, /* 301 */
- OP_MSGGET, /* 302 */
- OP_MSGCTL, /* 303 */
- OP_MSGSND, /* 304 */
- OP_MSGRCV, /* 305 */
- OP_SEMGET, /* 306 */
- OP_SEMCTL, /* 307 */
- OP_SEMOP, /* 308 */
- OP_REQUIRE, /* 309 */
- OP_DOFILE, /* 310 */
- OP_ENTEREVAL, /* 311 */
- OP_LEAVEEVAL, /* 312 */
- OP_ENTERTRY, /* 313 */
- OP_LEAVETRY, /* 314 */
- OP_GHBYNAME, /* 315 */
- OP_GHBYADDR, /* 316 */
- OP_GHOSTENT, /* 317 */
- OP_GNBYNAME, /* 318 */
- OP_GNBYADDR, /* 319 */
- OP_GNETENT, /* 320 */
- OP_GPBYNAME, /* 321 */
- OP_GPBYNUMBER, /* 322 */
- OP_GPROTOENT, /* 323 */
- OP_GSBYNAME, /* 324 */
- OP_GSBYPORT, /* 325 */
- OP_GSERVENT, /* 326 */
- OP_SHOSTENT, /* 327 */
- OP_SNETENT, /* 328 */
- OP_SPROTOENT, /* 329 */
- OP_SSERVENT, /* 330 */
- OP_EHOSTENT, /* 331 */
- OP_ENETENT, /* 332 */
- OP_EPROTOENT, /* 333 */
- OP_ESERVENT, /* 334 */
- OP_GPWNAM, /* 335 */
- OP_GPWUID, /* 336 */
- OP_GPWENT, /* 337 */
- OP_SPWENT, /* 338 */
- OP_EPWENT, /* 339 */
- OP_GGRNAM, /* 340 */
- OP_GGRGID, /* 341 */
- OP_GGRENT, /* 342 */
- OP_SGRENT, /* 343 */
- OP_EGRENT, /* 344 */
- OP_GETLOGIN, /* 345 */
- OP_SYSCALL, /* 346 */
- OP_LOCK, /* 347 */
- OP_THREADSV, /* 348 */
- OP_SETSTATE, /* 349 */
- OP_METHOD_NAMED,/* 350 */
- OP_DOR, /* 351 */
- OP_DORASSIGN, /* 352 */
- OP_CUSTOM, /* 353 */
+ OP_SMARTMATCH, /* 98 */
+ OP_ATAN2, /* 99 */
+ OP_SIN, /* 100 */
+ OP_COS, /* 101 */
+ OP_RAND, /* 102 */
+ OP_SRAND, /* 103 */
+ OP_EXP, /* 104 */
+ OP_LOG, /* 105 */
+ OP_SQRT, /* 106 */
+ OP_INT, /* 107 */
+ OP_HEX, /* 108 */
+ OP_OCT, /* 109 */
+ OP_ABS, /* 110 */
+ OP_LENGTH, /* 111 */
+ OP_SUBSTR, /* 112 */
+ OP_VEC, /* 113 */
+ OP_INDEX, /* 114 */
+ OP_RINDEX, /* 115 */
+ OP_SPRINTF, /* 116 */
+ OP_FORMLINE, /* 117 */
+ OP_ORD, /* 118 */
+ OP_CHR, /* 119 */
+ OP_CRYPT, /* 120 */
+ OP_UCFIRST, /* 121 */
+ OP_LCFIRST, /* 122 */
+ OP_UC, /* 123 */
+ OP_LC, /* 124 */
+ OP_QUOTEMETA, /* 125 */
+ OP_RV2AV, /* 126 */
+ OP_AELEMFAST, /* 127 */
+ OP_AELEM, /* 128 */
+ OP_ASLICE, /* 129 */
+ OP_AEACH, /* 130 */
+ OP_AKEYS, /* 131 */
+ OP_AVALUES, /* 132 */
+ OP_EACH, /* 133 */
+ OP_VALUES, /* 134 */
+ OP_KEYS, /* 135 */
+ OP_DELETE, /* 136 */
+ OP_EXISTS, /* 137 */
+ OP_RV2HV, /* 138 */
+ OP_HELEM, /* 139 */
+ OP_HSLICE, /* 140 */
+ OP_UNPACK, /* 141 */
+ OP_PACK, /* 142 */
+ OP_SPLIT, /* 143 */
+ OP_JOIN, /* 144 */
+ OP_LIST, /* 145 */
+ OP_LSLICE, /* 146 */
+ OP_ANONLIST, /* 147 */
+ OP_ANONHASH, /* 148 */
+ OP_SPLICE, /* 149 */
+ OP_PUSH, /* 150 */
+ OP_POP, /* 151 */
+ OP_SHIFT, /* 152 */
+ OP_UNSHIFT, /* 153 */
+ OP_SORT, /* 154 */
+ OP_REVERSE, /* 155 */
+ OP_GREPSTART, /* 156 */
+ OP_GREPWHILE, /* 157 */
+ OP_MAPSTART, /* 158 */
+ OP_MAPWHILE, /* 159 */
+ OP_RANGE, /* 160 */
+ OP_FLIP, /* 161 */
+ OP_FLOP, /* 162 */
+ OP_AND, /* 163 */
+ OP_OR, /* 164 */
+ OP_XOR, /* 165 */
+ OP_DOR, /* 166 */
+ OP_COND_EXPR, /* 167 */
+ OP_ANDASSIGN, /* 168 */
+ OP_ORASSIGN, /* 169 */
+ OP_DORASSIGN, /* 170 */
+ OP_METHOD, /* 171 */
+ OP_ENTERSUB, /* 172 */
+ OP_LEAVESUB, /* 173 */
+ OP_LEAVESUBLV, /* 174 */
+ OP_CALLER, /* 175 */
+ OP_WARN, /* 176 */
+ OP_DIE, /* 177 */
+ OP_RESET, /* 178 */
+ OP_LINESEQ, /* 179 */
+ OP_NEXTSTATE, /* 180 */
+ OP_DBSTATE, /* 181 */
+ OP_UNSTACK, /* 182 */
+ OP_ENTER, /* 183 */
+ OP_LEAVE, /* 184 */
+ OP_SCOPE, /* 185 */
+ OP_ENTERITER, /* 186 */
+ OP_ITER, /* 187 */
+ OP_ENTERLOOP, /* 188 */
+ OP_LEAVELOOP, /* 189 */
+ OP_RETURN, /* 190 */
+ OP_LAST, /* 191 */
+ OP_NEXT, /* 192 */
+ OP_REDO, /* 193 */
+ OP_DUMP, /* 194 */
+ OP_GOTO, /* 195 */
+ OP_EXIT, /* 196 */
+ OP_SETSTATE, /* 197 */
+ OP_METHOD_NAMED,/* 198 */
+ OP_ENTERGIVEN, /* 199 */
+ OP_LEAVEGIVEN, /* 200 */
+ OP_ENTERWHEN, /* 201 */
+ OP_LEAVEWHEN, /* 202 */
+ OP_BREAK, /* 203 */
+ OP_CONTINUE, /* 204 */
+ OP_OPEN, /* 205 */
+ OP_CLOSE, /* 206 */
+ OP_PIPE_OP, /* 207 */
+ OP_FILENO, /* 208 */
+ OP_UMASK, /* 209 */
+ OP_BINMODE, /* 210 */
+ OP_TIE, /* 211 */
+ OP_UNTIE, /* 212 */
+ OP_TIED, /* 213 */
+ OP_DBMOPEN, /* 214 */
+ OP_DBMCLOSE, /* 215 */
+ OP_SSELECT, /* 216 */
+ OP_SELECT, /* 217 */
+ OP_GETC, /* 218 */
+ OP_READ, /* 219 */
+ OP_ENTERWRITE, /* 220 */
+ OP_LEAVEWRITE, /* 221 */
+ OP_PRTF, /* 222 */
+ OP_PRINT, /* 223 */
+ OP_SAY, /* 224 */
+ OP_SYSOPEN, /* 225 */
+ OP_SYSSEEK, /* 226 */
+ OP_SYSREAD, /* 227 */
+ OP_SYSWRITE, /* 228 */
+ OP_SEND, /* 229 */
+ OP_RECV, /* 230 */
+ OP_EOF, /* 231 */
+ OP_TELL, /* 232 */
+ OP_SEEK, /* 233 */
+ OP_TRUNCATE, /* 234 */
+ OP_FCNTL, /* 235 */
+ OP_IOCTL, /* 236 */
+ OP_FLOCK, /* 237 */
+ OP_SOCKET, /* 238 */
+ OP_SOCKPAIR, /* 239 */
+ OP_BIND, /* 240 */
+ OP_CONNECT, /* 241 */
+ OP_LISTEN, /* 242 */
+ OP_ACCEPT, /* 243 */
+ OP_SHUTDOWN, /* 244 */
+ OP_GSOCKOPT, /* 245 */
+ OP_SSOCKOPT, /* 246 */
+ OP_GETSOCKNAME, /* 247 */
+ OP_GETPEERNAME, /* 248 */
+ OP_LSTAT, /* 249 */
+ OP_STAT, /* 250 */
+ OP_FTRREAD, /* 251 */
+ OP_FTRWRITE, /* 252 */
+ OP_FTREXEC, /* 253 */
+ OP_FTEREAD, /* 254 */
+ OP_FTEWRITE, /* 255 */
+ OP_FTEEXEC, /* 256 */
+ OP_FTIS, /* 257 */
+ OP_FTSIZE, /* 258 */
+ OP_FTMTIME, /* 259 */
+ OP_FTATIME, /* 260 */
+ OP_FTCTIME, /* 261 */
+ OP_FTROWNED, /* 262 */
+ OP_FTEOWNED, /* 263 */
+ OP_FTZERO, /* 264 */
+ OP_FTSOCK, /* 265 */
+ OP_FTCHR, /* 266 */
+ OP_FTBLK, /* 267 */
+ OP_FTFILE, /* 268 */
+ OP_FTDIR, /* 269 */
+ OP_FTPIPE, /* 270 */
+ OP_FTSUID, /* 271 */
+ OP_FTSGID, /* 272 */
+ OP_FTSVTX, /* 273 */
+ OP_FTLINK, /* 274 */
+ OP_FTTTY, /* 275 */
+ OP_FTTEXT, /* 276 */
+ OP_FTBINARY, /* 277 */
+ OP_CHDIR, /* 278 */
+ OP_CHOWN, /* 279 */
+ OP_CHROOT, /* 280 */
+ OP_UNLINK, /* 281 */
+ OP_CHMOD, /* 282 */
+ OP_UTIME, /* 283 */
+ OP_RENAME, /* 284 */
+ OP_LINK, /* 285 */
+ OP_SYMLINK, /* 286 */
+ OP_READLINK, /* 287 */
+ OP_MKDIR, /* 288 */
+ OP_RMDIR, /* 289 */
+ OP_OPEN_DIR, /* 290 */
+ OP_READDIR, /* 291 */
+ OP_TELLDIR, /* 292 */
+ OP_SEEKDIR, /* 293 */
+ OP_REWINDDIR, /* 294 */
+ OP_CLOSEDIR, /* 295 */
+ OP_FORK, /* 296 */
+ OP_WAIT, /* 297 */
+ OP_WAITPID, /* 298 */
+ OP_SYSTEM, /* 299 */
+ OP_EXEC, /* 300 */
+ OP_KILL, /* 301 */
+ OP_GETPPID, /* 302 */
+ OP_GETPGRP, /* 303 */
+ OP_SETPGRP, /* 304 */
+ OP_GETPRIORITY, /* 305 */
+ OP_SETPRIORITY, /* 306 */
+ OP_TIME, /* 307 */
+ OP_TMS, /* 308 */
+ OP_LOCALTIME, /* 309 */
+ OP_GMTIME, /* 310 */
+ OP_ALARM, /* 311 */
+ OP_SLEEP, /* 312 */
+ OP_SHMGET, /* 313 */
+ OP_SHMCTL, /* 314 */
+ OP_SHMREAD, /* 315 */
+ OP_SHMWRITE, /* 316 */
+ OP_MSGGET, /* 317 */
+ OP_MSGCTL, /* 318 */
+ OP_MSGSND, /* 319 */
+ OP_MSGRCV, /* 320 */
+ OP_SEMOP, /* 321 */
+ OP_SEMGET, /* 322 */
+ OP_SEMCTL, /* 323 */
+ OP_REQUIRE, /* 324 */
+ OP_DOFILE, /* 325 */
+ OP_ENTEREVAL, /* 326 */
+ OP_LEAVEEVAL, /* 327 */
+ OP_ENTERTRY, /* 328 */
+ OP_LEAVETRY, /* 329 */
+ OP_GHBYNAME, /* 330 */
+ OP_GHBYADDR, /* 331 */
+ OP_GHOSTENT, /* 332 */
+ OP_GNBYNAME, /* 333 */
+ OP_GNBYADDR, /* 334 */
+ OP_GNETENT, /* 335 */
+ OP_GPBYNAME, /* 336 */
+ OP_GPBYNUMBER, /* 337 */
+ OP_GPROTOENT, /* 338 */
+ OP_GSBYNAME, /* 339 */
+ OP_GSBYPORT, /* 340 */
+ OP_GSERVENT, /* 341 */
+ OP_SHOSTENT, /* 342 */
+ OP_SNETENT, /* 343 */
+ OP_SPROTOENT, /* 344 */
+ OP_SSERVENT, /* 345 */
+ OP_EHOSTENT, /* 346 */
+ OP_ENETENT, /* 347 */
+ OP_EPROTOENT, /* 348 */
+ OP_ESERVENT, /* 349 */
+ OP_GPWNAM, /* 350 */
+ OP_GPWUID, /* 351 */
+ OP_GPWENT, /* 352 */
+ OP_SPWENT, /* 353 */
+ OP_EPWENT, /* 354 */
+ OP_GGRNAM, /* 355 */
+ OP_GGRGID, /* 356 */
+ OP_GGRENT, /* 357 */
+ OP_SGRENT, /* 358 */
+ OP_EGRENT, /* 359 */
+ OP_GETLOGIN, /* 360 */
+ OP_SYSCALL, /* 361 */
+ OP_LOCK, /* 362 */
+ OP_ONCE, /* 363 */
+ OP_CUSTOM, /* 364 */
OP_max
} opcode;
-#define MAXO 354
+#define MAXO 365
#define OP_phoney_INPUT_ONLY -1
#define OP_phoney_OUTPUT_ONLY -2
(op) == OP_FTTTY || \
(op) == OP_FTZERO)
+/* ex: set ro: */