gen_item.h

Go to the documentation of this file.
00001 #ifndef __GEN_ITEM_H__
00002 #define __GEN_ITEM_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 
00027 #include <stdio.h>
00028 
00029 #include "defines.h"
00030 
00031 
00032 /*@-exportlocal@*/
00034 void gen_item_display(
00035   gen_item* gi
00036 );
00037 /*@=exportlocal@*/
00038 
00040 int gen_item_display_block(
00041   gen_item* root
00042 );
00043 
00045 gen_item* gen_item_find(
00046   gen_item* root,
00047   gen_item* gi
00048 );
00049 
00051 void gen_item_remove_if_contains_expr_calling_stmt(
00052   gen_item*  gi,
00053   statement* stmt
00054 );
00055 
00057 bool gen_item_varname_contains_genvar(
00058   char* name
00059 );
00060 
00065 char* gen_item_calc_signal_name(
00066   const char* name,
00067   func_unit*  funit,
00068   int         line,
00069   bool        no_genvars
00070 );
00071 
00073 gen_item* gen_item_create_expr(
00074   expression* expr
00075 );
00076 
00078 gen_item* gen_item_create_sig(
00079   vsignal* sig
00080 );
00081 
00083 gen_item* gen_item_create_stmt(
00084   statement* stmt
00085 );
00086 
00088 gen_item* gen_item_create_inst(
00089   funit_inst* inst
00090 );
00091 
00093 gen_item* gen_item_create_tfn(
00094   funit_inst* inst
00095 );
00096 
00098 gen_item* gen_item_create_bind(
00099   const char* name,
00100   expression* expr
00101 );
00102 
00104 void gen_item_resize_stmts_and_sigs(
00105   gen_item*  gi,
00106   func_unit* funit
00107 );
00108 
00110 void gen_item_assign_ids(
00111   gen_item*  gi,
00112   func_unit* funit
00113 );
00114 
00116 void gen_item_db_write(
00117   gen_item* gi,
00118   uint32    type,
00119   FILE*     file
00120 );
00121 
00123 void gen_item_db_write_expr_tree(
00124   gen_item* gi,
00125   FILE*     file
00126 );
00127 
00129 bool gen_item_connect(
00130   gen_item* gi1,
00131   gen_item* gi2,
00132   int       conn_id,
00133   bool      stop_on_null
00134 );
00135 
00137 void gen_item_bind(
00138   gen_item* gi
00139 );
00140 
00142 void generate_resolve_inst(
00143   funit_inst* inst
00144 );
00145 
00147 bool generate_remove_stmt(
00148   statement* stmt
00149 );
00150 
00152 void gen_item_dealloc(
00153   gen_item* gi,
00154   bool      rm_elem
00155 );
00156 
00157 #endif
00158 
Generated on Sun Nov 21 00:55:35 2010 for Covered by  doxygen 1.6.3