X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/0d6508efab13d47fb08e9b49a90579abfb3a6d20..490abf53b1391c2bc49564bff71ac400880323ad:/src/lex.h diff --git a/src/lex.h b/src/lex.h index d14479aa..cb5a75e8 100644 --- a/src/lex.h +++ b/src/lex.h @@ -1,5 +1,5 @@ /* Token type definitions for bison's input reader, - Copyright 1984, 1989, 1992, 2000 Free Software Foundation, Inc. + Copyright 1984, 1989, 1992, 2000, 2001 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -22,41 +22,48 @@ # define LEX_H_ /* Token-type codes. */ -# define ENDFILE 0 -# define IDENTIFIER 1 -# define COMMA 2 -# define COLON 3 -# define SEMICOLON 4 -# define BAR 5 -# define LEFT_CURLY 6 -# define TWO_PERCENTS 7 -# define PERCENT_LEFT_CURLY 8 -# define TOKEN 9 -# define NTERM 10 -# define GUARD 11 -# define TYPE 12 -# define UNION 13 -# define START 14 -# define LEFT 15 -# define RIGHT 16 -# define NONASSOC 17 -# define PREC 18 -# define TYPENAME 21 -# define NUMBER 22 -# define EXPECT 23 -# define THONG 24 -# define NOOP 25 -# define SETOPT 26 -# define ILLEGAL 27 +typedef enum token_e + { + tok_undef, /* Not defined. Used to initial token_t vars. */ + tok_eof, + tok_identifier, + tok_comma, + tok_colon, + tok_semicolon, + tok_bar, + tok_left_curly, + tok_two_percents, + tok_percent_left_curly, + tok_token, + tok_nterm, + tok_guard, + tok_type, + tok_union, + tok_start, + tok_left, + tok_right, + tok_nonassoc, + tok_prec, + tok_typename, + tok_number, + tok_expect, + tok_thong, + tok_define, + tok_skel, + tok_noop, + tok_setopt, + tok_illegal, + tok_obsolete + } token_t; - -extern char *token_buffer; +extern const char *token_buffer; extern bucket *symval; extern int numval; -void init_lex PARAMS ((void)); +void lex_init PARAMS ((void)); +void lex_free PARAMS ((void)); int skip_white_space PARAMS ((void)); -void unlex PARAMS ((int)); +void unlex PARAMS ((token_t)); void read_type_name PARAMS ((FILE *fin)); /* Return one of the token-type codes. When an identifier is seen, @@ -64,8 +71,8 @@ void read_type_name PARAMS ((FILE *fin)); symbol table using symtab.c; symval is set to a pointer to the entry found. */ -int lex PARAMS ((void)); +token_t lex PARAMS ((void)); -int parse_percent_token PARAMS ((void)); +token_t parse_percent_token PARAMS ((void)); #endif /* !LEX_H_ */