]> git.saurik.com Git - cycript.git/blobdiff - Parser.hpp
Flex drove me crazy with "you just got jammed" :/.
[cycript.git] / Parser.hpp
index 7602a6394eacf31a92ae4a2abf8c838928cde937..02b08ebee8b448a9b1c78ce2f19b7910ab6837be 100644 (file)
@@ -860,9 +860,11 @@ struct CYRegEx :
     CYTrivial
 {
     const char *value_;
+    size_t size_;
 
-    CYRegEx(const char *value) :
-        value_(value)
+    CYRegEx(const char *value, size_t size) :
+        value_(value),
+        size_(size)
     {
     }
 
@@ -1647,6 +1649,38 @@ struct CYReturn :
     virtual void Output(CYOutput &out, CYFlags flags) const;
 };
 
+struct CYYieldGenerator :
+    CYExpression
+{
+    CYExpression *value_;
+
+    CYYieldGenerator(CYExpression *value) :
+        value_(value)
+    {
+    }
+
+    CYPrecedence(0)
+
+    virtual CYExpression *Replace(CYContext &context);
+    virtual void Output(CYOutput &out, CYFlags flags) const;
+};
+
+struct CYYieldValue :
+    CYExpression
+{
+    CYExpression *value_;
+
+    CYYieldValue(CYExpression *value) :
+        value_(value)
+    {
+    }
+
+    CYPrecedence(0)
+
+    virtual CYExpression *Replace(CYContext &context);
+    virtual void Output(CYOutput &out, CYFlags flags) const;
+};
+
 struct CYEmpty :
     CYStatement
 {