]> git.saurik.com Git - cycript.git/blobdiff - Library.cpp
Avoid crashing when the user types a mismatched }.
[cycript.git] / Library.cpp
index 258ef61d004eb09e5de99307060f00793222a5be..f5eb1c36643e41afa19d059f450c9b3acf6507a5 100644 (file)
 **/
 /* }}} */
 
-#include <dlfcn.h>
-
 #include "cycript.hpp"
 
-#include "Pooling.hpp"
-
-#include <sys/mman.h>
-
 #include <iostream>
 #include <set>
 #include <map>
 #include <sstream>
 #include <cmath>
 
-#include "Error.hpp"
-#include "Execute.hpp"
-#include "Parser.hpp"
-#include "String.hpp"
+#include <dlfcn.h>
 
-#include "Cycript.tab.hh"
-#include "Driver.hpp"
+#include <sys/mman.h>
 
 #include "ConvertUTF.h"
+#include "Driver.hpp"
+#include "Error.hpp"
+#include "Execute.hpp"
+#include "Pooling.hpp"
+#include "String.hpp"
+#include "Syntax.hpp"
 
 template <>
 ::pthread_key_t CYLocal<CYPool>::key_ = Key_();
@@ -220,18 +216,16 @@ double CYCastDouble(const char *value) {
 CYUTF8String CYPoolCode(CYPool &pool, std::istream &stream) {
     CYLocalPool local;
     CYDriver driver(local, stream);
-
-    cy::parser parser(driver);
-    _assert(parser.parse() == 0);
+    _assert(!driver.Parse());
     _assert(driver.errors_.empty());
 
     CYOptions options;
     CYContext context(options);
-    driver.program_->Replace(context);
+    driver.script_->Replace(context);
 
     std::stringbuf str;
     CYOutput out(str, options);
-    out << *driver.program_;
+    out << *driver.script_;
     return $pool.strdup(str.str().c_str());
 }