]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/parser.h
Add binary data format
[libs/datafile.git] / source / parser.h
index c8b7ecef4e72f1c168980ca3b130bdc7f5a4f713..5bec123ae74f7aeee3485dbbeeb226d0bad928b7 100644 (file)
@@ -1,18 +1,21 @@
-/*
-This file is part of libmspparser
-Copyright © 2006  Mikko Rasa, Mikkosoft Productions
+/* $Id$
+
+This file is part of libmspdatafile
+Copyright © 2006-2007  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
-#ifndef MSP_PARSER_PARSER_H_
-#define MSP_PARSER_PARSER_H_
+
+#ifndef MSP_DATAFILE_PARSER_H_
+#define MSP_DATAFILE_PARSER_H_
 
 #include <istream>
 #include <string>
 #include "input.h"
 
 namespace Msp {
-namespace Parser {
+namespace DataFile {
 
+class ParserMode;
 class Statement;
 struct Token;
 
@@ -20,23 +23,18 @@ class Parser
 {
 public:
        Parser(std::istream &, const std::string &);
+       ~Parser();
+
        Statement parse();
-       operator bool() const { return (bool)in; }
+       operator bool() const { return in; }
 private:
        Input       in;
        std::string src;
        bool        good;
-
-       Statement parse_(const Token *);
-       Token parse_token();
-       bool  is_delimiter(int);
-       bool  isodigit(int);
-       std::string unescape_string(const std::string &);
-       std::string get_location();
-       void  parse_error(int, int);
+       ParserMode  *mode;
 };
 
-} // namespace Parser
+} // namespace DataFile
 } // namespace Msp
 
 #endif