systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
systemc_clang::SuspensionAutomata Class Reference

#include <SuspensionAutomata.h>

Inheritance diagram for systemc_clang::SuspensionAutomata:
Inheritance graph
[legend]
Collaboration diagram for systemc_clang::SuspensionAutomata:
Collaboration graph
[legend]

Public Types

typedef vector< SusCFG * > susCFGVectorType
 
typedef vector< Transition * > transitionVectorType
 
typedef pair< SusCFG *, int > susCFGSuccIDPairType
 
typedef map< SusCFG *, int > susCFGSuccIDMapType
 
typedef pair< SusCFG *, State * > susCFGStatePairType
 
typedef map< SusCFG *, State * > susCFGStateMapType
 
typedef pair< State *, vector< SusCFG * > > stateCommonCodeBlockPairType
 
typedef map< State *, vector< SusCFG * > > stateCommonCodeBlockMapType
 

Public Member Functions

 SuspensionAutomata (vector< WaitContainer * >, CXXMethodDecl *, ASTContext *, llvm::raw_ostream &)
 
 ~SuspensionAutomata ()
 
void addRemainingBlocks (State *, vector< SusCFG * > &)
 
void checkInsert (vector< SusCFG * >, vector< SusCFG * > &)
 
bool isFound (vector< SusCFG * >, SusCFG *)
 
bool isFound (vector< Transition * >, Transition *)
 
bool initialize ()
 
void genSusCFG ()
 
void genSauto ()
 
vector< SusCFG * > modifDFS (SusCFG *, State *)
 
bool isWaitCall (const CFGStmt *cs)
 
bool isTimedWait (Stmt *stmt)
 
bool isDeltaWait (Stmt *stmt)
 
bool isEventWait (Stmt *stmt)
 
float getTime (Stmt *stmt)
 
string getEvent (Stmt *stmt)
 
string getArgumentName (Expr *arg)
 
void addEvent (string)
 
void addSimTime (float)
 
susCFGVectorType getSusCFG ()
 
transitionVectorType getSauto ()
 
void dumpSusCFG ()
 
void dumpSauto ()
 
- Public Member Functions inherited from systemc_clang::Utility
 Utility ()
 
void tabit (raw_ostream &os, int tabn)
 
string strip (string s, string sub)
 
template<typename vec >
vec removeDuplicate (vec vecInput)
 
template<typename vec , typename element >
bool isElementPresent (vec vecInput, element elemInput)
 
template<typename expressionArg >
string getArgumentName (expressionArg *exp)
 

Private Attributes

CXXMethodDecl * _d
 
vector< CallExpr * > _waitCalls
 
susCFGSuccIDMapType susCFGSuccIDMap
 
susCFGStateMapType susCFGStateMap
 
unique_ptr< CFG > _cfg
 
ASTContext * _a
 
raw_ostream & _os
 
susCFGVectorType _susCFGVector
 
transitionVectorType _transitionVector
 
stateCommonCodeBlockMapType _stateCommonCodeBlockMap
 

Detailed Description

Definition at line 120 of file SuspensionAutomata.h.

Member Typedef Documentation

◆ stateCommonCodeBlockMapType

Definition at line 132 of file SuspensionAutomata.h.

◆ stateCommonCodeBlockPairType

Definition at line 131 of file SuspensionAutomata.h.

◆ susCFGStateMapType

Definition at line 129 of file SuspensionAutomata.h.

◆ susCFGStatePairType

Definition at line 128 of file SuspensionAutomata.h.

◆ susCFGSuccIDMapType

Definition at line 126 of file SuspensionAutomata.h.

◆ susCFGSuccIDPairType

Definition at line 125 of file SuspensionAutomata.h.

◆ susCFGVectorType

Definition at line 122 of file SuspensionAutomata.h.

◆ transitionVectorType

Definition at line 123 of file SuspensionAutomata.h.

Constructor & Destructor Documentation

◆ SuspensionAutomata()

SuspensionAutomata::SuspensionAutomata ( vector< WaitContainer * > ,
CXXMethodDecl * ,
ASTContext * ,
llvm::raw_ostream &  )

Definition at line 161 of file SuspensionAutomata.cpp.

◆ ~SuspensionAutomata()

SuspensionAutomata::~SuspensionAutomata ( )

Definition at line 171 of file SuspensionAutomata.cpp.

Member Function Documentation

◆ addEvent()

void systemc_clang::SuspensionAutomata::addEvent ( string )

◆ addRemainingBlocks()

void SuspensionAutomata::addRemainingBlocks ( State * initialState,
vector< SusCFG * > & transitionBlocks )

Definition at line 433 of file SuspensionAutomata.cpp.

◆ addSimTime()

void systemc_clang::SuspensionAutomata::addSimTime ( float )

◆ checkInsert()

void SuspensionAutomata::checkInsert ( vector< SusCFG * > source,
vector< SusCFG * > & target )

Definition at line 577 of file SuspensionAutomata.cpp.

◆ dumpSauto()

void SuspensionAutomata::dumpSauto ( )

Definition at line 853 of file SuspensionAutomata.cpp.

◆ dumpSusCFG()

void SuspensionAutomata::dumpSusCFG ( )

Definition at line 822 of file SuspensionAutomata.cpp.

◆ genSauto()

void SuspensionAutomata::genSauto ( )

Definition at line 594 of file SuspensionAutomata.cpp.

◆ genSusCFG()

void SuspensionAutomata::genSusCFG ( )

Definition at line 216 of file SuspensionAutomata.cpp.

◆ getArgumentName()

string SuspensionAutomata::getArgumentName ( Expr * arg)

Definition at line 774 of file SuspensionAutomata.cpp.

◆ getEvent()

string SuspensionAutomata::getEvent ( Stmt * stmt)

Definition at line 759 of file SuspensionAutomata.cpp.

◆ getSauto()

SuspensionAutomata::transitionVectorType SuspensionAutomata::getSauto ( )

Definition at line 818 of file SuspensionAutomata.cpp.

◆ getSusCFG()

SuspensionAutomata::susCFGVectorType SuspensionAutomata::getSusCFG ( )

Definition at line 814 of file SuspensionAutomata.cpp.

◆ getTime()

float SuspensionAutomata::getTime ( Stmt * stmt)

Definition at line 739 of file SuspensionAutomata.cpp.

◆ initialize()

bool SuspensionAutomata::initialize ( )

Definition at line 173 of file SuspensionAutomata.cpp.

◆ isDeltaWait()

bool SuspensionAutomata::isDeltaWait ( Stmt * stmt)

Definition at line 790 of file SuspensionAutomata.cpp.

◆ isEventWait()

bool SuspensionAutomata::isEventWait ( Stmt * stmt)

Definition at line 805 of file SuspensionAutomata.cpp.

◆ isFound() [1/2]

bool SuspensionAutomata::isFound ( vector< SusCFG * > visitedState,
SusCFG * block )

Definition at line 730 of file SuspensionAutomata.cpp.

◆ isFound() [2/2]

bool SuspensionAutomata::isFound ( vector< Transition * > visitedState,
Transition * block )

Definition at line 734 of file SuspensionAutomata.cpp.

◆ isTimedWait()

bool SuspensionAutomata::isTimedWait ( Stmt * stmt)

Definition at line 765 of file SuspensionAutomata.cpp.

◆ isWaitCall()

bool SuspensionAutomata::isWaitCall ( const CFGStmt * cs)

Definition at line 185 of file SuspensionAutomata.cpp.

◆ modifDFS()

vector< SusCFG * > SuspensionAutomata::modifDFS ( SusCFG * block,
State * initialState )

Definition at line 444 of file SuspensionAutomata.cpp.

Member Data Documentation

◆ _a

ASTContext* systemc_clang::SuspensionAutomata::_a
private

Definition at line 166 of file SuspensionAutomata.h.

◆ _cfg

unique_ptr<CFG> systemc_clang::SuspensionAutomata::_cfg
private

Definition at line 165 of file SuspensionAutomata.h.

◆ _d

CXXMethodDecl* systemc_clang::SuspensionAutomata::_d
private

Definition at line 161 of file SuspensionAutomata.h.

◆ _os

raw_ostream& systemc_clang::SuspensionAutomata::_os
private

Definition at line 167 of file SuspensionAutomata.h.

◆ _stateCommonCodeBlockMap

stateCommonCodeBlockMapType systemc_clang::SuspensionAutomata::_stateCommonCodeBlockMap
private

Definition at line 170 of file SuspensionAutomata.h.

◆ _susCFGVector

susCFGVectorType systemc_clang::SuspensionAutomata::_susCFGVector
private

Definition at line 168 of file SuspensionAutomata.h.

◆ _transitionVector

transitionVectorType systemc_clang::SuspensionAutomata::_transitionVector
private

Definition at line 169 of file SuspensionAutomata.h.

◆ _waitCalls

vector<CallExpr *> systemc_clang::SuspensionAutomata::_waitCalls
private

Definition at line 162 of file SuspensionAutomata.h.

◆ susCFGStateMap

susCFGStateMapType systemc_clang::SuspensionAutomata::susCFGStateMap
private

Definition at line 164 of file SuspensionAutomata.h.

◆ susCFGSuccIDMap

susCFGSuccIDMapType systemc_clang::SuspensionAutomata::susCFGSuccIDMap
private

Definition at line 163 of file SuspensionAutomata.h.


The documentation for this class was generated from the following files: