home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Database Designers / Rational Rose 2000 / Rational Setup.EXE / common / lib / MSWin32-x86 / CORE / byterun.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  5.0 KB  |  185 lines

  1. /*
  2.  *      Copyright (c) 1996-1998 Malcolm Beattie
  3.  *
  4.  *      You may distribute under the terms of either the GNU General Public
  5.  *      License or the Artistic License, as specified in the README file.
  6.  *
  7.  */
  8. /*
  9.  * This file is autogenerated from bytecode.pl. Changes made here will be lost.
  10.  */
  11. #ifdef INDIRECT_BGET_MACROS
  12. struct bytestream {
  13.     void *data;
  14.     int (*fgetc)(void *);
  15.     int (*fread)(char *, size_t, size_t, void*);
  16.     void (*freadpv)(U32, void*);
  17. };
  18. #endif /* INDIRECT_BGET_MACROS */
  19.  
  20. void *bset_obj_store _((void *, I32));
  21.  
  22. enum {
  23.     INSN_RET,            /* 0 */
  24.     INSN_LDSV,            /* 1 */
  25.     INSN_LDOP,            /* 2 */
  26.     INSN_STSV,            /* 3 */
  27.     INSN_STOP,            /* 4 */
  28.     INSN_LDSPECSV,            /* 5 */
  29.     INSN_NEWSV,            /* 6 */
  30.     INSN_NEWOP,            /* 7 */
  31.     INSN_NEWOPN,            /* 8 */
  32.     INSN_NEWPV,            /* 9 */
  33.     INSN_NOP,            /* 10 */
  34.     INSN_PV_CUR,            /* 11 */
  35.     INSN_PV_FREE,            /* 12 */
  36.     INSN_SV_UPGRADE,            /* 13 */
  37.     INSN_SV_REFCNT,            /* 14 */
  38.     INSN_SV_REFCNT_ADD,            /* 15 */
  39.     INSN_SV_FLAGS,            /* 16 */
  40.     INSN_XRV,            /* 17 */
  41.     INSN_XPV,            /* 18 */
  42.     INSN_XIV32,            /* 19 */
  43.     INSN_XIV64,            /* 20 */
  44.     INSN_XNV,            /* 21 */
  45.     INSN_XLV_TARGOFF,            /* 22 */
  46.     INSN_XLV_TARGLEN,            /* 23 */
  47.     INSN_XLV_TARG,            /* 24 */
  48.     INSN_XLV_TYPE,            /* 25 */
  49.     INSN_XBM_USEFUL,            /* 26 */
  50.     INSN_XBM_PREVIOUS,            /* 27 */
  51.     INSN_XBM_RARE,            /* 28 */
  52.     INSN_XFM_LINES,            /* 29 */
  53.     INSN_XIO_LINES,            /* 30 */
  54.     INSN_XIO_PAGE,            /* 31 */
  55.     INSN_XIO_PAGE_LEN,            /* 32 */
  56.     INSN_XIO_LINES_LEFT,            /* 33 */
  57.     INSN_XIO_TOP_NAME,            /* 34 */
  58.     INSN_COMMENT,            /* 35 */
  59.     INSN_XIO_TOP_GV,            /* 36 */
  60.     INSN_XIO_FMT_NAME,            /* 37 */
  61.     INSN_XIO_FMT_GV,            /* 38 */
  62.     INSN_XIO_BOTTOM_NAME,            /* 39 */
  63.     INSN_XIO_BOTTOM_GV,            /* 40 */
  64.     INSN_XIO_SUBPROCESS,            /* 41 */
  65.     INSN_XIO_TYPE,            /* 42 */
  66.     INSN_XIO_FLAGS,            /* 43 */
  67.     INSN_XCV_STASH,            /* 44 */
  68.     INSN_XCV_START,            /* 45 */
  69.     INSN_XCV_ROOT,            /* 46 */
  70.     INSN_XCV_GV,            /* 47 */
  71.     INSN_XCV_FILEGV,            /* 48 */
  72.     INSN_XCV_DEPTH,            /* 49 */
  73.     INSN_XCV_PADLIST,            /* 50 */
  74.     INSN_XCV_OUTSIDE,            /* 51 */
  75.     INSN_XCV_FLAGS,            /* 52 */
  76.     INSN_AV_EXTEND,            /* 53 */
  77.     INSN_AV_PUSH,            /* 54 */
  78.     INSN_XAV_FILL,            /* 55 */
  79.     INSN_XAV_MAX,            /* 56 */
  80.     INSN_XAV_FLAGS,            /* 57 */
  81.     INSN_XHV_RITER,            /* 58 */
  82.     INSN_XHV_NAME,            /* 59 */
  83.     INSN_HV_STORE,            /* 60 */
  84.     INSN_SV_MAGIC,            /* 61 */
  85.     INSN_MG_OBJ,            /* 62 */
  86.     INSN_MG_PRIVATE,            /* 63 */
  87.     INSN_MG_FLAGS,            /* 64 */
  88.     INSN_MG_PV,            /* 65 */
  89.     INSN_XMG_STASH,            /* 66 */
  90.     INSN_GV_FETCHPV,            /* 67 */
  91.     INSN_GV_STASHPV,            /* 68 */
  92.     INSN_GP_SV,            /* 69 */
  93.     INSN_GP_REFCNT,            /* 70 */
  94.     INSN_GP_REFCNT_ADD,            /* 71 */
  95.     INSN_GP_AV,            /* 72 */
  96.     INSN_GP_HV,            /* 73 */
  97.     INSN_GP_CV,            /* 74 */
  98.     INSN_GP_FILEGV,            /* 75 */
  99.     INSN_GP_IO,            /* 76 */
  100.     INSN_GP_FORM,            /* 77 */
  101.     INSN_GP_CVGEN,            /* 78 */
  102.     INSN_GP_LINE,            /* 79 */
  103.     INSN_GP_SHARE,            /* 80 */
  104.     INSN_XGV_FLAGS,            /* 81 */
  105.     INSN_OP_NEXT,            /* 82 */
  106.     INSN_OP_SIBLING,            /* 83 */
  107.     INSN_OP_PPADDR,            /* 84 */
  108.     INSN_OP_TARG,            /* 85 */
  109.     INSN_OP_TYPE,            /* 86 */
  110.     INSN_OP_SEQ,            /* 87 */
  111.     INSN_OP_FLAGS,            /* 88 */
  112.     INSN_OP_PRIVATE,            /* 89 */
  113.     INSN_OP_FIRST,            /* 90 */
  114.     INSN_OP_LAST,            /* 91 */
  115.     INSN_OP_OTHER,            /* 92 */
  116.     INSN_OP_TRUE,            /* 93 */
  117.     INSN_OP_FALSE,            /* 94 */
  118.     INSN_OP_CHILDREN,            /* 95 */
  119.     INSN_OP_PMREPLROOT,            /* 96 */
  120.     INSN_OP_PMREPLROOTGV,            /* 97 */
  121.     INSN_OP_PMREPLSTART,            /* 98 */
  122.     INSN_OP_PMNEXT,            /* 99 */
  123.     INSN_PREGCOMP,            /* 100 */
  124.     INSN_OP_PMFLAGS,            /* 101 */
  125.     INSN_OP_PMPERMFLAGS,            /* 102 */
  126.     INSN_OP_SV,            /* 103 */
  127.     INSN_OP_GV,            /* 104 */
  128.     INSN_OP_PV,            /* 105 */
  129.     INSN_OP_PV_TR,            /* 106 */
  130.     INSN_OP_REDOOP,            /* 107 */
  131.     INSN_OP_NEXTOP,            /* 108 */
  132.     INSN_OP_LASTOP,            /* 109 */
  133.     INSN_COP_LABEL,            /* 110 */
  134.     INSN_COP_STASH,            /* 111 */
  135.     INSN_COP_FILEGV,            /* 112 */
  136.     INSN_COP_SEQ,            /* 113 */
  137.     INSN_COP_ARYBASE,            /* 114 */
  138.     INSN_COP_LINE,            /* 115 */
  139.     INSN_MAIN_START,            /* 116 */
  140.     INSN_MAIN_ROOT,            /* 117 */
  141.     INSN_CURPAD,            /* 118 */
  142.     MAX_INSN = 118
  143. };
  144.  
  145. enum {
  146.     OPt_OP,        /* 0 */
  147.     OPt_UNOP,        /* 1 */
  148.     OPt_BINOP,        /* 2 */
  149.     OPt_LOGOP,        /* 3 */
  150.     OPt_CONDOP,        /* 4 */
  151.     OPt_LISTOP,        /* 5 */
  152.     OPt_PMOP,        /* 6 */
  153.     OPt_SVOP,        /* 7 */
  154.     OPt_GVOP,        /* 8 */
  155.     OPt_PVOP,        /* 9 */
  156.     OPt_LOOP,        /* 10 */
  157.     OPt_COP        /* 11 */
  158. };
  159.  
  160. EXT int optype_size[]
  161. #ifdef DOINIT
  162. = {
  163.     sizeof(OP),
  164.     sizeof(UNOP),
  165.     sizeof(BINOP),
  166.     sizeof(LOGOP),
  167.     sizeof(CONDOP),
  168.     sizeof(LISTOP),
  169.     sizeof(PMOP),
  170.     sizeof(SVOP),
  171.     sizeof(GVOP),
  172.     sizeof(PVOP),
  173.     sizeof(LOOP),
  174.     sizeof(COP)
  175. }
  176. #endif /* DOINIT */
  177. ;
  178.  
  179. #define INIT_SPECIALSV_LIST STMT_START { \
  180.     PL_specialsv_list[0] = Nullsv; \
  181.     PL_specialsv_list[1] = &PL_sv_undef; \
  182.     PL_specialsv_list[2] = &PL_sv_yes; \
  183.     PL_specialsv_list[3] = &PL_sv_no; \
  184.     } STMT_END
  185.