00001 #ifndef MODULE_INSTANCE_H_INCLUDED_ 00002 #define MODULE_INSTANCE_H_INCLUDED_ 00003 00004 #include <string> 00005 #include <vector> 00006 00007 #include "rose.h" 00008 00009 #include "instance.h" 00010 #include "definition.h" 00011 00012 00013 namespace risc { 00014 00015 class Module; 00016 00022 class ModuleInstance: public Instance { 00023 00024 public: 00025 00029 explicit ModuleInstance(SgVariableDefinition *ast_node, 00030 Module *ir_def); 00031 00036 Module* definition_; 00037 00038 private: 00039 00043 ModuleInstance(const ModuleInstance &md); 00044 }; 00045 00046 typedef std::vector<ModuleInstance*> 00047 ModuleInstanceVector; 00048 typedef std::vector<ModuleInstance*>::iterator 00049 ModuleInstanceVectorIter; 00050 typedef std::vector<ModuleInstance*>::const_iterator 00051 ModuleInstanceVectorConstIter; 00052 00053 }; // end namespace risc 00054 00055 #endif /* MODULE_INSTANCE_H_INCLUDED_ */ 00056 00057 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */