MicroModelicaCCompiler
4.5.3
|
Go to the documentation of this file.
22 #include <boost/variant/variant.hpp>
29 #include <deps/model_dependencies.hpp>
45 virtual ~Class() =
default;
46 virtual string name()
const = 0;
47 virtual void insert(
string n) = 0;
48 virtual void insert(AST_Equation eq) = 0;
49 virtual void insert(AST_Statement stm,
bool initial) = 0;
50 virtual void insert(AST_Statement stm) = 0;
51 virtual void insert(AST_External_Function_Call efc) = 0;
54 virtual void insert(AST_Argument_Modification x) = 0;
55 virtual Util::VarSymbolTable
symbols()
const = 0;
59 class Function :
public Class {
65 void insert(AST_External_Function_Call efc);
68 void insert(AST_Equation eq);
69 void insert(AST_Statement stm,
bool initial);
70 void insert(AST_Statement stm);
72 void insert(AST_Argument_Modification x);
73 Util::VarSymbolTable
symbols()
const;
106 void insert(AST_Equation eq);
107 void insert(AST_Statement stm,
bool initial);
108 void insert(AST_Statement stm);
110 void insert(AST_External_Function_Call efc);
113 void insert(AST_Argument_Modification x);
131 inline string name()
const {
return _name; };
135 void insert(AST_Equation eq);
136 void insert(AST_Statement stm,
bool initial);
137 void insert(AST_Statement stm);
139 void insert(AST_External_Function_Call efc);
140 void insert(AST_Argument_Modification x);
225 typedef boost::variant<Function, Package, Model>
ClassType;
Util::ImportTable imports() const
virtual ~Package()=default
CompiledPackageTable _packages
FunctionTable _called_functions
EquationTable algebraics()
StatementTable statements() const
ModelTable< std::string, std::string > ImportTable
StatementTable _initial_code
Util::SymbolTable libraryDirectories() const
CompiledPackageTable _packages
Deps::ModelDependencies dependencies()
void reduceEquation(AST_Equation_Equality eq, list< AST_Equation > &new_eqs)
Deps::ModelDependencies _dependencies
void addEvent(AST_Statement stm, Option< Range > range)
std::list< AST_Statement > _ast_statements
Util::ImportTable _imports
CompiledPackageTable packages() const
Util::VarSymbolTable _local_symbols
Util::VarSymbolTable symbols() const
Util::VarSymbolTable symbols() const
virtual void insert(string n)=0
void addEquation(AST_Equation eq, Option< Range > range)
void setFunctions(FunctionTable &fs)
Util::ImportTable _imports
void addFunction(Util::SymbolTable symbols, FunctionTable &fs)
unsigned int _algebraic_nbr
Util::SymbolTable _library_directories
CompiledPackageTable _packages
EquationDefOrder getEquationDefOrder(Equation eq)
ModelTable< std::string, std::string > SymbolTable
Util::VariableList arguments() const
void computeDependencies()
void reduceEvent(AST_Statement_When ev)
Util::VarSymbolTable symbols() const
FunctionAnnotation annotations() const
Util::VariableList _arguments
EquationTable BDFDerivatives()
FunctionAnnotation _annotations
void setVariableOffset(Util::Variable var, unsigned int &offset, Util::Variable::RealType type, bool set_variable_count=true)
virtual Util::ImportTable imports() const =0
Util::SymbolTable includeDirectories() const
EquationTable derivatives()
virtual Util::VarSymbolTable symbols() const =0
void addInput(Equation eq)
Util::SymbolTable linkLibraries() const
Util::SymbolTable _link_libraries
ExternalFunctionTable _external_functions
EquationTable _algebraics
void insert(AST_External_Function_Call efc)
FunctionTable calledFunctions() const
EquationTable _derivatives
Util::ImportTable _imports
int computeEventOffsetShift(Option< Range > range)
FunctionTable definitions()
StatementTable initialCode()
unsigned int _external_function_id
Util::SymbolTable _include_directories
unsigned int outputNbr() const
ModelAnnotation _annotations
EquationTable _ordered_derivatives
boost::variant< Function, Package, Model > ClassType
Util::ImportTable imports() const
std::list< Variable > VariableList
unsigned int _statement_id
ExternalFunctionTable externalFunctions() const
virtual ~Function()=default
void setRealVariables(AST_Equation eq)
ModelTable< std::string, Function > FunctionTable
void setCalledFunctions(FunctionTable &fs)
virtual string name() const =0
ModelAnnotation annotations() const
unsigned int _discrete_nbr
Util::ImportTable imports() const
void addVariable(int id, Option< Range > range, EQUATION::Type type, unsigned int &offset)
Adds a new variable for events and output equations that doesn't have associated variables in the mod...
std::list< AST_Equation > _ast_equations
StatementTable _statements