]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/statement.cpp
Cosmetic changes
[libs/datafile.git] / source / statement.cpp
index 9dfb54421a47c6f041b344cc175a6c67e232f43c..57364bbd4d1563e7c0f1f5753216d1cd7e1cacf5 100644 (file)
@@ -8,17 +8,10 @@ using namespace std;
 namespace Msp {
 namespace DataFile {
 
-Statement::Statement():
-       valid(false),
-       control(false),
-       line(0)
-{ }
-
 Statement::Statement(const string &kw):
        keyword(kw),
        valid(true),
-       control(!kw.compare(0, 2, "__")),
-       line(0)
+       control(!kw.compare(0, 2, "__"))
 { }
 
 string Statement::get_location() const
@@ -32,15 +25,15 @@ string Statement::get_location() const
 string Statement::get_signature() const
 {
        string result;
-       for(Arguments::const_iterator i = args.begin(); i!=args.end(); ++i)
-               result += i->get_signature();
+       for(const Value &a: args)
+               result += a.get_signature();
        return result;
 }
 
 Statement &Statement::append_from_token(const Token &token)
 {
        if(token.type==Token::INTEGER)
-               return append(lexical_cast<IntType::Store>(token.str));
+               return append(lexical_cast<IntType::Store>(token.str, Fmt().autobase()));
        else if(token.type==Token::FLOAT)
                return append(lexical_cast<FloatType::Store>(token.str));
        else if(token.type==Token::STRING)
@@ -52,25 +45,21 @@ Statement &Statement::append_from_token(const Token &token)
                else if(token.str=="false")
                        return append(false);
                else
-                       return append(Symbol(token.str));
+                       return append(Value(Symbol(token.str)));
        }
        else
                throw invalid_argument("Statement::append_from_token");
 }
 
 
-StatementInfo::StatementInfo():
-       args_size(0)
-{ }
-
 StatementInfo::StatementInfo(const string &k, const string &s):
        key(k, s),
        args_size(0)
 {
-       for(string::const_iterator i=key.signature.begin(); i!=key.signature.end(); ++i)
+       for(char c: key.signature)
        {
                arg_offsets.push_back(args_size);
-               switch(*i)
+               switch(c)
                {
                case IntType::signature:
                        args_size += sizeof(IntType::Store);