]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/binaryparser.cpp
Remove unnecessary header
[libs/datafile.git] / source / binaryparser.cpp
index e2ced82098e7b1472944dd4a2b626bef32211459..a8b350df0e1b1ee22f5f0a86596a2b76f62936ce 100644 (file)
@@ -1,10 +1,10 @@
 #include <limits>
-#include <sys/param.h>
 #include <msp/core/maputils.h>
 #include <msp/strings/format.h>
 #include "argumentstore.h"
 #include "binaryparser.h"
 #include "binfloat.h"
+#include "except.h"
 #include "input.h"
 #include "loaderaction.h"
 
@@ -13,27 +13,6 @@ using namespace std;
 namespace Msp {
 namespace DataFile {
 
-class bad_definition: public runtime_error
-{
-public:
-       bad_definition(const std::string &w):
-               runtime_error(w)
-       { }
-
-       virtual ~bad_definition() throw() { }
-};
-
-class nesting_error: public logic_error
-{
-public:
-       nesting_error(const std::string &w):
-               logic_error(w)
-       { }
-
-       virtual ~nesting_error() throw() { }
-};
-
-
 BinaryParser::BinaryParser(Input &i, const string &s):
        ParserMode(i, s),
        float_precision(32),
@@ -82,7 +61,7 @@ Statement BinaryParser::parse()
                        result.args.push_back(parse_bool());
                        break;
                case SymbolType::signature:
-                       result.args.push_back(parse_symbol());
+                       result.args.push_back(Value(parse_symbol()));
                        break;
                }
        }
@@ -111,8 +90,8 @@ void BinaryParser::process_control_statement(const Statement &st)
 
                const string &kw = st.args[1].get<const string &>();
                const string &args = st.args[2].get<const string &>();
-               for(string::const_iterator i=args.begin(); i!=args.end(); ++i)
-                       for(unsigned j=0; valid_signatures[j]!=*i; ++j)
+               for(char c: args)
+                       for(unsigned j=0; valid_signatures[j]!=c; ++j)
                                if(!valid_signatures[j])
                                        throw bad_definition("__kwd");