X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f282676b7e6c9ae1b66233dbfc522bb685c3ece2..abe017f60d93dfc22f28e79006f58df97a0761e1:/src/lex.h diff --git a/src/lex.h b/src/lex.h index 54d5022c..9f3cfe3a 100644 --- a/src/lex.h +++ b/src/lex.h @@ -1,5 +1,5 @@ /* Token type definitions for bison's input reader, - Copyright (C) 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,58 +22,60 @@ # 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 SEMANTIC_PARSER 19 -# define PURE_PARSER 20 -# 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_intopt, + tok_stropt, + tok_illegal, + tok_obsolete + } token_t; -# define MAXTOKEN 1024 - - -/* Allocated size of token_buffer, not including space for terminator. */ -extern int maxtoken; -extern char *token_buffer; -char *grow_token_buffer PARAMS ((char *)); +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)); +int xgetc PARAMS ((FILE *fin)); /* Return one of the token-type codes. When an identifier is seen, the code IDENTIFIER is returned and the name is looked up in the symbol table using symtab.c; symval is set to a pointer to the entry found. */ -int lex PARAMS ((void)); +token_t lex PARAMS ((void)); +char literalchar PARAMS ((void)); -int parse_percent_token PARAMS ((void)); - -extern bucket *symval; -extern int numval; +token_t parse_percent_token PARAMS ((void)); #endif /* !LEX_H_ */