00001 #ifndef PORT_MAPPING_H_INCLUDED_
00002 #define PORT_MAPPING_H_INCLUDED_
00003
00004 #include <list>
00005
00006 #include "rose.h"
00007
00008 #include "instance_tree.h"
00009
00010 namespace risc {
00011
00012 class Port;
00013 class Module;
00014
00020 std::list<InstanceTree> get_mapped_channel_instances(Port *port);
00021
00026 InstanceTree get_mapped_channel_instance(InstanceTree port);
00027
00034 SgVariableSymbol* port_mapping_style1(
00035 SgFunctionCallExp *func_call,
00036 SgVariableSymbol *port,
00037 SgVariableDefinition *parent_variable);
00038
00045 SgVariableSymbol* port_mapping_style2(
00046 SgFunctionCallExp *func_call,
00047 SgVariableSymbol *port,
00048 SgVariableDefinition *parent_variable);
00049
00055 SgVariableSymbol* port_mapping_style3(
00056 SgFunctionCallExp *func_call,
00057 SgVariableSymbol *port,
00058 Module *parent_module,
00059 SgVariableDefinition *parent_variable);
00060
00072 SgVariableSymbol* get_mapped_symbol(
00073 SgVariableSymbol *port,
00074 Module *parent_module,
00075 SgVariableDefinition *parent_variable);
00076
00077 }
00078
00079 #endif
00080
00081