1 #include <msp/strings/format.h>
2 #include "binaryparser.h"
5 #include "textparser.h"
12 Parser::Parser(IO::Base &i, const string &s):
17 mode(new TextParser(in, src))
25 Statement Parser::parse()
28 throw Exception("Parser is not good");
34 Statement st = mode->parse();
35 if(st.keyword=="__bin")
38 mode = new BinaryParser(in, src);
40 else if(st.keyword=="__text")
43 mode = new TextParser(in, src);
45 else if(st.keyword=="__src")
47 string s = st.args[0].get<string>();
51 src = format("%s[%s]", main_src, s);
57 catch(const Exception &e)
64 } // namespace DataFile