X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Fparser.h;h=5bec123ae74f7aeee3485dbbeeb226d0bad928b7;hp=9b847c6675d7d397904b190355767c7b807c525f;hb=27630d44298cb67e075c166f4421288cc8ca117e;hpb=9094bc6a657e5587e7e17827c35e3fd388fb91ec diff --git a/source/parser.h b/source/parser.h index 9b847c6..5bec123 100644 --- a/source/parser.h +++ b/source/parser.h @@ -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 #include #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 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