|
|
1.1.1.2 ! root 1: /* Define constants and variables for communication with cp-parse.y. ! 2: Copyright (C) 1987, 1992 Free Software Foundation, Inc. 1.1 root 3: Hacked by Michael Tiemann ([email protected]) 4: 5: This file is part of GNU CC. 6: 7: GNU CC is distributed in the hope that it will be useful, 8: but WITHOUT ANY WARRANTY. No author or distributor 9: accepts responsibility to anyone for the consequences of using it 10: or for whether it serves any particular purpose or works at all, 11: unless he says so in writing. Refer to the GNU CC General Public 12: License for full details. 13: 14: Everyone is granted permission to copy, modify and redistribute 15: GNU CC, but only under the conditions described in the 16: GNU CC General Public License. A copy of this license is 17: supposed to have been given to you along with GNU CC so you 18: can know your rights and responsibilities. It should be in a 19: file named COPYING. Among other things, the copyright notice 20: and this notice must be preserved on all copies. */ 21: 22: 23: 24: enum rid 25: { 26: RID_UNUSED, 27: RID_INT, 28: RID_CHAR, 29: RID_FLOAT, 30: RID_DOUBLE, 31: RID_VOID, 32: RID_UNUSED1, 33: 34: /* C++ extension */ 35: RID_CLASS, 36: RID_RECORD, 37: RID_UNION, 38: RID_ENUM, 39: RID_LONGLONG, 40: 41: RID_UNSIGNED, 42: RID_SHORT, 43: RID_LONG, 44: RID_AUTO, 45: RID_STATIC, 46: RID_EXTERN, 47: RID_REGISTER, 48: RID_TYPEDEF, 49: RID_SIGNED, 50: RID_CONST, 51: RID_VOLATILE, 52: RID_INLINE, 1.1.1.2 ! root 53: RID_WCHAR, 1.1 root 54: 55: /* extensions */ 56: RID_FRIEND, 57: RID_VIRTUAL, 58: RID_EXCEPTION, 59: RID_RAISES, 60: RID_PUBLIC, 61: RID_PRIVATE, 62: RID_PROTECTED, 63: 64: RID_MAX 65: }; 66: 1.1.1.2 ! root 67: #define NORID RID_UNUSED ! 68: 1.1 root 69: #define RID_FIRST_MODIFIER RID_UNSIGNED 1.1.1.2 ! root 70: ! 71: /* The elements of `ridpointers' are identifier nodes ! 72: for the reserved type names and storage classes. ! 73: It is indexed by a RID_... value. */ ! 74: extern tree ridpointers[(int) RID_MAX]; ! 75: ! 76: /* the declaration found for the last IDENTIFIER token read in. ! 77: yylex must look this up to detect typedefs, which get token type TYPENAME, ! 78: so it is left around in case the identifier is not a typedef but is ! 79: used in a context which makes it a reference to a variable. */ ! 80: extern tree lastiddecl; ! 81: ! 82: extern char *token_buffer; /* Pointer to token buffer. */ ! 83: ! 84: /* Back-door communication channel to the lexer. */ ! 85: extern int looking_for_typename; ! 86: ! 87: extern tree make_pointer_declarator (), make_reference_declarator (); ! 88: extern void reinit_parse_for_function (); ! 89: extern void reinit_parse_for_method (); ! 90: extern int yylex ();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.