statement.h

Go to the documentation of this file.
00001 #ifndef __STATEMENT_H__
00002 #define __STATEMENT_H__
00003 
00004 /*
00005  Copyright (c) 2006-2010 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 
00030 statement* statement_create(
00031   expression*  exp,
00032   func_unit*   funit,
00033   unsigned int ppline
00034 );
00035 
00037 void statement_size_elements( statement* stmt, func_unit* funit );
00038 
00040 void statement_db_write( statement* stmt, FILE* ofile, bool ids_issued );
00041 
00043 void statement_db_write_tree( statement* stmt, FILE* ofile );
00044 
00046 void statement_db_write_expr_tree( statement* stmt, FILE* ofile );
00047 
00049 void statement_db_read( char** line, /*@null@*/func_unit* curr_funit, int read_mode );
00050 
00052 void statement_assign_expr_ids( statement* stmt, func_unit* funit );
00053 
00055 bool statement_connect( statement* curr_stmt, statement* next_stmt, int conn_id );
00056 
00058 int statement_get_last_line( statement* stmt );
00059 
00061 void statement_find_rhs_sigs( statement* stmt, str_link** head, str_link** tail );
00062 
00064 statement* statement_find_statement( statement* curr, int id );
00065 
00067 bool statement_contains_expr_calling_stmt( statement* curr, statement* stmt );
00068 
00070 void statement_dealloc_recursive(
00071   statement* stmt,
00072   bool       rm_stmt_blks
00073 );
00074 
00076 void statement_dealloc( statement* stmt );
00077 
00078 #endif
00079 
Generated on Sun Nov 21 00:55:36 2010 for Covered by  doxygen 1.6.3