|
|
researchv10 Norman
/*
* Note that any mods made to this enum must be matched by mods made
* to the token dope table 'tkdopes' defined in 'readonly.c'.
*/
typedef enum
{
tk_and, /* & */
tk_andand, /* && */
tk_auto, /* auto */
tk_bar, /* | */
tk_barbar, /* || */
tk_break, /* break */
tk_case, /* case */
tk_cchar, /* constant char */
tk_cdouble, /* constant double */
tk_cfloat, /* constant float */
tk_char, /* char */
tk_cint, /* constant int */
tk_clong, /* constant long */
tk_colon, /* : */
tk_comma, /* , */
tk_continue, /* continue */
tk_default, /* default */
tk_do, /* do */
tk_dot, /* . */
tk_double, /* double */
tk_else, /* else */
tk_enum, /* enum */
tk_eof, /* eof */
tk_eq, /* = */
tk_eqeq, /* == */
tk_extern, /* extern */
tk_float, /* float */
tk_for, /* for */
tk_goto, /* goto */
tk_grt, /* > */
tk_grteq, /* >= */
tk_grtgrt, /* >> */
tk_if, /* if */
tk_int, /* int */
tk_less, /* < */
tk_lesseq, /* <= */
tk_lessless, /* << */
tk_lsminus, /* <- */
tk_long, /* long */
tk_maxof, /* maxof */
tk_minof, /* minof */
tk_minus, /* - */
tk_minusgrt, /* -> */
tk_minusminus, /* -- */
tk_name, /* name */
tk_not, /* ! */
tk_noteq, /* != */
tk_null, /* null */
tk_offcurly, /* } */
tk_offround, /* ) */
tk_offsquare, /* ] */
tk_oncurly, /* { */
tk_onround, /* ( */
tk_onsquare, /* [ */
tk_percent, /* % */
tk_plus, /* + */
tk_plusplus, /* ++ */
tk_question, /* ? */
tk_register, /* register */
tk_return, /* return */
tk_semicolon, /* ; */
tk_set, /* set */
tk_short, /* short */
tk_sizeof, /* sizeof */
tk_slash, /* / */
tk_static, /* static */
tk_string, /* ".." */
tk_struct, /* struct */
tk_switch, /* switch */
tk_tilda, /* ~ */
tk_times, /* * */
tk_typedef, /* typedef */
tk_union, /* union */
tk_unsigned, /* unsigned */
tk_uparrow, /* ^ */
tk_void, /* void */
tk_while, /* while */
}
tokens;
typedef set tokens tkset;
struct token
{
tokens t_what;
int t_lineno;
st_node *t_filename;
data t_value;
token *t_next;
};
extern token *tok_list;
#if !defined(TOKEN_CALLS) && !defined(TOKEN_INTRIN)
#define get_token() (tok_list = (ttmp = tok_list == NULL ? tok_fill() : tok_list)->t_next, ttmp)
#define unget_token(p) (ttmp = tok_list, (tok_list = (p))->t_next = ttmp)
#else
extern token *get_token();
extern void unget_token();
#endif
#define sync(t) (global_filename = (t)->t_filename, global_lineno = (t)->t_lineno)
#define TOK_STASH 64
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.