Annotation of 43BSD/contrib/icon/tran/lex.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Token table structure.
                      3:  */
                      4: 
                      5: struct toktab {
                      6:    char *t_word;               /* token */
                      7:    int  t_type;                        /* token type returned by yylex */
                      8:    int  t_flags;               /* flags for semicolon insertion */
                      9:    };
                     10: 
                     11: extern struct toktab toktab[]; /* token table */
                     12: extern struct toktab *restab[];        /* reserved word index */
                     13: 
                     14: #define T_IDENT                &toktab[0]
                     15: #define T_INT          &toktab[1]
                     16: #define T_REAL         &toktab[2]
                     17: #define T_STRING       &toktab[3]
                     18: #define T_CSET         &toktab[4]
                     19: #define T_EOF          &toktab[5]
                     20: 
                     21: /*
                     22:  * t_flags values for token table.
                     23:  */
                     24: 
                     25: #define BEGINNER 1             /* token can follow a semicolon */
                     26: #define ENDER    2             /* token can precede a semicolon */
                     27: 
                     28: /*
                     29:  * Operator table - a finite-state automaton for recognizing Icon operators.
                     30:  */
                     31: 
                     32: struct optab {
                     33:    char o_input;
                     34:    char o_action;
                     35:    int o_val;
                     36:    };
                     37: 
                     38: extern struct optab state0[];
                     39: extern struct optab state1[];
                     40: extern struct optab state2[];
                     41: extern struct optab state3[];
                     42: extern struct optab state4[];
                     43: extern struct optab state5[];
                     44: extern struct optab state6[];
                     45: extern struct optab state7[];
                     46: extern struct optab state8[];
                     47: extern struct optab state9[];
                     48: extern struct optab state10[];
                     49: extern struct optab state11[];
                     50: extern struct optab state12[];
                     51: extern struct optab state13[];
                     52: extern struct optab state14[];
                     53: extern struct optab state15[];
                     54: extern struct optab state16[];
                     55: extern struct optab state17[];
                     56: extern struct optab state18[];
                     57: extern struct optab state19[];
                     58: extern struct optab state20[];
                     59: extern struct optab state21[];
                     60: extern struct optab state22[];
                     61: extern struct optab state23[];
                     62: extern struct optab state24[];
                     63: extern struct optab state25[];
                     64: extern struct optab state26[];
                     65: extern struct optab state27[];
                     66: extern struct optab state28[];
                     67: extern struct optab state29[];
                     68: extern struct optab state30[];
                     69: extern struct optab state31[];
                     70: extern struct optab state32[];
                     71: extern struct optab state33[];
                     72: extern struct optab state34[];
                     73: extern struct optab state35[];
                     74: extern struct optab state36[];
                     75: extern struct optab state37[];
                     76: extern struct optab state38[];
                     77: extern struct optab state39[];
                     78: extern struct optab state40[];
                     79: extern struct optab state41[];
                     80: extern struct optab state42[];
                     81: extern struct optab state43[];
                     82: extern struct optab state44[];
                     83: extern struct optab state45[];
                     84: extern struct optab state46[];
                     85: extern struct optab state47[];
                     86: extern struct optab state48[];
                     87: extern struct optab state49[];
                     88: extern struct optab state50[];
                     89: extern struct optab state51[];
                     90: extern struct optab state52[];
                     91: extern struct optab state53[];
                     92: extern struct optab state54[];
                     93: extern struct optab state55[];
                     94: extern struct optab state56[];
                     95: extern struct optab state57[];
                     96: extern struct optab state58[];
                     97: extern struct optab state59[];
                     98: extern struct optab state60[];
                     99: extern struct optab state61[];
                    100: 
                    101: /*
                    102:  * o_action values.
                    103:  */
                    104: 
                    105: #define A_GOTO   1     /* shift input and goto new state o_val */
                    106: #define A_ERROR  2     /* illegal operator */
                    107: #define A_RETURN 3     /* return o_val, save input char */
                    108: #define A_IMMRET 4     /* return o_val, discard input char */
                    109: 
                    110: /*
                    111:  * Miscellaneous.
                    112:  */
                    113: 
                    114: #define isoctal(c) ((c)>='0'&&(c)<='7')        /* macro to test for octal digit */
                    115: #define NEXTCHAR   nextchar()          /* macro to get next character */
                    116: #define PUSHCHAR(c) peekc=(c)          /* macro to push back a character */
                    117: 
                    118: #define COMMENT '#'                    /* comment beginner */
                    119: #define ESCAPE  '\\'                   /* string literal escape character */

unix.superglobalmegacorp.com

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