1: /*
   2: **  TOKENS.Y -- operator and keyword tables
   3: **
   4: **	Defines:
   5: **		Optab -- operator table
   6: **		Kwrdtab -- keyword tables
   7: **		Kwrdnum -- number of keywords (for binary search in getkey())
   8: **		Tokens -- so lexical routines can know about yacc tokens
   9: **
  10: **	Requires:
  11: **		Kwrdtab must be in alphabetical order!!!
  12: **
  13: **	Version:
  14: **		@(#)tokens.y	8.2	3/2/85
  15: */
  16: 
  17: 
  18: struct optab    Kwrdtab [] =
  19: {
  20:     "abs",          FOP,            0,
  21:     "all",          ALL,            0,
  22:     "and",          LBOP,           0,
  23:     "any",          AOP,            0,
  24:     "append",       APPEND,         0,
  25:     "ascii",        FOP,            0,
  26:     "at",           AT,         0,
  27:     "atan",         FOP,            0,
  28:     "auto",         ALLOC,          opAUTO,
  29:     "avg",          AOP,            0,
  30:     "avgu",         AOP,            0,
  31:     "by",           BY,         0,
  32:     "char",         TYPE,           opSTRING,
  33:     "concat",       FBOP,           0,
  34:     "copy",         COPY,           0,
  35:     "cos",          FOP,            0,
  36:     "count",        AOP,            0,
  37:     "countu",       AOP,            0,
  38:     "create",       CREATE,         0,
  39:     "define",       DEFINE,         0,
  40:     "delete",       DELETE,         0,
  41:     "delim",        DELIM,          0,
  42:     "destroy",      DESTROY,        0,
  43:     "double",       TYPE,           opDOUBLE,
  44:     "exit",         EXIT,           0,
  45:     "extern",       ALLOC,          opEXTERN,
  46:     "float",        TYPE,           opFLOAT,
  47:     "float4",       FOP,            4,
  48:     "float8",       FOP,            8,
  49:     "from",         FROM,           0,
  50:     "gamma",        FOP,            0,
  51:     "help",         HELP,           0,
  52:     "in",           IN,         0,
  53:     "index",        INDEX,          0,
  54:     "ingres",       INGRES,         0,
  55:     "int",          TYPE,           opINT,
  56:     "int1",         FOP,            1,
  57:     "int2",         FOP,            2,
  58:     "int4",         FOP,            4,
  59:     "integrity",        INTEGRITY,      0,
  60:     "into",         INTO,           0,
  61:     "is",           IS,         0,
  62:     "log",          FOP,            0,
  63:     "long",         TYPE,           opLONG,
  64:     "max",          AOP,            0,
  65:     "min",          AOP,            0,
  66:     "mod",          FBOP,           0,
  67:     "modify",       MODIFY,         0,
  68:     "not",          LUOP,           0,
  69:     "of",           OF,         0,
  70:     "on",           ON,         0,
  71:     "onto",         ONTO,           0,
  72:     "or",           LBOP,           0,
  73:     "param",        PARAM,          0,
  74:     "permit",       PERMIT,         0,
  75:     "print",        PRINT,          0,
  76:     "rand",         FOP,            0,
  77:     "range",        RANGE,          0,
  78:     "register",     ALLOC,          opREGISTER,
  79:     "replace",      REPLACE,        0,
  80:     "retrieve",     RETRIEVE,       0,
  81:     "save",         SAVE,           0,
  82:     "short",        TYPE,           opSHORT,
  83:     "sin",          FOP,            0,
  84:     "sqrt",         FOP,            0,
  85:     "static",       ALLOC,          opSTATIC,
  86:     "struct",       STRUCT,         opSTRUCT,
  87:     "sum",          AOP,            0,
  88:     "sumu",         AOP,            0,
  89:     "to",           TO,         0,
  90:     "unique",       UNIQUE,         0,
  91:     "until",        UNTIL,          0,
  92:     "unuse",        UNUSE,          0,
  93:     "use",          USE,            0,
  94:     "view",         VIEW,           0,
  95:     "where",        WHERE,          0,
  96: };
  97: 
  98: /* This decalaration must be here as getkey references it,
  99: ** and it must contain the number of elements in the
 100: ** Kwrdtab, which is only known here
 101: */
 102: 
 103: int Kwrdnum     = sizeof Kwrdtab / sizeof Kwrdtab [0];
 104: 
 105: struct optab    Optab [] =
 106: {
 107:     /* PUNCTUATION */
 108:     ",",            COMMA,          0,
 109:     "(",            LPAREN,         0,
 110:     ".",            PERIOD,         0,
 111:     ")",            RPAREN,         0,
 112:     "\"",           QUOTE,          0,
 113:     "/*",           BGNCMNT,        0,
 114:     "*/",           ENDCMNT,        0,
 115:     "#",            NONREF,         0,
 116:     ":",            COLON,          0,
 117:     "$",            DOLLAR,         0,
 118:     "%",            PCT,            0,
 119: 
 120:     /* C LANUAGE PUNCTUATION */
 121:     "{",            LBRACE,         0,
 122:     "}",            RBRACE,         0,
 123:     "[",            LBRKT,          0,
 124:     "]",            RBRKT,          0,
 125:     ";",            SEMICOL,        0,
 126:     "->",           POINTER,        0,
 127: 
 128:     /* UNARY ARITHMETIC OPERATORS */
 129:     "+",            UOP,            0,
 130:     "-",            UOP,            0,
 131: 
 132:     /* BINARY ARITHMETIC OPERATORS */
 133:     "*",            BOP,            0,
 134:     "/",            BOP,            0,
 135:     "**",           BOP,            0,
 136:     "+",            UAOP,           0,
 137:     "-",            UAOP,           0,
 138: 
 139:     /* BOUNDS OPERATORS */
 140:     ">",            BDOP,           0,
 141:     ">=",           BDOP,           0,
 142:     "<",            BDOP,           0,
 143:     "<=",           BDOP,           0,
 144: 
 145:     /* EQUALITY OPERATORS */
 146:     "!=",           EOP,            0,
 147:     "=",            IS,         0,
 148:     0
 149: };
 150: 
 151: 
 152: struct special Tokens =
 153: {
 154:     NAME,
 155:     SCONST,
 156:     I2CONST,
 157:     I4CONST,
 158:     F8CONST,
 159:     QUOTE,
 160:     BGNCMNT,
 161:     ENDCMNT,
 162:     C_CODE,
 163:     STRUCT_VAR,
 164: };

Defined variables

_Kwrdnum defined in line 103; never used
_Kwrdtab defined in line 18; used 2 times
  • in line 103(2)
_Optab defined in line 105; never used
_Tokens defined in line 152; never used

Usage of this include

Last modified: 1986-04-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 856
Valid CSS Valid XHTML 1.0 Strict