PPL Logo

xi::SdagConstruct Class Reference

#include <xi-SdagConstruct.h>

Inheritance diagram for xi::SdagConstruct:

Inheritance graph
[legend]
Collaboration diagram for xi::SdagConstruct:

Collaboration graph
[legend]

Public Member Functions

int unravelClosuresBegin (XStr &defs, bool child=false)
void unravelClosuresEnd (XStr &defs, bool child=false)
 SdagConstruct (EToken t, SdagConstruct *construct1)
 SdagConstruct (EToken t, SdagConstruct *construct1, SdagConstruct *aList)
 SdagConstruct (EToken t, XStr *txt, SdagConstruct *c1, SdagConstruct *c2, SdagConstruct *c3, SdagConstruct *c4, SdagConstruct *constructAppend, EntryList *el)
 SdagConstruct (EToken t, const char *str)
 SdagConstruct (EToken t)
 SdagConstruct (EToken t, XStr *txt)
 SdagConstruct (EToken t, const char *entryStr, const char *codeStr, ParamList *pl)
virtual ~SdagConstruct ()
void init (EToken &t)
void setEntry (Entry *e)
virtual void numberNodes ()
virtual void labelNodes ()
XStrcreateLabel (const char *str, int nodeNum)
virtual void generateEntryList (std::list< CEntry * > &, WhenConstruct *)
void propagateState (int)
virtual void propagateState (std::list< EncapState * >, std::list< CStateVar * > &, std::list< CStateVar * > &, int)
virtual void generateCode (XStr &decls, XStr &defs, Entry *entry)
void setNext (SdagConstruct *, int)
void buildTypes (std::list< EncapState * > &state)
virtual void generateTrace ()
void generateRegisterEp (XStr &defs)
void generateTraceEp (XStr &decls, XStr &defs, Chare *chare)

Static Public Member Functions

static void generateTraceEndCall (XStr &defs, int indent)
static void generateTlineEndCall (XStr &defs)
static void generateBeginExec (XStr &defs, const char *name)
static void generateEndExec (XStr &defs)
static void generateEndSeq (XStr &defs)
static void generateDummyBeginExecute (XStr &defs, int indent, Entry *entry)

Data Fields

int nodeNum
XStrlabel
XStrcounter
EToken type
char nameStr [128]
XStrtraceName
SdagConstructnext
ParamListparam
XStrtext
int nextBeginOrEnd
EntryListelist
SdagConstructcon1
SdagConstructcon2
SdagConstructcon3
SdagConstructcon4

Protected Member Functions

void generateCall (XStr &op, std::list< EncapState * > &cur, std::list< EncapState * > &next, const XStr *name, const char *nameSuffix=0)
void generateTraceBeginCall (XStr &defs, int indent)
void generateBeginTime (XStr &defs)
void generateEventBracket (XStr &defs, int eventType)
void generateListEventBracket (XStr &defs, int eventType)
void generateChildrenCode (XStr &decls, XStr &defs, Entry *entry)
void generateChildrenEntryList (std::list< CEntry * > &CEntrylist, WhenConstruct *thisWhen)
void propagateStateToChildren (std::list< EncapState * >, std::list< CStateVar * > &, std::list< CStateVar * > &, int)

Protected Attributes

std::list< SdagConstruct * > * constructs
std::list< CStateVar * > * stateVars
std::list< EncapState * > encapState
std::list< EncapState * > encapStateChild
std::list< CStateVar * > * stateVarsChildren
const char * label_str
Entryentry

Private Member Functions

void generateOverlap (XStr &decls, XStr &defs, Entry *entry)
void generateWhile (XStr &decls, XStr &defs, Entry *entry)
void generateFor (XStr &decls, XStr &defs, Entry *entry)
void generateIf (XStr &decls, XStr &defs, Entry *entry)
void generateElse (XStr &decls, XStr &defs, Entry *entry)
void generateForall (XStr &decls, XStr &defs, Entry *entry)
void generateOlist (XStr &decls, XStr &defs, Entry *entry)
void generateSdagEntry (XStr &decls, XStr &defs, Entry *entry)
void generateSlist (XStr &decls, XStr &defs, Entry *entry)
void generateCaseList (XStr &decls, XStr &defs, Entry *entry)

Detailed Description

Definition at line 35 of file xi-SdagConstruct.h.


Constructor & Destructor Documentation

xi::SdagConstruct::SdagConstruct ( EToken  t,
SdagConstruct construct1 
)

Definition at line 21 of file CSdagConstruct.C.

References constructs, and init().

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t,
SdagConstruct construct1,
SdagConstruct aList 
)

Definition at line 26 of file CSdagConstruct.C.

References constructs, and init().

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t,
XStr txt,
SdagConstruct c1,
SdagConstruct c2,
SdagConstruct c3,
SdagConstruct c4,
SdagConstruct constructAppend,
EntryList el 
)

Definition at line 33 of file CSdagConstruct.C.

References con1, con2, con3, con4, constructs, elist, init(), and text.

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t,
const char *  str 
)

Definition at line 5 of file xi-SdagConstruct.C.

References init(), and text.

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t  ) 

Definition at line 10 of file xi-SdagConstruct.C.

References init().

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t,
XStr txt 
)

Definition at line 12 of file xi-SdagConstruct.C.

References init().

Here is the call graph for this function:

xi::SdagConstruct::SdagConstruct ( EToken  t,
const char *  entryStr,
const char *  codeStr,
ParamList pl 
)

Definition at line 46 of file CSdagConstruct.C.

References init(), param, and text.

Here is the call graph for this function:

xi::SdagConstruct::~SdagConstruct (  )  [virtual]

Definition at line 65 of file CSdagConstruct.C.

References constructs, and text.


Member Function Documentation

void xi::SdagConstruct::generateOverlap ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateWhile ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateFor ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateIf ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateElse ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateForall ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateOlist ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateSdagEntry ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateSlist ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateCaseList ( XStr decls,
XStr defs,
Entry entry 
) [private]

void xi::SdagConstruct::generateCall ( XStr op,
std::list< EncapState * > &  cur,
std::list< EncapState * > &  next,
const XStr name,
const char *  nameSuffix = 0 
) [protected]

void xi::SdagConstruct::generateTraceBeginCall ( XStr defs,
int  indent 
) [protected]

Definition at line 589 of file CSdagConstruct.C.

References entry, xi::Entry::getContainer(), xi::indentBy(), xi::Chare::isArray(), and traceName.

Referenced by xi::SerialConstruct::generateCode().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateBeginTime ( XStr defs  )  [protected]

void xi::SdagConstruct::generateEventBracket ( XStr defs,
int  eventType 
) [protected]

void xi::SdagConstruct::generateListEventBracket ( XStr defs,
int  eventType 
) [protected]

Definition at line 657 of file CSdagConstruct.C.

References label, and nameStr.

Referenced by xi::OListConstruct::generateCode().

Here is the caller graph for this function:

void xi::SdagConstruct::generateChildrenCode ( XStr decls,
XStr defs,
Entry entry 
) [protected]

void xi::SdagConstruct::generateChildrenEntryList ( std::list< CEntry * > &  CEntrylist,
WhenConstruct thisWhen 
) [protected]

void xi::SdagConstruct::propagateStateToChildren ( std::list< EncapState * >  ,
std::list< CStateVar * > &  ,
std::list< CStateVar * > &  ,
int   
) [protected]

int xi::SdagConstruct::unravelClosuresBegin ( XStr defs,
bool  child = false 
)

void xi::SdagConstruct::unravelClosuresEnd ( XStr defs,
bool  child = false 
)

void xi::SdagConstruct::init ( EToken t  ) 

Definition at line 53 of file CSdagConstruct.C.

References con1, con2, con3, con4, constructs, elist, label_str, traceName, and type.

Referenced by SdagConstruct().

Here is the caller graph for this function:

void xi::SdagConstruct::setEntry ( Entry e  ) 

Definition at line 14 of file xi-SdagConstruct.C.

References con1, con2, con3, con4, constructs, entry, and setEntry().

Referenced by Builder::Entry::generateAst(), and setEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::numberNodes ( void   )  [virtual]

void xi::SdagConstruct::labelNodes (  )  [virtual]

Reimplemented in xi::IfConstruct, and xi::SdagEntryConstruct.

Definition at line 90 of file CSdagConstruct.C.

References c, constructs, createLabel(), label, label_str, and nodeNum.

Referenced by xi::CParsedFile::doProcess(), xi::SdagEntryConstruct::labelNodes(), and xi::IfConstruct::labelNodes().

Here is the call graph for this function:

Here is the caller graph for this function:

XStr * xi::SdagConstruct::createLabel ( const char *  str,
int  nodeNum 
)

Definition at line 80 of file CSdagConstruct.C.

References text.

Referenced by labelNodes(), and xi::SdagEntryConstruct::labelNodes().

Here is the caller graph for this function:

virtual void xi::SdagConstruct::generateEntryList ( std::list< CEntry * > &  ,
WhenConstruct  
) [virtual]

Reimplemented in xi::WhenConstruct.

Referenced by xi::Entry::check(), and xi::Entry::setChare().

Here is the caller graph for this function:

void xi::SdagConstruct::propagateState ( int  uniqueVarNum  ) 

virtual void xi::SdagConstruct::propagateState ( std::list< EncapState * >  ,
std::list< CStateVar * > &  ,
std::list< CStateVar * > &  ,
int   
) [virtual]

void xi::SdagConstruct::generateCode ( XStr decls,
XStr defs,
Entry entry 
) [virtual]

void xi::SdagConstruct::setNext ( SdagConstruct n,
int  boe 
)

Definition at line 513 of file CSdagConstruct.C.

References con2, constructs, nextBeginOrEnd, xi::SCASE, xi::SCASELIST, xi::SELSE, setNext(), xi::SFOR, xi::SFORALL, xi::SIF, xi::SOLIST, xi::SOVERLAP, xi::SSDAGENTRY, xi::SSERIAL, xi::SSLIST, xi::SWHEN, xi::SWHILE, and type.

Referenced by setNext().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::buildTypes ( std::list< EncapState * > &  state  ) 

void xi::SdagConstruct::generateTrace (  )  [virtual]

Reimplemented in xi::SerialConstruct.

Definition at line 577 of file CSdagConstruct.C.

References c, con1, con2, con3, constructs, and generateTrace().

Referenced by xi::CParsedFile::doProcess(), generateTrace(), and xi::SerialConstruct::generateTrace().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateRegisterEp ( XStr defs  ) 

Definition at line 663 of file CSdagConstruct.C.

References con1, con2, con3, constructs, generateRegisterEp(), and traceName.

Referenced by generateRegisterEp().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateTraceEp ( XStr decls,
XStr defs,
Chare chare 
)

Definition at line 674 of file CSdagConstruct.C.

References con1, con2, con3, constructs, xi::endMethod(), generateTraceEp(), xi::generateVarSignature(), xi::Chare::indexName(), and traceName.

Referenced by generateTraceEp().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateTraceEndCall ( XStr defs,
int  indent 
) [static]

Definition at line 616 of file CSdagConstruct.C.

References xi::indentBy().

Referenced by xi::SerialConstruct::generateCode(), xi::SdagEntryConstruct::generateCode(), xi::CEntry::generateCode(), and generateEndSeq().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateTlineEndCall ( XStr defs  )  [static]

Definition at line 636 of file CSdagConstruct.C.

Referenced by xi::SdagEntryConstruct::generateCode(), xi::CEntry::generateCode(), generateEndSeq(), and xi::WhenConstruct::generateWhenCode().

Here is the caller graph for this function:

void xi::SdagConstruct::generateBeginExec ( XStr defs,
const char *  name 
) [static]

Definition at line 621 of file CSdagConstruct.C.

Referenced by xi::SerialConstruct::generateCode(), xi::SdagEntryConstruct::generateCode(), and xi::WhenConstruct::generateWhenCode().

Here is the caller graph for this function:

void xi::SdagConstruct::generateEndExec ( XStr defs  )  [static]

Definition at line 626 of file CSdagConstruct.C.

Referenced by xi::SerialConstruct::generateCode(), xi::CEntry::generateCode(), and generateEndSeq().

Here is the caller graph for this function:

void xi::SdagConstruct::generateEndSeq ( XStr defs  )  [static]

Definition at line 641 of file CSdagConstruct.C.

References generateEndExec(), generateTlineEndCall(), and generateTraceEndCall().

Referenced by xi::SdagEntryConstruct::generateCode().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::SdagConstruct::generateDummyBeginExecute ( XStr defs,
int  indent,
Entry entry 
) [static]

Definition at line 604 of file CSdagConstruct.C.

References xi::Entry::getContainer(), xi::indentBy(), and xi::Chare::isArray().

Referenced by xi::SdagEntryConstruct::generateCode(), and xi::CEntry::generateCode().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

const char* xi::SdagConstruct::label_str [protected]

Definition at line 73 of file xi-SdagConstruct.h.

Referenced by init(), and setNext().

Definition at line 77 of file xi-SdagConstruct.h.

Referenced by Builder::Entry::generateAst(), propagateState(), and SdagConstruct().


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

Generated on Mon Sep 21 08:35:46 2020 for Charm++ by  doxygen 1.5.5