MicroModelicaCCompiler  4.5.3
MicroModelica::IR::MicroModelicaIR Class Reference

#include <mmo_ir.hpp>

Inheritance diagram for MicroModelica::IR::MicroModelicaIR:
Collaboration diagram for MicroModelica::IR::MicroModelicaIR:

Public Member Functions

 MicroModelicaIR (string name)
 
 ~MicroModelicaIR ()
 
StoredDefinition storedDefinition ()
 
list< Classclasses () const
 
void visit (AST_Class x)
 
void leave (AST_Class x)
 
void visit (AST_Composition x)
 
void leave (AST_Composition x)
 
void visit (AST_CompositionElement x)
 
void leave (AST_CompositionElement x)
 
void visit (AST_CompositionEqsAlgs x)
 
void leave (AST_CompositionEqsAlgs x)
 
void visit (AST_External_Function_Call)
 
void visit (AST_Element x)
 
void visit (AST_Modification x)
 
void leave (AST_Modification x)
 
void visit (AST_Comment x)
 
void visit (AST_Equation x)
 
void visit (AST_ForIndex x)
 
void visit (AST_Equation_Else x)
 
void visit (AST_Expression x)
 
void visit (AST_Argument x)
 
void visit (AST_Statement x)
 
void leave (AST_Statement x)
 
void visit (AST_Statement_Else x)
 
void visit (AST_StoredDefinition x)
 
void leave (AST_StoredDefinition x)
 
int apply (AST_Node x)
 
StoredDefinition definition ()
 
- Public Member Functions inherited from AST_Visitor
 ~AST_Visitor ()=default
 

Protected Member Functions

void visitForStms (AST_Statement_For for_stm)
 
AST_Statement transformEquation (AST_Equation eq)
 
AST_StatementList getStatementList (AST_EquationList eqs)
 
bool checkForEquation (AST_Equation_For for_eq)
 
bool checkWhenEquation (AST_Equation eq)
 
AST_Statement transformWhenEquation (AST_Equation_When when_eq)
 

Private Attributes

StoredDefinition _std
 
ClassPtr _class
 
ClassPtr _father_class
 
bool _initialCode
 
bool _classModification
 
bool _compositionElement
 
Function _function
 

Detailed Description

Definition at line 66 of file mmo_ir.hpp.

Constructor & Destructor Documentation

◆ MicroModelicaIR()

MicroModelica::IR::MicroModelicaIR::MicroModelicaIR ( string  name)

Definition at line 65 of file mmo_ir.cpp.

◆ ~MicroModelicaIR()

MicroModelica::IR::MicroModelicaIR::~MicroModelicaIR ( )

Definition at line 70 of file mmo_ir.cpp.

Member Function Documentation

◆ apply()

int MicroModelica::IR::MicroModelicaIR::apply ( AST_Node  x)
virtual

Implements AST_Visitor.

Definition at line 388 of file mmo_ir.cpp.

Referenced by main(), and parsePackages().

◆ checkForEquation()

bool MicroModelica::IR::MicroModelicaIR::checkForEquation ( AST_Equation_For  for_eq)
protected

Definition at line 196 of file mmo_ir.cpp.

References _class, current_element, MicroModelica::IR::Class::insert(), newAST_Equation_For(), and visit().

Referenced by transformWhenEquation().

Here is the call graph for this function:

◆ checkWhenEquation()

bool MicroModelica::IR::MicroModelicaIR::checkWhenEquation ( AST_Equation  eq)
protected

Definition at line 240 of file mmo_ir.cpp.

◆ classes()

list<Class> MicroModelica::IR::MicroModelicaIR::classes ( ) const

◆ definition()

StoredDefinition MicroModelica::IR::MicroModelicaIR::definition ( )
inline

Definition at line 113 of file mmo_ir.hpp.

Referenced by main(), and parsePackages().

◆ getStatementList()

AST_StatementList MicroModelica::IR::MicroModelicaIR::getStatementList ( AST_EquationList  eqs)
protected

Definition at line 183 of file mmo_ir.cpp.

◆ leave() [1/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_Class  x)
virtual

Implements AST_Visitor.

Definition at line 89 of file mmo_ir.cpp.

References _compositionElement.

◆ leave() [2/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_Composition  x)
virtual

Implements AST_Visitor.

Definition at line 105 of file mmo_ir.cpp.

◆ leave() [3/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_CompositionElement  x)
virtual

Implements AST_Visitor.

Definition at line 109 of file mmo_ir.cpp.

◆ leave() [4/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_CompositionEqsAlgs  x)
virtual

Implements AST_Visitor.

Definition at line 113 of file mmo_ir.cpp.

◆ leave() [5/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_Modification  x)
virtual

Implements AST_Visitor.

Definition at line 174 of file mmo_ir.cpp.

◆ leave() [6/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_Statement  x)
virtual

Implements AST_Visitor.

Definition at line 373 of file mmo_ir.cpp.

◆ leave() [7/7]

void MicroModelica::IR::MicroModelicaIR::leave ( AST_StoredDefinition  x)
virtual

Implements AST_Visitor.

Definition at line 386 of file mmo_ir.cpp.

◆ storedDefinition()

StoredDefinition MicroModelica::IR::MicroModelicaIR::storedDefinition ( )

◆ transformEquation()

AST_Statement MicroModelica::IR::MicroModelicaIR::transformEquation ( AST_Equation  eq)
protected

Definition at line 253 of file mmo_ir.cpp.

◆ transformWhenEquation()

AST_Statement MicroModelica::IR::MicroModelicaIR::transformWhenEquation ( AST_Equation_When  when_eq)
protected

Definition at line 225 of file mmo_ir.cpp.

References checkForEquation().

Here is the call graph for this function:

◆ visit() [1/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Argument  x)
virtual

Implements AST_Visitor.

Definition at line 328 of file mmo_ir.cpp.

References current_element, STFOR, STWHEN, and visitForStms().

Here is the call graph for this function:

◆ visit() [2/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Class  x)
virtual

Implements AST_Visitor.

Definition at line 72 of file mmo_ir.cpp.

References _class, _father_class, _function, _std, MicroModelica::IR::StoredDefinition::addFunction(), CP_FUNCTION, CP_IMPURE, CP_MODEL, and CP_PURE.

Referenced by checkForEquation().

Here is the call graph for this function:

◆ visit() [3/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Comment  x)
virtual

Implements AST_Visitor.

Definition at line 181 of file mmo_ir.cpp.

◆ visit() [4/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Composition  x)
virtual

Implements AST_Visitor.

Definition at line 103 of file mmo_ir.cpp.

◆ visit() [5/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_CompositionElement  x)
virtual

Implements AST_Visitor.

Definition at line 107 of file mmo_ir.cpp.

◆ visit() [6/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_CompositionEqsAlgs  x)
virtual

Implements AST_Visitor.

Definition at line 111 of file mmo_ir.cpp.

◆ visit() [7/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Element  x)
virtual

Implements AST_Visitor.

Definition at line 117 of file mmo_ir.cpp.

References current_element.

◆ visit() [8/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Equation  x)
virtual

Implements AST_Visitor.

Definition at line 292 of file mmo_ir.cpp.

◆ visit() [9/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Equation_Else  x)
virtual

Implements AST_Visitor.

Definition at line 324 of file mmo_ir.cpp.

◆ visit() [10/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Expression  x)
virtual

Implements AST_Visitor.

Definition at line 326 of file mmo_ir.cpp.

◆ visit() [11/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_External_Function_Call  x)
virtual

Implements AST_Visitor.

Definition at line 115 of file mmo_ir.cpp.

◆ visit() [12/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_ForIndex  x)
virtual

Implements AST_Visitor.

Definition at line 318 of file mmo_ir.cpp.

◆ visit() [13/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Modification  x)
virtual

Implements AST_Visitor.

Definition at line 164 of file mmo_ir.cpp.

◆ visit() [14/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Statement  x)
virtual

Implements AST_Visitor.

Definition at line 363 of file mmo_ir.cpp.

◆ visit() [15/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_Statement_Else  x)
virtual

Implements AST_Visitor.

Definition at line 375 of file mmo_ir.cpp.

◆ visit() [16/16]

void MicroModelica::IR::MicroModelicaIR::visit ( AST_StoredDefinition  x)
virtual

Implements AST_Visitor.

Definition at line 384 of file mmo_ir.cpp.

◆ visitForStms()

void MicroModelica::IR::MicroModelicaIR::visitForStms ( AST_Statement_For  for_stm)
protected

Definition at line 338 of file mmo_ir.cpp.

References current_element.

Referenced by visit().

Member Data Documentation

◆ _class

ClassPtr MicroModelica::IR::MicroModelicaIR::_class
private

Definition at line 125 of file mmo_ir.hpp.

Referenced by checkForEquation(), and visit().

◆ _classModification

bool MicroModelica::IR::MicroModelicaIR::_classModification
private

Definition at line 128 of file mmo_ir.hpp.

◆ _compositionElement

bool MicroModelica::IR::MicroModelicaIR::_compositionElement
private

Definition at line 129 of file mmo_ir.hpp.

Referenced by leave().

◆ _father_class

ClassPtr MicroModelica::IR::MicroModelicaIR::_father_class
private

Definition at line 126 of file mmo_ir.hpp.

Referenced by visit().

◆ _function

Function MicroModelica::IR::MicroModelicaIR::_function
private

Definition at line 130 of file mmo_ir.hpp.

Referenced by visit().

◆ _initialCode

bool MicroModelica::IR::MicroModelicaIR::_initialCode
private

Definition at line 127 of file mmo_ir.hpp.

◆ _std

StoredDefinition MicroModelica::IR::MicroModelicaIR::_std
private

Definition at line 124 of file mmo_ir.hpp.

Referenced by visit().


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