]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/parser.h
Add a flag to return also internal statements
[libs/datafile.git] / source / parser.h
index c830c3c8367f5c082788ad864f23eed84266439a..aeab71d2d3fbd4022e30a9c8b26b0ab3d14a31ed 100644 (file)
@@ -1,14 +1,6 @@
-/* $Id$
-
-This file is part of libmspdatafile
-Copyright © 2006-2007  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef MSP_DATAFILE_PARSER_H_
 #define MSP_DATAFILE_PARSER_H_
 
-#include <istream>
 #include <string>
 #include "input.h"
 
@@ -27,13 +19,14 @@ statements may be read.
 class Parser
 {
 private:
-       Input       in;
+       Input in;
+       std::string main_src;
        std::string src;
-       bool        good;
-       ParserMode  *mode;
+       bool good;
+       ParserMode *mode;
 
 public:
-       Parser(std::istream &i, const std::string &s);
+       Parser(IO::Base &i, const std::string &s);
        ~Parser();
 
        /**
@@ -42,7 +35,7 @@ public:
        marked as bad and no more statements may be read, even if the exception was
        caught.
        */
-       Statement parse();
+       Statement parse(bool raw = false);
 
        operator bool() const { return good && in; }
 };