Collaboration diagram for uscxml::PromelaCodeAnalyzer:
[legend]

Classes

class  PromelaTypedef
 

Public Member Functions

std::string adaptCode (const std::string &code, const std::string &prefix)
 
void addCode (const std::string &code, ChartToPromela *interpreter)
 
void addEvent (const std::string &eventName)
 
void addLiteral (const std::string &stateName, int forceIndex=-1)
 
void analyze (ChartToPromela *interpreter)
 
std::string createMacroName (const std::string &literal)
 
std::set< std::string > getEventsWithPrefix (const std::string &prefix)
 
std::set< std::string > getLiterals ()
 
TriegetTrie ()
 
PromelaTypedefgetType (const std::string &typeName)
 
std::string getTypeAssignment (const std::string &varTo, const std::string &varFrom, const PromelaTypedef &type, size_t indent=0)
 
std::string getTypeReset (const std::string &var, const PromelaTypedef &type, size_t indent=0)
 
PromelaTypedefgetTypes ()
 
bool hasIndexLessLoops ()
 
int indexForLiteral (const std::string &literal)
 
std::string macroForLiteral (const std::string &literal)
 
std::string sanitizeCode (const std::string &code)
 
bool usesCancel (const std::string &elementName)
 
bool usesComplexEventStruct ()
 
bool usesEventDataField (const std::string &fieldName)
 
bool usesEventField (const std::string &fieldName)
 
bool usesInPredicate ()
 
void usesInPredicate (bool value)
 
bool usesPlatformVars ()
 

Static Public Member Functions

static std::list< std::pair< size_t, size_t > > getTokenPositions (const std::string &expr, int type, PromelaParserNode *ast)
 
static std::string prefixIdentifiers (const std::string &expr, const std::string &prefix)
 

Public Attributes

size_t largestDelay = 0
 

Protected Member Functions

void addState (const std::string &stateName, size_t index)
 
int enumerateLiteral (const std::string &literal, int forceIndex=-1)
 

Protected Attributes

Trie _eventTrie
 
std::set< std::string > _literals
 
std::map< std::string, int > _strIndex
 
std::map< std::string, std::string > _strMacros
 
PromelaTypedef _typeDefs
 

Member Function Documentation

void uscxml::PromelaCodeAnalyzer::analyze ( ChartToPromela interpreter)

Create macro names for state identifiers Do not add as literals as they are not unique with nested state-charts

Find all event names that might occur

Find all string literals

Extract and analyze source code


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