/* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2014 Jay Freeman (saurik)
+ * Copyright (C) 2009-2015 Jay Freeman (saurik)
*/
/* GNU Affero General Public License, Version 3 {{{ */
CYDriver::CYDriver(std::istream &data, const std::string &filename) :
state_(CYClear),
data_(data),
+ debug_(0),
strict_(false),
commented_(false),
filename_(filename),
ScannerDestroy();
}
-void CYDriver::Warning(const cy::location &location, const char *message) {
+bool CYDriver::Parse(CYPool &pool) {
+ CYLocal<CYPool> local(&pool);
+ cy::parser parser(*this);
+#ifdef YYDEBUG
+ parser.set_debug_level(debug_);
+#endif
+ return parser.parse() != 0;
+}
+
+void CYDriver::Replace(CYPool &pool, CYOptions &options) {
+ CYLocal<CYPool> local(&pool);
+ CYContext context(options);
+ program_->Replace(context);
+}
+
+void CYDriver::Warning(const cy::parser::location_type &location, const char *message) {
if (!strict_)
return;