/******************************************************* * * DESCRIPTION: Modelica parser classes * * AUTHOR: Mariana C. D'Abreu * * EMAIL: mdabreu@dc.uba.ar * ********************************************************/ #ifndef MODPARSER_H #define MODPARSER_H #include "modsynnode.h" #include "circuit.h" //****************************************************** // // Class: ModelicaParser // // Description: // //****************************************************** class ModelicaParser { public: ModelicaParser() {}; virtual ~ModelicaParser() {}; ECircuit *parseAndExecute(); protected: ModelicaParser &executeAndModify( ModSyntaxNode *node, ECircuit &circuit ); }; //****************************************************** // // Class: ECompFactory // // Description: // //****************************************************** class ECompFactory { public: ECompFactory() {}; virtual ~ECompFactory() {}; static EComp *createInstance( const string &objId, const string &typeId, ParamsDict *initParams ); protected: static EComp *createSourceInstance( const string &objId, const string &typeId, ParamsDict *initParams ); static bool isVoltageSource( const string &typeId ); static bool getParam( ParamsDict *initParams, const string ¶mId, RealValue ¶mValue ); }; #endif