]> git.saurik.com Git - cycript.git/blobdiff - Parser.hpp
Finished implementing automatic semi-colon rules, but failed hard at fixing multi...
[cycript.git] / Parser.hpp
index 7469b943bfacd71feb8e3e414a5cc7c5ffa855a5..6de5888facad57eae747d9e9569a9fdccc0dfdae 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <cstdlib>
 #include <string>
+#include <vector>
 
 #include "Pooling.hpp"
 
@@ -34,10 +35,9 @@ struct CYPart {
 };
 
 struct CYSource :
-    CYNext<CYSource>,
-    CYPart
+    CYNext<CYSource>
 {
-    virtual void Part(std::ostream &out) const;
+    virtual void Show(std::ostream &out) const;
     virtual void Output(std::ostream &out) const = 0;
     virtual void Output(std::ostream &out, bool block) const;
 };
@@ -102,8 +102,10 @@ struct CYStatement :
 class CYDriver {
   public:
     CYPool pool_;
+    bool newline_;
+    bool restricted_;
     std::string filename_;
-    CYSource *source_;
+    std::vector<CYSource *> source_;
     void *scanner_;
 
   private:
@@ -113,6 +115,8 @@ class CYDriver {
   public:
     CYDriver(const std::string &filename);
     ~CYDriver();
+
+    void Clear();
 };
 
 struct CYForInitialiser :