Inferno  0.2
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
CPPTree::AccessSpecProperty for any access spec
Action
Steps::AddGotoBeforeLabel
Steps::AddInferredYield
Steps::AddLinkAddress
Steps::AddStateEnumVarInsert state variable as an enum
Steps::AddStateLabelVar
Steps::AddYieldFlag
Agent
CPPTree::AlignOfAlignof() a type
AnyNode< PRE_RESTRICTION >
AnyNodeBase
APFloat
Steps::ApplyBottomPolicy
Steps::ApplyCombGotoPolicy
Steps::ApplyLabelPolicyGroup all labels at the top by placing state bodies under if
Steps::ApplyTopPolicy
Steps::ApplyYieldGotoPolicy
APSInt
CPPTree::ArrayThis is the type of an array that contains the specified number of elements of the specified type
CPPTree::AssignmentOperatorAn operator with two operands, that writes its result back to the first operand
CPPTree::AutomaticA local variable with automatic allocation
AutoPush< T >
Steps::AutosToModule
CPPTree::BaseNode for a base class within a class declaration, specifies another class from which to inherit
CPPTree::BinopAn operator with two operands
CPPTree::BoolIntermediate property node that represents either boolean value
CPPTree::BooleanBoolean type
CPPTree::BreakBreak (from innermost Breakable)
CPPTree::BreakableDesignate a statement that may be broken out of
Steps::BreakToGoto
BuildContainerSize
BuildIdentifierBase
BuildInstanceIdentifier
BuildLabelIdentifier
BuildTypeIdentifier
CPPTree::CallA function call to specified function passing in specified arguments
CPPTree::CallableAnything that can be called
CPPTree::CallableParamsAnything that can be called and has parameters
CPPTree::CallableParamsReturnAnything that can be called and has parameters and return value
CPPTree::CaseCase label
CPPTree::CastNode for a c-style cast
HitCount::Category
SCTree::CeaseCease function
Conjecture::Choice
CPPTree::ClassClass as per InheritanceRecord
Steps::CleanupCompoundExpressionFind compound statements inside compund statements and flatten
Steps::CleanupCompoundMultiFind compound statements inside compund statements and flatten
Steps::CleanupCompoundSingleFind compound blocks with only a single statement, and flatten
Steps::CleanUpDeadCode
Steps::CleanupDuplicateLabels
Steps::CleanupIneffectualGotoFind a goto to a lable just before the label, and remove the goto
Steps::CleanupIneffectualLabelsFind a goto to a lable just before the label, and remove the goto
Steps::CleanupNestedIfSimplify if(x) if(y) z using &&
Steps::CleanupNopGet rid of Nops
Steps::CleanupUnusedLabels
Steps::CleanupUnusedVariables
SCTree::ClockedThread
Cloner
Collection< VALUE_TYPE >
CombableBreak
CombableFor
CPPTree::CommutativeBinopAn operator with two interchangable operands
CPPTree::CommutativeOperatorAn operator with operands whose order does not matter
Steps::CompactGotos
CompareReplace
CPPTree::CompoundDeclarations and Statements inside {} or begin/end
CPPTree::CompoundExpressionGCC extension for compound statements that return a value
Conjecture
CPPTree::ConstProperty indicating the Instance is constant
CPPTree::ConstancyProperty that indicates whether some Instance is constant
CPPTree::ConstructorA C++ constructor. The init list is just zero or more calls to constructors in the body
OOStd::ContainerCommon< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >
ContainerFromIterator< Iterator, ConsParam1, ConsParam2, ConsParam3 >
OOStd::ContainerInterface< SUB_BASE, VALUE_INTERFACE >
CPPTree::ContinueContinue (to innermost Loop)
OOStd::CountingIterator< SUB_BASE, VALUE_INTERFACE >
CouplingKeys
CouplingSlaveCoupling slave can read the master's CouplingKeys structure
CPPTree::DeclarationA declaration specifies the creation of a UserType or an Instance
Steps::DeclsToModule
CPPTree::DefaultDefault label in a switch statement
CPPTree::DeleteNode for C++ delete operator
CPPTree::DeleteArrayProperty indicating delete[] was used
CPPTree::DeleteArraynessProperty indicating whether a delete should delete an array
CPPTree::DeleteNonArrayProperty indicating delete, no []
SCTree::DeltaCount
deque
Tracer::Descend
CPPTree::DestructorA C++ destructor
Steps::DetectAllSCTypes
Steps::DetectCombableBreak
Steps::DetectCombableFor
DetectSCBase< SCCLASS >Spot SystemC base class by its name and replace with inferno node
DetectSCDelta< SCFUNC >
DetectSCDynamic< SCFUNC >
DetectSCNotifyDeltaSpot SystemC notify(SC_ZERO_TIME) method by its name and replace with inferno node
DetectSCNotifyImmediateSpot SystemC notify() method by its name and replace with inferno node
DetectSCProcess
DetectSCStatic< SCFUNC >
DetectSCType< SCNODE >Spot SystemC type by its name and replace with inferno node
Steps::DetectSuperLoop
DetectTerminationFunction< SCFUNC >Spot syscall exit() or equivalent function by its name and replace with inferno node
Steps::DetectUncombableSwitch
CPPTree::DoDo loop (first iteration always runs)
Steps::DoToIfGoto
Itemiser::Element
Steps::EnsureBootstrap
Steps::EnsureResetYield
Steps::EnsureSuperLoop
CPPTree::EnumAn Enum, as per record
Erase< PRE_RESTRICTION >
EraseBase
SCTree::Event
SCTree::EventProcess
SCTree::ExitThe exit() system call; cease() below is preferred
Steps::ExplicitiseReturn
Steps::ExplicitiseReturns
CPPTree::ExpressionAn expression that computes a result value
Steps::ExtractCallParams
CPPTree::FalseProperty node for boolean value false
CPPTree::FieldA non-static member Instance (function or variable)
Filter
Steps::FixFallthrough
FlattenNode_iteratorIterator for FlattenNode
CPPTree::FloatIntermediate property node that represents a floating point number of any value
CPPTree::FloatingType of a floating point number
CPPTree::FloatSemanticsProperty for the details of any floating point behaviour
Flushable
CPPTree::ForC-style for loop
Steps::ForToWhile
CPPTree::FunctionA function like in C, Pascal; params and a single return value of the specified type
Steps::GenerateImplicitCasts
Steps::GenerateStacks
GetDeclaration
CPPTree::GlobalProperty indicating ::new/::delete was used
CPPTree::GlobalityProperty indicating whether a New/Delete is global
CPPTree::GotoA goto statement
Steps::GotoAfterWaitMake sure every SystemC wait is followed by a goto
Graph
GreenGrass< PRE_RESTRICTION >
GreenGrassBase
HitCount
CPPTree::IdentifierProperty node for any identifier
IdentifierByNameBase
IdentifierTracker
CPPTree::IfIf statement
Steps::IfToIfGoto
CPPTree::IndirectionIntermediate for indirect access to some type as specified
Steps::InferBreak
CPPTree::InheritanceRecordA record that can inherit from other records and be inherited from
CPPTree::InitialiserVariable initialiser or function body
InPlaceTransformation
Insert< PRE_RESTRICTION >
InsertBase
Steps::InsertInferredYield
Steps::InsertSwitch
CPPTree::InstanceDeclaration of a variable, object or function
CPPTree::InstanceIdentifierIdentifier for any Instance (variable or object or function)
InstanceIdentifierByName
CPPTree::IntegerIntermediate property node that represents an integer of any value and signedness
Integer
CPPTree::IntegralType represents an integral (singed or unsigned) type
SCTree::Interface
IsLabelReached
Itemiser
iterator
OOStd::SimpleAssociativeContainer< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >::iterator
OOStd::Sequence< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >::iterator
OOStd::ContainerInterface< SUB_BASE, VALUE_INTERFACE >::iterator
OOStd::ContainerCommon< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >::iterator
iterator
iterator
iterator
OOStd::ContainerInterface< SUB_BASE, VALUE_INTERFACE >::iterator_interface
iterator_interface
Key
CPPTree::LabelDeclaration of a label for switch, goto etc
CPPTree::Labeley
CPPTree::LabelIdentifierIdentifier for a label that can be any label
LabelIdentifier
LabelIdentifierByName
Steps::LabelTypeToEnumChange all types from Labeley to the state enum, and move lmap lookups from && to goto
Steps::LabelVarsToEnumVariable-by-variable, change type from Labeley to the state enum, and move lmap lookups though the variable
CPPTree::LiteralA property that can also be used as a literal in a program
CPPTree::LocalVariableAny variable local to a Compound-statement. Cannot be a function
Steps::LogicalAndToIf
Steps::LogicalOrToIf
CPPTree::LookupNode for accessing an element in a record as in base.member
CPPTree::LoopAny loop
Steps::LoopRotation
Magic
Steps::MakeAllBreakUncombable
Steps::MakeAllForUncombable
Steps::MakeFallThroughMachine
MakePatternPtr< NODE_TYPE >
CPPTree::MakeRecordInitialiser for a record
MakeTreePtr< VALUE_TYPE >
MakeTreePtr< Node >
map
Map< KEY, DATA >
CPPTree::MapOperandAssociates an Expression with an InstanceIdentifier
CPPTree::MapOperatorAn operator with operands whose order is established by mapping
MatchAll< PRE_RESTRICTION >
MatchAllBase
MatchAny< PRE_RESTRICTION >
MatchAnyBase
Matcher
MatchOdd< PRE_RESTRICTION >
MatchOddBase
Steps::MergeFunctions
SCTree::Method
SCTree::Module
Steps::MoveInitIntoSuperLoop
Steps::MoveInstanceDeclarations
Steps::MultiplexorToIf
multiset
MyNode
NestedArray
NestedBase
NestedSubscriptLookup
CPPTree::NewNode for the C++ new operator
SCTree::NextTrigger
SCTree::NextTriggerDelta
SCTree::NextTriggerDynamic
SCTree::NextTriggerStatic
Node
NODE_TYPE
NodeBases
CPPTree::NonCommutativeOperatorAn operator with operands whose order is defined
CPPTree::NonConstProperty indicating the Instance is not constant
CPPTree::NonGlobalProperty indicating just new/delete, no :: was used
CPPTree::NonVirtualProperty for a non-virtual member funciton
CPPTree::NopDo nothing; these get optimised out where possible
NormalAgent
NormalAgentWrapper< NODE_TYPE >
Steps::NormaliseConditionalGotos
SCTree::Notify
SCTree::NotifyDelta
SCTree::NotifyImmediate
SCTree::NotifyTimed
NotMatch< PRE_RESTRICTION >
NotMatchBase
CPPTree::NumberIntermediate property node that represents a number of any value
CPPTree::NumericIntermediate for any type that represents a number that you can eg add and subtract
CPPTree::OperatorAn operator
OutOfPlaceTransformation
Overlay< PRE_RESTRICTION >
OverlayBase
Steps::ParamsViaTemps
ParentWalk_iteratorIterator for ParentWalk
Parse
Steps::PlaceLabelsInArrayPut all the labels in an array indexable by an enum
CPPTree::PointerA C/C++ pointer
PointerIs< PRE_RESTRICTION >
PointerIsBase
OOStd::PointIterator< SUB_BASE, VALUE_INTERFACE >
CPPTree::PrivateProperty for private access
CPPTree::ProcedureA procedure like in pascal etc, params but no return value
SCTree::Process
CPPTree::ProgramThe top level of a program
CPPTree::PropertyProperty is the base class for property nodes
CPPTree::ProtectedProperty for protected access
CPPTree::PublicProperty for public access
CPPTree::RangeCaseCase label, supporting range extension in case useful for optimisation
RCHold< NODE, RAW >
ReadArgs
CPPTree::RecordIntermediate for declaration of a struct, class, union or enum
Steps::ReduceVoidCompoundExpression
CPPTree::ReferenceA C++ reference
RemoveEmptyModuleConstructors
RemoveVoidInstancesRemove top-level instances that are of type void
Render
CPPTree::ReturnThe return statement of a function
Steps::ReturnViaTemp
SCTree::SCConstruct
SCTree::SCNamedConstruct
SCTree::SCNamedFunctionAnything derived from this renders like a function
SCTree::SCNamedIdentifierAnything derived from this renders like an identifier
SCTree::SCNamedRecordAnything derived from this renders like a record
CPPTree::ScopeA scope is any space in a program where declarations may appear. Declarations
SearchContainerBase
SearchReplace
OOStd::Sequence< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >
Sequence< VALUE_TYPE >
OOStd::SequenceInterface< SUB_BASE, VALUE_INTERFACE >
CPPTree::SequentialScopeA sequence of statements in a scope that shall execute in sequence
set
Set< KEY >
shared_ptr
OOStd::SharedPtr< SUB_BASE, VALUE_INTERFACE, VALUE_TYPE >
OOStd::SharedPtrInterface< SUB_BASE, VALUE_INTERFACE >
Steps::ShareGotos
CPPTree::SignedType of a signed integer number (2's complement)
OOStd::SimpleAssociativeContainer< SUB_BASE, VALUE_INTERFACE, CONTAINER_IMPL >
OOStd::SimpleAssociativeContainerInterface< SUB_BASE, VALUE_INTERFACE >
SimpleCompare
CPPTree::SizeOfSizeof() a type
Slave< ALGO, PRE_RESTRICTION >
SlaveBase
SlaveCompareReplace< PRE_RESTRICTION >
SlaveIntermediate< ALGO >
SlaveSearchReplace< PRE_RESTRICTION >
Steps::SlaveTest
SoftReplacePattern
SoftSearchPattern
SoftSearchPatternSpecialKey
Special< PRE_RESTRICTION >
SpecialBase
CPPTree::SpecificFloatProperty node for a specific floating point value
CPPTree::SpecificFloatSemanticsProperty for the details of a specific floating point behaviour
CPPTree::SpecificIdentifierProperty for a specific identifier, linked to by a particular Declaration
CPPTree::SpecificInstanceIdentifierIdentifier for a specific Instance, linked to by a particular Declaration
CPPTree::SpecificIntegerProperty node for a specific integer value
CPPTree::SpecificLabelIdentifierIdentifier for a specific label that has been declared somewhere
CPPTree::SpecificStringA string with a specific value
CPPTree::SpecificTypeIdentifierIdentifier for a specific user defined type, linked to by a particular Declaration
Steps::SplitInstanceDeclarations
Steps::SplitInstanceDeclarations2
Star< PRE_RESTRICTION >
StarBase
Walk_iterator::StateEntry
StateLabel
CPPTree::StatementRepresents a statement as found inside a function body
CPPTree::StaticA variable or function with one instance across the entire program
CPPTree::StringIntermediate property node that represents a string of any value
CPPTree::StructStruct as per InheritanceRecord
Stuff< PRE_RESTRICTION >
StuffBase
CPPTree::SubroutineSubroutine like in Basic, no params or return
Steps::SwapSubscriptMultiplexFind c ? a[i] : a[j] and replace with a[ c ? i : j ]
CPPTree::SwitchSwitch statement
Steps::SwitchCleanUp
CPPTree::SwitchTargetIntermediate for labels in a switch statement
Steps::SwitchToIfGoto
CPPTree::TemporaryA local temp variable not preserved across function calls
TempReturnAddress
Steps::TempsAndStaticsToModule
SCTree::TerminationFunctionTermination functions
TerminusBase
TerminusKey
CPPTree::TernopAn operator with three operands
SCTree::Thread
Steps::ThreadToMethod
Traceable
Tracer
Transformation
TransformationVector
TransformOf< PRE_RESTRICTION >
TransformOfBase
TreePtr< VALUE_TYPE >
CPPTree::TrueProperty node for boolean value true
CPPTree::TypeAny abstract data type
TypeDb
CPPTree::TypedefRepresents a typedef
CPPTree::TypeIdentifierIdentifier for any user defined type
TypeIdentifierByName
TypeInfo
TypeOf
CPPTree::TypeOperatorOperator that operates on data types as parameters
CPPTree::UncombableIndicates that the node cannot be combinationalised
UncombableBreak
UncombableFor
UncombableSwitch
CPPTree::UninitialisedUninitialised Instance
CPPTree::UnionA union, as per Record
UniqueFilterFilter that only matches each Node one time, then not again until Reset() is called
UniqueWalk_iteratorIterator for UniqueWalk
UniqueWalkNoBody_iterator
UniqueWalkNoBodyOrIndirection_iterator
UniqueWalkNoSlavePattern_iterator
UniquifyIdentifiers
CPPTree::UnopAn operator with a single operand
CPPTree::UnsignedType of an unsigned integer number
CPPTree::UserTypeIntermediate declaration of a user defined type of any kind (struct, typedef etc)
Steps::UseTempForReturnValue
Validate
vector
CPPTree::VirtualProperty for a virtual member funciton
CPPTree::VirtualityProperty for a member function that may or may not be virtual
VisibleIdentifiers
CPPTree::VoidThe pseudo-type void, disallowed in some circumstances as per C
SCTree::Wait
SCTree::WaitDelta
SCTree::WaitDynamic
SCTree::WaitStatic
Walk_iteratorIterator for Walk
CPPTree::WhileWhile loop
Steps::WhileToDo