#include <dynamic_path_instance_mapper.h>
Public Types | |
typedef std::pair < InstanceTree, int > | PathWithID |
Public Member Functions | |
DynamicPathInstanceMapper (std::string filename) | |
void | traverse_tree (InstanceTree root, DynamicModule *module) |
void | determine_lookup_table () |
This function traverses the design and pushes all modules and hierarchical channel instances into the path_to_id_mapping_ lookup table. The traversing is dependent on the declaration order of the member variables. Also, it follows depth first search. CAUTION: The function Design::reset_instance_counter() must be used first! Otherwise wrong intance id's a generated! | |
void | parse_dynamic_instance_tree () |
This functions parses the dynamic analysis file into a tree representation. | |
virtual DynamicModule * | get_dynamic_tree_root () |
This function returns the root node of the dynamic analysis CAUTION: This function is only for the DynamicPathInstanceMapper. | |
virtual bool | perform_dynamic_analysis () |
This functions returns true if the path instance mapper should perform a dynamic analysis. | |
virtual int * | get_global_variable_address (std::string variable_name) |
virtual std::string | get_global_variable_name (int *variable_address) |
std::string | translate_type_name (std::string gnu_type_name) |
void | print_mapping () |
The function prints the lookup table in the terminal. | |
virtual InstanceTree | get_instance_tree (int id, std::list< InstanceTree > potential_instances) |
virtual int | get_id (InstanceTree tree) |
Public Attributes | |
std::string | filename_ |
This is the input file for the dynamic analysis. | |
DynamicModule * | dynamic_root_ |
This variables stores the root node of the dynamic analysis. | |
std::list< std::pair < std::string, int * > > | global_variable_addresses_ |
This list stores the global variables of the dynamic analysis. | |
std::vector< PathWithID > | path_to_id_mapping_ |
This is the lookup table from path to instance id. | |
int | max_instances_ |
This variable counts what is the max of instances. |
typedef std::pair<InstanceTree, int> risc::PathInstanceMapper::PathWithID [inherited] |
risc::DynamicPathInstanceMapper::DynamicPathInstanceMapper | ( | std::string | filename | ) |
risc::DynamicPathInstanceMapper::determine_lookup_table | ( | ) |
This function traverses the design and pushes all modules and hierarchical channel instances into the path_to_id_mapping_ lookup table. The traversing is dependent on the declaration order of the member variables. Also, it follows depth first search. CAUTION: The function Design::reset_instance_counter() must be used first! Otherwise wrong intance id's a generated!
DynamicModule * risc::DynamicPathInstanceMapper::get_dynamic_tree_root | ( | ) | [virtual] |
This function returns the root node of the dynamic analysis CAUTION: This function is only for the DynamicPathInstanceMapper.
Reimplemented from risc::PathInstanceMapper.
int * risc::DynamicPathInstanceMapper::get_global_variable_address | ( | std::string | variable_name | ) | [virtual] |
Reimplemented from risc::PathInstanceMapper.
std::string risc::DynamicPathInstanceMapper::get_global_variable_name | ( | int * | variable_address | ) | [virtual] |
Reimplemented from risc::PathInstanceMapper.
int risc::PathInstanceMapper::get_id | ( | InstanceTree | tree | ) | [virtual, inherited] |
Reimplemented in risc::StaticPathInstanceMapper.
risc::InstanceTree risc::PathInstanceMapper::get_instance_tree | ( | int | id, | |
std::list< InstanceTree > | potential_instances | |||
) | [virtual, inherited] |
Reimplemented in risc::StaticPathInstanceMapper.
void risc::DynamicPathInstanceMapper::parse_dynamic_instance_tree | ( | ) |
This functions parses the dynamic analysis file into a tree representation.
risc::DynamicPathInstanceMapper::perform_dynamic_analysis | ( | ) | [virtual] |
This functions returns true if the path instance mapper should perform a dynamic analysis.
Implements risc::PathInstanceMapper.
risc::PathInstanceMapper::print_mapping | ( | ) | [inherited] |
The function prints the lookup table in the terminal.
std::string risc::DynamicPathInstanceMapper::translate_type_name | ( | std::string | gnu_type_name | ) |
void risc::DynamicPathInstanceMapper::traverse_tree | ( | InstanceTree | root, | |
DynamicModule * | module | |||
) |
This variables stores the root node of the dynamic analysis.
std::string risc::DynamicPathInstanceMapper::filename_ |
This is the input file for the dynamic analysis.
std::list<std::pair<std::string, int*> > risc::DynamicPathInstanceMapper::global_variable_addresses_ |
This list stores the global variables of the dynamic analysis.
int risc::PathInstanceMapper::max_instances_ [inherited] |
This variable counts what is the max of instances.
std::vector<PathWithID> risc::PathInstanceMapper::path_to_id_mapping_ [inherited] |
This is the lookup table from path to instance id.