PandA-2024.02
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
ParserFlowStep Class Reference

#include <parser_flow_step.hpp>

Inheritance diagram for ParserFlowStep:
Inheritance graph
[legend]
Collaboration diagram for ParserFlowStep:
Collaboration graph
[legend]

Public Member Functions

 ParserFlowStep (const DesignFlowManagerConstRef design_flow_manager, const ParserFlowStep_Type parser_step_type, const std::string &file_name, const ParameterConstRef parameters)
 Constructor. More...
 
 ~ParserFlowStep () override
 Destructor. More...
 
std::string GetSignature () const override
 Return the signature of this step. More...
 
std::string GetName () const override
 Return the name of this design step. More...
 
bool HasToBeExecuted () const override
 Check if this step has actually to be executed. More...
 
void ComputeRelationships (DesignFlowStepSet &relationship, const DesignFlowStep::RelationshipType relationship_type) override
 Compute the relationships of a step with other steps. More...
 
DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory () const override
 Return the factory to create this type of steps. More...
 
- Public Member Functions inherited from DesignFlowStep
 DesignFlowStep (const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
virtual ~DesignFlowStep ()
 Destructor. More...
 
virtual DesignFlowStep_Status Exec ()=0
 Execute the step. More...
 
virtual void Initialize ()
 Initialize the step (i.e., like a constructor, but executed just before exec. More...
 
DesignFlowStep_Status GetStatus () const
 Return the status of this design step. More...
 
virtual void WriteDot (std::ostream &out) const
 Write the label for a dot graph. More...
 
bool IsComposed () const
 Returns if this step is composed. More...
 
int CGetDebugLevel () const
 Return the debug level of the step. More...
 
virtual void PrintInitialIR () const
 Dump the initial intermediate representation. More...
 
virtual void PrintFinalIR () const
 Dump the final intermediate representation. More...
 

Static Public Member Functions

static const std::string ComputeSignature (const ParserFlowStep_Type parser_step_type, const std::string &file_name)
 Compute the signature of a parser flow step. More...
 

Protected Member Functions

virtual std::string GetKindText () const final
 Return the name of the type of this frontend flow step. More...
 

Static Protected Member Functions

static const std::string EnumToKindText (const ParserFlowStep_Type parser_step_type)
 Given a parser step type, return the name of the type. More...
 

Protected Attributes

const ParserFlowStep_Type parser_step_type
 The type of the parse. More...
 
const std::string file_name
 The name of the file to be parsed. More...
 
- Protected Attributes inherited from DesignFlowStep
bool composed
 True if this step represents a composition of design flow steps (e.g., a flow); must be set by specialized constructors. More...
 
const Wrefcount< const DesignFlowManagerdesign_flow_manager
 The design flow manager. More...
 
const ParameterConstRef parameters
 Set of input parameters. More...
 
int debug_level
 The debug level. More...
 
const int output_level
 The output level. More...
 

Additional Inherited Members

- Public Types inherited from DesignFlowStep
enum  RelationshipType { DEPENDENCE_RELATIONSHIP, INVALIDATION_RELATIONSHIP, PRECEDENCE_RELATIONSHIP }
 The relationship type. More...
 

Detailed Description

Definition at line 57 of file parser_flow_step.hpp.

Constructor & Destructor Documentation

◆ ParserFlowStep()

ParserFlowStep::ParserFlowStep ( const DesignFlowManagerConstRef  _design_flow_manager,
const ParserFlowStep_Type  _parser_step_type,
const std::string &  _file_name,
const ParameterConstRef  _parameters 
)

Constructor.

Header include.

Parameters
design_flow_manageris the design flow manager
parser_step_typeis the type of the parser
file_nameis the name of the file
parametersis the set of input parameters

design_flows include

Definition at line 50 of file parser_flow_step.cpp.

References ~ParserFlowStep().

Here is the call graph for this function:

◆ ~ParserFlowStep()

ParserFlowStep::~ParserFlowStep ( )
overridedefault

Destructor.

Referenced by ParserFlowStep().

Here is the caller graph for this function:

Member Function Documentation

◆ CGetDesignFlowStepFactory()

DesignFlowStepFactoryConstRef ParserFlowStep::CGetDesignFlowStepFactory ( ) const
overridevirtual

Return the factory to create this type of steps.

Implements DesignFlowStep.

Definition at line 106 of file parser_flow_step.cpp.

References DesignFlowStep::design_flow_manager, and Wrefcount< T >::lock().

Here is the call graph for this function:

◆ ComputeRelationships()

void ParserFlowStep::ComputeRelationships ( DesignFlowStepSet relationship,
const DesignFlowStep::RelationshipType  relationship_type 
)
overridevirtual

Compute the relationships of a step with other steps.

Parameters
dependenciesis where relationships will be stored
relationship_typeis the type of relationship to be computed

Implements DesignFlowStep.

Definition at line 102 of file parser_flow_step.cpp.

◆ ComputeSignature()

const std::string ParserFlowStep::ComputeSignature ( const ParserFlowStep_Type  parser_step_type,
const std::string &  file_name 
)
static

Compute the signature of a parser flow step.

Parameters
parser_step_typeis the type of parser
file_nameis the file name
Returns
the corresponding signature

Definition at line 69 of file parser_flow_step.cpp.

References file_name, and STR.

Referenced by create_tree_manager::ComputeRelationships(), and GetSignature().

Here is the caller graph for this function:

◆ EnumToKindText()

const std::string ParserFlowStep::EnumToKindText ( const ParserFlowStep_Type  parser_step_type)
staticprotected

Given a parser step type, return the name of the type.

Parameters
typeis the type to be considered
Returns
the name of the type

Definition at line 80 of file parser_flow_step.cpp.

References THROW_UNREACHABLE.

Referenced by GetKindText().

Here is the caller graph for this function:

◆ GetKindText()

std::string ParserFlowStep::GetKindText ( ) const
finalprotectedvirtual

Return the name of the type of this frontend flow step.

Definition at line 75 of file parser_flow_step.cpp.

References EnumToKindText(), and parser_step_type.

Referenced by GetName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetName()

std::string ParserFlowStep::GetName ( ) const
overridevirtual

Return the name of this design step.

Returns
the name of the pass (for debug purpose)

Implements DesignFlowStep.

Definition at line 64 of file parser_flow_step.cpp.

References file_name, and GetKindText().

Here is the call graph for this function:

◆ GetSignature()

std::string ParserFlowStep::GetSignature ( ) const
overridevirtual

Return the signature of this step.

Implements DesignFlowStep.

Definition at line 59 of file parser_flow_step.cpp.

References ComputeSignature(), file_name, and parser_step_type.

Here is the call graph for this function:

◆ HasToBeExecuted()

bool ParserFlowStep::HasToBeExecuted ( ) const
overridevirtual

Check if this step has actually to be executed.

Returns
true if the step has to be executed

Implements DesignFlowStep.

Definition at line 97 of file parser_flow_step.cpp.

Field Documentation

◆ file_name

const std::string ParserFlowStep::file_name
protected

The name of the file to be parsed.

Definition at line 64 of file parser_flow_step.hpp.

Referenced by ComputeSignature(), AsnParser::Exec(), AadlParser::Exec(), GetName(), and GetSignature().

◆ parser_step_type

const ParserFlowStep_Type ParserFlowStep::parser_step_type
protected

The type of the parse.

Definition at line 61 of file parser_flow_step.hpp.

Referenced by GetKindText(), and GetSignature().


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

Generated on Mon Feb 12 2024 13:04:00 for PandA-2024.02 by doxygen 1.8.13