00001 #ifndef PARSER_H
00002 #define PARSER_H
00003 #include <map>
00004 #include <vector>
00005 #include <iostream>
00006 #include <fstream>
00007 #include <string>
00008 #include <sstream>
00009
00010 #include "List.h"
00011
00012 class Parser
00013 {
00014 public:
00015 static char comment;
00016 static char open;
00017 static char close;
00018
00019 static std::string getNext(std::istream& in);
00020 static std::string readString(std::istream& in);
00021
00022 static List *parse(std::string filename);
00023 static List *parse(std::istream& in);
00024 static List *parseOpen(std::istream& in);
00025
00026 static std::string Parser::wordWrap(std::string &strText, int chars);
00027
00028 private:
00029 static void consumeWhitespaceAndComments(std::istream& in);
00030 static int _lineNumber;
00031 };
00032
00033 #endif