00001 #ifndef __FUNC_ITER_H__ 00002 #define __FUNC_ITER_H__ 00003 00004 /* 00005 Copyright (c) 2006-2009 Trevor Williams 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by the Free Software 00009 Foundation; either version 2 of the License, or (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 00012 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00013 See the GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License along with this program; 00016 if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 */ 00018 00026 #include "defines.h" 00027 00028 00032 typedef struct func_iter_s { 00033 unsigned int scopes; 00034 stmt_iter** sis; 00035 unsigned int si_num; 00036 sig_link** sigs; 00037 unsigned int sig_num; 00038 sig_link* curr_sigl; 00039 } func_iter; 00040 00041 00043 void func_iter_init( func_iter* fi, func_unit* funit, bool stmts, bool sigs ); 00044 00046 statement* func_iter_get_next_statement( func_iter* fi ); 00047 00049 vsignal* func_iter_get_next_signal( func_iter* fi ); 00050 00052 void func_iter_dealloc( func_iter* si ); 00053 00054 #endif 00055
1.3.4