Annotation of 42BSD/ingres/source/equel/tokens.y, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.