/*ident "@(#)cls4:src/tqueue.h 1.4" */ /******************************************************************************* C++ source for the C++ Language System, Release 3.0. This product is a new release of the original cfront developed in the computer science research center of AT&T Bell Laboratories. Copyright (c) 1993 UNIX System Laboratories, Inc. Copyright (c) 1991, 1992 AT&T and UNIX System Laboratories, Inc. Copyright (c) 1984, 1989, 1990 AT&T. All Rights Reserved. THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of AT&T and UNIX System Laboratories, Inc. The copyright notice above does not evidence any actual or intended publication of such source code. *******************************************************************************/ #ifndef EOF #include #endif struct toknode { TOK tok; /* token for parser */ bit used; /* token has been processed by lalex() */ YYSTYPE retval; /* $arg */ Pname idname; loc place; toknode* next; toknode* last; static toknode* free_toks; void* operator new(size_t); void operator delete(void*,size_t); toknode(TOK,YYSTYPE,loc); }; extern toknode* front; extern void addtok(TOK,YYSTYPE,loc); /* add tok to rear of Q */ extern TOK deltok(int); /* take tok from front of Q */ extern TOK tlex(); // interface to parser extern TOK lalex(); extern int yychar; extern YYSTYPE yylval; extern TOK la_look(); extern void la_backup( TOK, YYSTYPE ); extern int la_cast(); extern void check_decl(); extern void check_cast(); extern TOK lalex(); // save / restore implicit inline functions extern toknode* save_text(); extern void restore_text(); // set scope after qualified declarator extern Pname SET_SCOPE( Pname ); extern void UNSET_SCOPE();