1 /*
2  *	$Source: /home/nlfm/Working/CVS/frink/blocks.h,v $
3  *	$Date: 2001/07/10 15:46:29 $
4  *	$Revision: 2.2 $
5  *
6  *------------------------------------------------------------------------
7  *   AUTHOR:  Lindsay Marshall <lindsay.marshall@newcastle.ac.uk>
8  *------------------------------------------------------------------------
9  *    Copyright 1994-2002 The University of Newcastle upon Tyne (see COPYRIGHT)
10  *========================================================================
11  *
12  */
13 
14 #ifndef FRINK_BLOCKS_H
15 #define FRINK_BLOCKS_H
16 
17 typedef struct block_s
18 {
19     Token	*name;
20     int		level;
21     int		unreachable;
22 
23     int		result;
24     int		infloop;
25     int		returns;
26     int		breaks;
27     int		conditional;
28     int		continues;
29     List	*args;
30     List	*vars;
31 } Blox;
32 
33 extern Blox *pushBlock(Token *, int, int, int);
34 extern void delBlock(Blox *);
35 extern void popBlock(int);
36 extern int isUnreachable(void);
37 extern void setUnreachable(int);
38 
39 #endif
40