00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012
00013 #ifndef DEMLPARSER_H
00014 #define DEMLPARSER_H
00015
00016 #include <fstream.h>
00017 #include "whitespacescrub.h"
00018 #include "tagstream.h"
00019 #include "detree.h"
00020
00021 namespace deml
00022 {
00031 class DEMLparser
00032 {
00033
00034 public:
00036 DEMLparser(fstream*);
00041 tree<string>* parse(void);
00042
00043 private:
00048 bool isSelfContained(vector<string>);
00052 bool isClosingTag(vector<string>);
00060 void processAttributes(vector<string>);
00064 void processWhitespace(vector<string>);
00065
00066
00067 private:
00068 fstream* fin;
00069 tree<string>* detree;
00070 tree<string>::iterator iter;
00071 };
00072 };
00073
00074 #endif