risc::DynamicPathInstanceMapper Class Reference

#include <dynamic_path_instance_mapper.h>

Inheritance diagram for risc::DynamicPathInstanceMapper:
Inheritance graph
[legend]
Collaboration diagram for risc::DynamicPathInstanceMapper:
Collaboration graph
[legend]

List of all members.

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 DynamicModuleget_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.
DynamicModuledynamic_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< PathWithIDpath_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.

Member Typedef Documentation

typedef std::pair<InstanceTree, int> risc::PathInstanceMapper::PathWithID [inherited]

Constructor & Destructor Documentation

risc::DynamicPathInstanceMapper::DynamicPathInstanceMapper ( std::string  filename  ) 

Member Function Documentation

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 
)

Member Data Documentation

This variables stores the root node of the dynamic analysis.

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.

This variable counts what is the max of instances.

This is the lookup table from path to instance id.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Jul 2017 by  doxygen 1.6.1