X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/b23692f3038296c94d25c84c55ed4c1bb49619cf..d6848e7305f443c0d55fc83ad93beccdb8a572ea:/Driver.hpp diff --git a/Driver.hpp b/Driver.hpp index f0d2732..9625ed8 100644 --- a/Driver.hpp +++ b/Driver.hpp @@ -39,7 +39,6 @@ struct CYScript; struct CYWord; enum CYMark { - CYMarkIgnore, CYMarkScript, CYMarkModule, }; @@ -60,17 +59,12 @@ class _visible CYDriver { std::stack class_; - enum { - NewLineNone, - NewLineLast, - NewLineHere, - } newline_; - + CYMark mark_; + int hold_; + bool newline_; bool last_; - bool next_; - std::istream &data_; - CYMark mark_; + std::streambuf &data_; int debug_; bool strict_; @@ -118,7 +112,8 @@ class _visible CYDriver { AutoPrimary, AutoDirect, AutoIndirect, - AutoMessage + AutoMessage, + AutoResolve, } mode_; private: @@ -126,10 +121,10 @@ class _visible CYDriver { void ScannerDestroy(); public: - CYDriver(CYPool &pool, std::istream &data, const std::string &filename = ""); + CYDriver(CYPool &pool, std::streambuf &data, const std::string &filename = ""); ~CYDriver(); - bool Parse(CYMark mark = CYMarkScript); + bool Parse(CYMark mark = CYMarkModule); void Replace(CYOptions &options); void SetRegEx(bool equal);