Annotation of gcc/cp-lex.h, revision 1.1.1.2

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 ();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.