#include <primitive_channel.h>
Public Types | |
enum | Type { CThreadType, ChannelType, ChannelInstanceType, ClassType, DefinitionType, EventType, FunctionType, HierarchicalChannelType, HierarchicalChannelInstanceType, InOutPortType, InPortType, InstanceType, InterfaceType, MethodType, ModuleType, ModuleInstanceType, ObjectType, OutPortType, PortType, PrimitiveChannelType, PrimitiveChannelInstanceType, ThreadType, VariableType } |
We are using these enums to identify type type of and instance or definition during traversal. More... | |
Public Member Functions | |
PrimitiveChannel (SgClassDefinition *ast_node) | |
Default constructor. | |
std::list< Interface * > | get_interfaces () |
Returns all implemented interfaces. | |
virtual void | initialize_functions () |
void | initialize_variables () |
This function searches for all variable declarations in the module definition. The corresponding variable vectors will be used. | |
SgFunctionDefinition * | get_before_end_of_elaboration_definition () |
This function return a pointer to the definition of the function before_end_of_elaboration. | |
Variable * | find_variable (SgVariableDefinition *var_def) |
Find a port by it's ast variable definition. | |
Port * | find_port (SgVariableDefinition *var_def) |
Find a port by it's ast variable definition. | |
Event * | find_event (SgVariableDefinition *var_def) |
Find an event by it's ast variable definition. | |
EventAndList * | find_event_and_list (SgVariableDefinition *var_def) |
Find an event by it's ast variable definition. | |
EventOrList * | find_event_or_list (SgVariableDefinition *var_def) |
Find an event by it's ast variable definition. | |
ModuleInstance * | find_module (SgVariableDefinition *var_def) |
Find an module by it's ast variable definition. | |
PrimitiveChannelInstance * | find_prim_channel (SgVariableDefinition *var_def) |
find a prim channel by it's ast variable definition | |
HierarchicalChannelInstance * | find_hier_channel (SgVariableDefinition *var_def) |
find a hier channel by it's ast variable definition | |
Instance * | find_instance (SgVariableDefinition *var_def) |
find a hier channel/module/ prim channel by it's ast variable definition | |
SgClassDefinition * | get_ast_node () |
Returns the ast definition of the class. | |
std::string | get_name () |
returns the name of the module definition | |
virtual std::string | get_ast_type_name () |
Returns the name of the module type. | |
void | initialize_mapping () |
This function analyzes the mapping between a module/channel definition and its children. | |
void | analyze_port_mapping (Module *parent_module, ModuleInstance *sub_module_instance, Port *port) |
virtual SgType * | get_ast_type () |
Returns the type of the ast node. | |
bool | has_source_location () |
Determines if a ast node has an associated ast node. | |
std::string | get_file_name () |
Get the name of the file where the declaration is located. | |
int | get_line_number () |
Get the line number of the instance. | |
int | get_position_in_line () |
Get the position of the in declaration in the corresponding line In other words the column in the line. | |
Public Attributes | |
std::list < PrimitiveChannelInstance * > | instances_ |
EventVector | events_ |
Vector of events which are defined in this module. | |
EventAndListVector | event_and_lists_ |
Vector of event and lists which are defined in this module. | |
EventOrListVector | event_or_lists_ |
Vector of event or lists which are defined in this module. | |
VariableVector | variables_ |
Vector of C++ builtin variables that are declared in the module. | |
InPortVector | inports_ |
Vector of inports which are defined in this module. | |
InOutPortVector | inoutports_ |
Vector of inoutports which are defined in this module. | |
OutPortVector | outports_ |
Vector of outports which are defined in this module. | |
PrimitiveChannelInstanceVector | sub_prim_channel_ |
Vector of primitive channel instances which are declared in this module. | |
HierarchicalChannelInstanceVector | sub_hier_channel_ |
Vector of hierarchical channel instances which are declared in this module. | |
ModuleInstanceVector | sub_modules_ |
Vector of module instances which are declared in this module. | |
FunctionVector | functions_ |
Vector of functions which are defined in this module. | |
Type | type_ |
SgNode * | ast_node_ |
SgType * | ast_type_pointer_ |
Private Member Functions | |
PrimitiveChannel (const PrimitiveChannel &pcd) | |
Disabled copy constructor. |
enum risc::Definition::Type [inherited] |
We are using these enums to identify type type of and instance or definition during traversal.
risc::PrimitiveChannel::PrimitiveChannel | ( | SgClassDefinition * | ast_node | ) | [explicit] |
Default constructor.
risc::PrimitiveChannel::PrimitiveChannel | ( | const PrimitiveChannel & | pcd | ) | [private] |
Disabled copy constructor.
void risc::Class::analyze_port_mapping | ( | Module * | parent_module, | |
ModuleInstance * | sub_module_instance, | |||
Port * | port | |||
) | [inherited] |
risc::Event * risc::Class::find_event | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an event by it's ast variable definition.
risc::EventAndList * risc::Class::find_event_and_list | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an event by it's ast variable definition.
risc::EventOrList * risc::Class::find_event_or_list | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an event by it's ast variable definition.
risc::HierarchicalChannelInstance * risc::Class::find_hier_channel | ( | SgVariableDefinition * | var_def | ) | [inherited] |
find a hier channel by it's ast variable definition
risc::Instance * risc::Class::find_instance | ( | SgVariableDefinition * | var_def | ) | [inherited] |
find a hier channel/module/ prim channel by it's ast variable definition
risc::ModuleInstance * risc::Class::find_module | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find an module by it's ast variable definition.
risc::Port * risc::Class::find_port | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find a port by it's ast variable definition.
risc::PrimitiveChannelInstance * risc::Class::find_prim_channel | ( | SgVariableDefinition * | var_def | ) | [inherited] |
find a prim channel by it's ast variable definition
risc::Variable * risc::Class::find_variable | ( | SgVariableDefinition * | var_def | ) | [inherited] |
Find a port by it's ast variable definition.
SgClassDefinition * risc::Class::get_ast_node | ( | ) | [virtual, inherited] |
Returns the ast definition of the class.
Reimplemented from risc::Definition.
SgType * risc::Definition::get_ast_type | ( | ) | [virtual, inherited] |
Returns the type of the ast node.
std::string risc::Class::get_ast_type_name | ( | ) | [virtual, inherited] |
Returns the name of the module type.
Reimplemented from risc::Definition.
Reimplemented in risc::Interface.
risc::Class::get_before_end_of_elaboration_definition | ( | ) | [inherited] |
This function return a pointer to the definition of the function before_end_of_elaboration.
std::string risc::Definition::get_file_name | ( | ) | [inherited] |
Get the name of the file where the declaration is located.
std::list< risc::Interface * > risc::PrimitiveChannel::get_interfaces | ( | ) |
Returns all implemented interfaces.
int risc::Definition::get_line_number | ( | ) | [inherited] |
Get the line number of the instance.
std::string risc::Class::get_name | ( | ) | [virtual, inherited] |
returns the name of the module definition
Reimplemented from risc::Definition.
int risc::Definition::get_position_in_line | ( | ) | [inherited] |
Get the position of the in declaration in the corresponding line In other words the column in the line.
bool risc::Definition::has_source_location | ( | ) | [inherited] |
Determines if a ast node has an associated ast node.
void risc::Class::initialize_functions | ( | ) | [virtual, inherited] |
Reimplemented in risc::Module.
risc::Class::initialize_mapping | ( | ) | [inherited] |
This function analyzes the mapping between a module/channel definition and its children.
void risc::Class::initialize_variables | ( | ) | [inherited] |
This function searches for all variable declarations in the module definition. The corresponding variable vectors will be used.
SgNode* risc::Definition::ast_node_ [inherited] |
SgType* risc::Definition::ast_type_pointer_ [inherited] |
EventAndListVector risc::Class::event_and_lists_ [inherited] |
Vector of event and lists which are defined in this module.
EventOrListVector risc::Class::event_or_lists_ [inherited] |
Vector of event or lists which are defined in this module.
EventVector risc::Class::events_ [inherited] |
Vector of events which are defined in this module.
FunctionVector risc::Class::functions_ [inherited] |
Vector of functions which are defined in this module.
InOutPortVector risc::Class::inoutports_ [inherited] |
Vector of inoutports which are defined in this module.
InPortVector risc::Class::inports_ [inherited] |
Vector of inports which are defined in this module.
List of instances of this channel in the design
OutPortVector risc::Class::outports_ [inherited] |
Vector of outports which are defined in this module.
Vector of hierarchical channel instances which are declared in this module.
ModuleInstanceVector risc::Class::sub_modules_ [inherited] |
Vector of module instances which are declared in this module.
Vector of primitive channel instances which are declared in this module.
Type risc::Definition::type_ [inherited] |
VariableVector risc::Class::variables_ [inherited] |
Vector of C++ builtin variables that are declared in the module.