# 2.11BSD#431 - /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.h

##### Macros

    BINARY            X
    BOOL              X
    INTOP             X
    LEAF              X
    O_ADD             X
    O_ADDF            X
    O_ALIAS           X
    O_AND             X
    O_ASSIGN          X
    O_CALL            X
    O_CHFILE          X
    O_COMMA           X
    O_CONT            X
    O_DELETE          X
    O_DIV             X
    O_DIVF            X
    O_DUMP            X
    O_EDIT            X
    O_EQ              X
    O_EQF             X
    O_FCON            X
    O_GE              X
    O_GEF             X
    O_GRIPE           X
    O_GT              X
    O_GTF             X
    O_HELP            X
    O_INDEX           X
    O_INDIR           X
    O_ITOF            X
    O_LASTOP          X
    O_LCON            X
    O_LE              X
    O_LEF             X
    O_LIST            X
    O_LT              X
    O_LTF             X
    O_MOD             X
    O_MUL             X
    O_MULF            X
    O_NAME            X
    O_NE              X
    O_NEF             X
    O_NEG             X
    O_NEGF            X
    O_NEXT            X
    O_NOP             X
    O_OR              X
    O_PRINT           X
    O_QLINE           X
    O_QNAME           X
    O_REMAKE          X
    O_RUN             X
    O_RVAL            X
    O_SCON            X
    O_SOURCE          X
    O_STATUS          X
    O_STEP            X
    O_STOP            X
    O_STOPI           X
    O_SUB             X
    O_SUBF            X
    O_TRACE           X
    O_TRACEI          X
    O_WHATIS          X
    O_WHERE           X
    O_WHICH           X
    O_XD              X
    O_XI              X
    REALOP            X
    UNARY             X
    degree            X
    isbinary          X
    isbitset          X
    isboolean         X
    isint             X
    isleaf            X
    isreal            X
    isunary           X

##### struct's

    opinfo            X

       1: /*
       2:  * Copyright (c) 1980 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  *
       6:  *	@(#)opinfo.h	5.1 (Berkeley) 6/6/85
       7:  */
       8:
       9: /*
      10:  * Tree operator definitions.
      11:  */
      12:
      13: struct opinfo {
      14:     short opflags;
      15:     char *opstring;
      16: };
      17:
      18: OPINFO opinfo[];
      19:
      20: #define O_NOP   0   /* no op */
      21: #define O_NAME  1   /* leaf op for address of a variable */
      22: #define O_QNAME 2   /* variable qualified by surrounding block */
      23: #define O_LCON  3   /* long constant (i.e. integer) */
      24: #define O_FCON  4   /* floating constant (i.e. real) */
      25: #define O_SCON  5   /* string constant (type alfa) */
      26: #define O_INDEX 6   /* array subscript (does just one index) */
      27: #define O_INDIR 7   /* indirection through a pointer */
      28: #define O_RVAL  8   /* get value of an operand address */
      29: #define O_COMMA 9   /* as in parameter lists */
      30:
      31: /*
      32:  * arithmetic operators
      33:  */
      34:
      35: #define O_ITOF  10  /* convert integer to real */
      36: #define O_ADD   11
      37: #define O_ADDF  12
      38: #define O_SUB   13
      39: #define O_SUBF  14
      40: #define O_NEG   15
      41: #define O_NEGF  16
      42: #define O_MUL   17
      43: #define O_MULF  18
      44: #define O_DIVF  19  /* real divided by real */
      45: #define O_DIV   20  /* integer divided by integer, integer result */
      46: #define O_MOD   21
      47:
      48: /*
      49:  * logical operators
      50:  */
      51:
      52: #define O_AND   22
      53: #define O_OR    23
      54:
      55: /*
      56:  * relational operators
      57:  */
      58:
      59: #define O_LT    24
      60: #define O_LTF   25
      61: #define O_LE    26
      62: #define O_LEF   27
      63: #define O_GT    28
      64: #define O_GTF   29
      65: #define O_GE    30
      66: #define O_GEF   31
      67: #define O_EQ    32
      68: #define O_EQF   33
      69: #define O_NE    34
      70: #define O_NEF   35
      71:
      72: /*
      73:  * debugger commands
      74:  */
      75:
      76: #define O_ASSIGN 36
      77: #define O_CHFILE 37
      78: #define O_CONT  38
      79: #define O_LIST  39
      80: #define O_NEXT  40
      81: #define O_PRINT 41
      82: #define O_STEP  42
      83: #define O_WHATIS 43
      84: #define O_WHERE 44
      85: #define O_XI    45
      86: #define O_XD    46
      87: #define O_CALL  47
      88: #define O_EDIT  48
      89: #define O_DUMP  49
      90: #define O_HELP  50
      91: #define O_REMAKE 51
      92: #define O_RUN   52
      93: #define O_SOURCE 53
      94: #define O_STATUS 54
      95: #define O_TRACE 55
      96: #define O_TRACEI 56
      97: #define O_STOP  57
      98: #define O_STOPI 58
      99: #define O_DELETE 59
     100: #define O_WHICH 60
     101: #define O_QLINE 61      /* filename : linenumber */
     102: #define O_ALIAS 62
     103: #define O_GRIPE 63
     104:
     105: #define O_LASTOP 63     /* must be number of last operator */
     106:
     107: /*
     108:  * operator flags and predicates
     109:  */
     110:
     111: #define LEAF 01
     112: #define UNARY 02
     113: #define BINARY 04
     114: #define BOOL 010
     115: #define REALOP 020
     116: #define INTOP 040
     117:
     118: #define isbitset(a, m)  ((a&m) == m)
     119: #define isleaf(o)   isbitset(opinfo[o].opflags, LEAF)
     120: #define isunary(o)  isbitset(opinfo[o].opflags, UNARY)
     121: #define isbinary(o) isbitset(opinfo[o].opflags, BINARY)
     122: #define isreal(o)   isbitset(opinfo[o].opflags, REALOP)
     123: #define isint(o)    isbitset(opinfo[o].opflags, INTOP)
     124: #define isboolean(o)    isbitset(opinfo[o].opflags, BOOL)
     125:
     126: #define degree(o)   (opinfo[o].opflags&(LEAF|UNARY|BINARY))

#### Defined struct's

opinfo defined in line 13; never used

#### Defined macros

BINARY defined in line 113; used 27 times

- in line 121-126(2)
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 28-55(25)

BOOL defined in line 114; used 1 times

- in line 124

INTOP defined in line 116; used 16 times

- in line 123
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 29-53(15)

LEAF defined in line 111; used 9 times

- in line 119, 126
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 20-24(5), 80-81(2)

O_ADD defined in line 36; never used
O_ADDF defined in line 37; never used
O_ALIAS defined in line 102; never used
O_AND defined in line 52; never used
O_ASSIGN defined in line 76; never used
O_CALL defined in line 87; never used
O_CHFILE defined in line 77; never used
O_COMMA defined in line 29; never used
O_CONT defined in line 78; never used
O_DELETE defined in line 99; never used
O_DIV defined in line 45; never used
O_DIVF defined in line 44; never used
O_DUMP defined in line 89; never used
O_EDIT defined in line 88; never used
O_EQ defined in line 67; never used
O_EQF defined in line 68; never used
O_FCON defined in line 24; never used
O_GE defined in line 65; never used
O_GEF defined in line 66; never used
O_GRIPE defined in line 103; never used
O_GT defined in line 63; never used
O_GTF defined in line 64; never used
O_HELP defined in line 90; never used
O_INDEX defined in line 26; never used
O_INDIR defined in line 27; never used
O_ITOF defined in line 35; never used
O_LASTOP defined in line 105; never used
O_LCON defined in line 23; never used
O_LE defined in line 61; never used
O_LEF defined in line 62; never used
O_LIST defined in line 79; never used
O_LT defined in line 59; never used
O_LTF defined in line 60; never used
O_MOD defined in line 46; never used
O_MUL defined in line 42; never used
O_MULF defined in line 43; never used
O_NAME defined in line 21; never used
O_NE defined in line 69; never used
O_NEF defined in line 70; never used
O_NEG defined in line 40; never used
O_NEGF defined in line 41; never used
O_NEXT defined in line 80; never used
O_NOP defined in line 20; never used
O_OR defined in line 53; never used
O_PRINT defined in line 81; never used
O_QLINE defined in line 101; never used
O_QNAME defined in line 22; never used
O_REMAKE defined in line 91; never used
O_RUN defined in line 92; never used
O_RVAL defined in line 28; never used
O_SCON defined in line 25; never used
O_SOURCE defined in line 93; never used
O_STATUS defined in line 94; never used
O_STEP defined in line 82; never used
O_STOP defined in line 97; never used
O_STOPI defined in line 98; never used
O_SUB defined in line 38; never used
O_SUBF defined in line 39; never used
O_TRACE defined in line 95; never used
O_TRACEI defined in line 96; never used
O_WHATIS defined in line 83; never used
O_WHERE defined in line 84; never used
O_WHICH defined in line 100; never used
O_XD defined in line 86; never used
O_XI defined in line 85; never used
REALOP defined in line 115; used 12 times

- in line 122
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 31-38(5), 44-54(6)

UNARY defined in line 112; used 8 times

- in line 120, 126
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 25-35(6)

degree defined in line 126; never used
isbinary defined in line 121; never used
isbitset defined in line 118; used 6 times

- in line 119-124(6)

isboolean defined in line 124; never used
isint defined in line 123; never used
isleaf defined in line 119; never used
isreal defined in line 122; never used
isunary defined in line 120; never used

#### Usage of this include

opinfo.h used 2 times

- in /usr/src/ucb/PORT/pascal/pdx/tree.h line 14
- in /usr/src/ucb/PORT/pascal/pdx/tree/opinfo.c line 16

Last modified: 1985-06-07 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 303 |