X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/675ff7336fb0e6f1c0142ce5e796205236d8ffff..217f652fdefefc86d562d49f9815001653f99075:/Driver.hpp diff --git a/Driver.hpp b/Driver.hpp index bbce9fd..b4f1c1b 100644 --- a/Driver.hpp +++ b/Driver.hpp @@ -1,5 +1,5 @@ -/* Cycript - Optimizing JavaScript Compiler/Runtime - * Copyright (C) 2009-2015 Jay Freeman (saurik) +/* Cycript - The Truly Universal Scripting Language + * Copyright (C) 2009-2016 Jay Freeman (saurik) */ /* GNU Affero General Public License, Version 3 {{{ */ @@ -41,6 +41,7 @@ struct CYWord; enum CYMark { CYMarkScript, CYMarkModule, + CYMarkExpression, }; class _visible CYDriver { @@ -64,7 +65,7 @@ class _visible CYDriver { bool newline_; bool last_; - std::istream &data_; + std::streambuf &data_; int debug_; bool strict_; @@ -112,7 +113,10 @@ class _visible CYDriver { AutoPrimary, AutoDirect, AutoIndirect, - AutoMessage + AutoMessage, + AutoResolve, + AutoStruct, + AutoEnum, } mode_; private: @@ -120,10 +124,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);