Files
bison/src/lex.h
Akim Demaille 511e79b3d4 * src/lex.h: Rename all the tokens:
s/bENDFILEb/tok_eof/g;
s/bIDENTIFIERb/tok_identifier/g;
etc.
Let them be enums, not #define, to ease debugging.
Adjust all the code.
2001-01-19 18:10:32 +00:00

74 lines
1.9 KiB
C

/* Token type definitions for bison's input reader,
Copyright 1984, 1989, 1992, 2000 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
Bison is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
Bison is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef LEX_H_
# define LEX_H_
/* Token-type codes. */
typedef enum token_e
{
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_noop,
tok_setopt,
tok_illegal
} token_t;
extern char *token_buffer;
extern bucket *symval;
extern int numval;
void init_lex PARAMS ((void));
int skip_white_space PARAMS ((void));
void unlex PARAMS ((int));
void read_type_name 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. */
token_t lex PARAMS ((void));
int parse_percent_token PARAMS ((void));
#endif /* !LEX_H_ */