Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef IECSYMBOLFACTORY_CLASS_H
- #define IECSYMBOLFACTORY_CLASS_H
- #include <iostream>
- #include "parserfactory.h"
- #include "Type.h"
- #include "IECType.h"
- #include "JavaType.h"
- #include "IECvariable.h"
- static std::string const IECTypeName="TYPE";
- static std::string const IECVarName="VAR";
- static std::string const IECTypefile = "IECTypes.sym";
- static std::string const IECVarfile = "IECVars.sym";
- class IECSymbolFactory: public parserfactory
- {
- public:
- //free IECSymbolFactory instance
- static void Delete();
- //create IECSymbolFactory instance
- static IECSymbolFactory& GetInstance();
- virtual Type* CreateType(std::string const& type);
- virtual variable* CreateVariable(std::string const& name,Type* type);
- virtual std::string const& GetTypefile() const;
- virtual std::string const& GetVarfile() const;
- // Check grammar for read type
- virtual std::string const CheckType(std::string const& typeline);
- virtual TVariable const CheckVar(std::string const & typeline);
- private:
- //hide other CTors and assign operator
- IECSymbolFactory();
- virtual ~IECSymbolFactory(){};
- IECSymbolFactory(const IECSymbolFactory & cIECSymbolFactory){};
- IECSymbolFactory& operator= (IECSymbolFactory const & iecsymbolfactory){};
- //pointer to IECSymbolFactory instance
- static IECSymbolFactory *mInstance;
- std::string mTypefile;
- std::string mVarfile;
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment