1: #include "../h/rt.h"
   2: 
   3: /*
   4:  * Heap block size table (sizes given in bytes).  A size of -1 is used
   5:  *  for types that have no heap blocks; a size of 0 indicates that the
   6:  *  second word of the block contains the size; a value greater than
   7:  *  0 is used for types with constant sized blocks.
   8:  */
   9: 
  10: int bsizes[] = {
  11:     -1,             /* 0, not used */
  12:     -1,             /* 1, not used */
  13:      sizeof(struct b_int),  /* T_LONGINT (2), long integer type */
  14:      sizeof(struct b_real), /* T_REAL (3), real number */
  15:      sizeof(struct b_cset), /* T_CSET (4), cset */
  16:      sizeof(struct b_file), /* T_FILE (5), file block */
  17:      0,             /* T_PROC (6), procedure block */
  18:      sizeof(struct b_list), /* T_LIST (7), list header block */
  19:      sizeof(struct b_table),    /* T_TABLE (8), table header block */
  20:      0,             /* T_RECORD (9), record block */
  21:      sizeof(struct b_telem),    /* T_TELEM (10), table element block */
  22:      0,             /* T_LELEM (11), list element block */
  23:      sizeof(struct b_tvsubs),   /* T_TVSUBS (12), substring trapped variable */
  24:     -1,             /* 13, not used */
  25:      sizeof(struct b_tvtbl),    /* T_TVTBL (14), table element trapped variable */
  26:     -1,             /* T_TVPOS (15), &pos trapped variable */
  27:     -1,             /* T_TVRAND (16), &random trapped variable */
  28:     -1,             /* T_TVTACE (17), &trace trapped variable */
  29:     -1,             /* T_ESTACK (18), expression stack header */
  30:      0              /* T_EBLOCK (19), expression heap block */
  31: #ifdef SETS
  32:     ,
  33:      sizeof(struct b_set),  /* T_SET  (20), set header block */
  34:      sizeof(struct b_selem) /* T_SELEM  (21), set element block */
  35: #endif SETS
  36:     };
  37: 
  38: /*
  39:  * Table of offsets (in bytes) to first descriptor in blocks.  -1 is for
  40:  *  non-heap types, 0 for blocks with no descriptors.
  41:  */
  42: int firstd[] = {
  43:     -1,             /* 0, not used */
  44:     -1,             /* 1, not used */
  45:      0,             /* T_LONGINT (2), long integer type */
  46:      0,             /* T_REAL (3), real number */
  47:      0,             /* T_CSET (4), cset */
  48:      3*WORDSIZE,        /* T_FILE (5), file block */
  49:      7*WORDSIZE,        /* T_PROC (6), procedure block */
  50:      2*WORDSIZE,        /* T_LIST (7), list header block */
  51:      2*WORDSIZE,        /* T_TABLE (8), table header block */
  52:      3*WORDSIZE,        /* T_RECORD (9), record block */
  53:      2*WORDSIZE,        /* T_TELEM (10), table element block */
  54:      5*WORDSIZE,        /* T_LELEM (11), list element block */
  55:      3*WORDSIZE,        /* T_TVSUBS (12), substring trapped variable */
  56:     -1,             /* 13, not used */
  57:      2*WORDSIZE,        /* T_TVTBL (14), table element trapped variable */
  58:     -1,             /* T_TVPOS (15), &pos trapped variable */
  59:     -1,             /* T_TVRAND (16), &random trapped variable*/
  60:     -1,             /* T_TVTACE (17), &trace trapped variable */
  61:     -1,             /* T_ESTACK (18), expression stack header */
  62:      5*WORDSIZE         /* T_EBLOCK (19), expression heap block */
  63: #ifdef SETS
  64:    ,
  65:      2*WORDSIZE,        /* T_SET  (20), set header block */
  66:      2*WORDSIZE         /* T_SELEM  (21), set element block */
  67: #endif SETS
  68:     };
  69: 
  70: /*
  71:  * Table of block names used by debugging functions.
  72:  */
  73: char *blkname[] = {
  74:    "illegal name",      /* 0, not used */
  75:    "illegal name",      /* 1, not used */
  76:    "long integer",      /* T_LONGINT (2), long integer type */
  77:    "real number",       /* T_REAL (3), real number */
  78:    "cset",          /* T_CSET (4), cset */
  79:    "file",          /* T_FILE (5), file block */
  80:    "procedure",         /* T_PROC (6), procedure block */
  81:    "list header block",     /* T_LIST (7), list header block */
  82:    "table header block",    /* T_TABLE  (8), table header block */
  83:    "record",            /* T_RECORD (9), record block */
  84:    "table element block",   /* T_TELEM (10), table element block  */
  85:    "list element block",    /* T_LELEM (11), list element block */
  86:    "substring tv",      /* T_TVSUBS (12), substring trapped variable */
  87:    "illegal name",      /* 13, not used */
  88:    "table element tv",      /* T_TVTBL (14), table element trapped variable */
  89:    "illegal name",      /* T_TVPOS (15), &pos trapped variable */
  90:    "illegal name",      /* T_TVRAND (16), &random trapped variable */
  91:    "illegal name",      /* T_TVTACE (17), &trace trapped variable */
  92:    "expression stack",      /* T_ESTACK (18), expression stack header */
  93:    "refresh block"      /* T_EBLOCK (19), expression heap block */
  94: #ifdef SETS
  95:    ,
  96:    "set header block",      /* T_SET  (20), set header block */
  97:    "set member"         /* T_SELEM  (21), set element block */
  98: #endif SETS
  99:    };

Defined variables

blkname defined in line 73; never used
bsizes defined in line 10; never used
firstd defined in line 42; never used
Last modified: 1984-11-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 808
Valid CSS Valid XHTML 1.0 Strict