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