#ifndef PCC_DRIVER_H #define PCC_DRIVER_H #include #include "BaseNode.hh" #include "Context.hh" #include "Location.hh" namespace pcc { class Driver { public: Driver(const char* name); ~Driver(); int StartLexer(std::string& filename); void StopLexer(); std::shared_ptr Parse(std::string& filename); void SetRoot(std::shared_ptr root); Context* GetContext(); Location location_; private: Context context_; std::shared_ptr root_; }; } // namespace pcc #endif