]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/parser.cpp
Add a special keyword to terminate parsing
[libs/datafile.git] / source / parser.cpp
index 443c3c8c3d72a4d0951e076f260b6262d511c25f..fce12e245b3f6ab011e4ca45851b0086847a4e5f 100644 (file)
@@ -43,6 +43,8 @@ Statement Parser::parse()
                                delete mode;
                                mode = new TextParser(in, src);
                        }
+                       else if(st.keyword=="__z")
+                               in.set_decompress();
                        else if(st.keyword=="__src")
                        {
                                string s = st.args[0].get<string>();
@@ -51,6 +53,11 @@ Statement Parser::parse()
                                else
                                        src = format("%s[%s]", main_src, s);
                        }
+                       else if(st.keyword=="__end")
+                       {
+                               good = false;
+                               return Statement();
+                       }
                        else
                                return st;
                }