Annotation of researchv10no/cmd/hdr/tokens.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     Note that any mods made to this enum must be matched by mods made
                      3:  *     to the token dope table 'tkdopes' defined in 'readonly.c'.
                      4:  */
                      5: typedef enum
                      6: {
                      7:        tk_and,         /* & */
                      8:        tk_andand,      /* && */
                      9:        tk_auto,        /* auto */
                     10:        tk_bar,         /* | */
                     11:        tk_barbar,      /* || */
                     12:        tk_break,       /* break */
                     13:        tk_case,        /* case */
                     14:        tk_cchar,       /* constant char */
                     15:        tk_cdouble,     /* constant double */
                     16:        tk_cfloat,      /* constant float */
                     17:        tk_char,        /* char */
                     18:        tk_cint,        /* constant int */
                     19:        tk_clong,       /* constant long */
                     20:        tk_colon,       /* : */
                     21:        tk_comma,       /* , */
                     22:        tk_continue,    /* continue */
                     23:        tk_default,     /* default */
                     24:        tk_do,          /* do */
                     25:        tk_dot,         /* . */
                     26:        tk_double,      /* double */
                     27:        tk_else,        /* else */
                     28:        tk_enum,        /* enum */
                     29:        tk_eof,         /* eof */
                     30:        tk_eq,          /* = */
                     31:        tk_eqeq,        /* == */
                     32:        tk_extern,      /* extern */
                     33:        tk_float,       /* float */
                     34:        tk_for,         /* for */
                     35:        tk_goto,        /* goto */
                     36:        tk_grt,         /* > */
                     37:        tk_grteq,       /* >= */
                     38:        tk_grtgrt,      /* >> */
                     39:        tk_if,          /* if */
                     40:        tk_int,         /* int */
                     41:        tk_less,        /* < */
                     42:        tk_lesseq,      /* <= */
                     43:        tk_lessless,    /* << */
                     44:        tk_lsminus,     /* <- */
                     45:        tk_long,        /* long */
                     46:        tk_maxof,       /* maxof */
                     47:        tk_minof,       /* minof */
                     48:        tk_minus,       /* - */
                     49:        tk_minusgrt,    /* -> */
                     50:        tk_minusminus,  /* -- */
                     51:        tk_name,        /* name */
                     52:        tk_not,         /* ! */
                     53:        tk_noteq,       /* != */
                     54:        tk_null,        /* null */
                     55:        tk_offcurly,    /* } */
                     56:        tk_offround,    /* ) */
                     57:        tk_offsquare,   /* ] */
                     58:        tk_oncurly,     /* { */
                     59:        tk_onround,     /* ( */
                     60:        tk_onsquare,    /* [ */
                     61:        tk_percent,     /* % */
                     62:        tk_plus,        /* + */
                     63:        tk_plusplus,    /* ++ */
                     64:        tk_question,    /* ? */
                     65:        tk_register,    /* register */
                     66:        tk_return,      /* return */
                     67:        tk_semicolon,   /* ; */
                     68:        tk_set,         /* set */
                     69:        tk_short,       /* short */
                     70:        tk_sizeof,      /* sizeof */
                     71:        tk_slash,       /* / */
                     72:        tk_static,      /* static */
                     73:        tk_string,      /* ".." */
                     74:        tk_struct,      /* struct */
                     75:        tk_switch,      /* switch */
                     76:        tk_tilda,       /* ~ */
                     77:        tk_times,       /* * */
                     78:        tk_typedef,     /* typedef */
                     79:        tk_union,       /* union */
                     80:        tk_unsigned,    /* unsigned */
                     81:        tk_uparrow,     /* ^ */
                     82:        tk_void,        /* void */
                     83:        tk_while,       /* while */
                     84: }
                     85:        tokens;
                     86: 
                     87: typedef        set tokens      tkset;
                     88: 
                     89: struct token
                     90: {
                     91:        tokens  t_what;
                     92:        int     t_lineno;
                     93:        st_node *t_filename;
                     94:        data    t_value;
                     95:        token   *t_next;
                     96: };
                     97: 
                     98: extern token   *tok_list;
                     99: 
                    100: #if    !defined(TOKEN_CALLS) && !defined(TOKEN_INTRIN)
                    101: #define        get_token()     (tok_list = (ttmp = tok_list == NULL ? tok_fill() : tok_list)->t_next, ttmp)
                    102: #define        unget_token(p)  (ttmp = tok_list, (tok_list = (p))->t_next = ttmp)
                    103: #else
                    104: extern token   *get_token();
                    105: extern void    unget_token();
                    106: #endif
                    107: 
                    108: #define        sync(t)         (global_filename = (t)->t_filename, global_lineno = (t)->t_lineno)
                    109: 
                    110: #define        TOK_STASH       64

unix.superglobalmegacorp.com

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