]> git.saurik.com Git - bison.git/blobdiff - src/lex.h
Remove spurious empty lines.
[bison.git] / src / lex.h
index fc03adc7636ee2e9889f5934a7ea2bac8eb07170..54d5022cc140f1fbb928d93445859592d7a4db7d 100644 (file)
--- a/src/lex.h
+++ b/src/lex.h
@@ -1,47 +1,79 @@
 /* Token type definitions for bison's input reader,
-   Copyright (C) 1984, 1989 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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-
-#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        ILLEGAL        24
-
-#define        MAXTOKEN        1024
+   Copyright (C) 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. */
+# 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
+
+# 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 *));
+
+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.  */
+
+int lex PARAMS ((void));
+
+int parse_percent_token PARAMS ((void));
+
+extern bucket *symval;
+extern int numval;
+
+#endif /* !LEX_H_ */