00001 /******************************************************************************* 00002 * arch-tag: Matthieu Moy April 10, 2003 (parser/include/scp-analyse-body.h) 00003 *------------------------------------------------------------------------------ 00004 * Copyright (c) STMicroelectronics,Verimag 00005 * Pinapa is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free 00017 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00018 * MA 02111-1307, USA 00019 *------------------------------------------------------------------------------ 00020 * System Platform Group - HPC 00021 *******************************************************************************/ 00022 00034 #include "pinapa-parser-all.h" 00035 00036 #ifndef PINAPA_ANALYZE_BODY_H 00037 #define PINAPA_ANALYZE_BODY_H 00038 00039 #include <vector> 00040 00041 #include "pinapa-systemc-light.h" 00042 00043 #include "pinapa-tree.h" 00044 00045 namespace pinapa { 00047 void analyze_function_body(tree body, tree module, const vector<sc_process_b *> & vh); 00048 00050 void mark_function_calls(tree body, tree module); 00051 00053 void finish_proc_analysisses(); 00054 00056 struct event_assoc_unit { 00057 event_assoc_unit(sc_process_b * h, sc_event * p, bool is_array, 00058 tree index) 00059 : m_handle(h), m_event(p), m_is_array(is_array), m_index(index) {} 00060 sc_process_b * m_handle; 00061 sc_event * m_event; 00062 bool m_is_array; 00063 tree m_index; 00064 }; 00065 00070 typedef vector<event_assoc_unit> event_assoc; 00071 } 00072 00073 #endif // PINAPA_ANALYZE_BODY_H 00074