forked from farisawan-2000/cfront-3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtqueue.h
58 lines (48 loc) · 1.73 KB
/
tqueue.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*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 <stdio.h>
#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();