-/*
-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;
{
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