]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/textparser.cpp
Move token-to-argument conversion to Statement
[libs/datafile.git] / source / textparser.cpp
index a7e8ee9d6abaf4d5198824fde47e811651996777..7dc4bde7e46ed659368498798bf0b6b3b62fa246 100644 (file)
@@ -66,21 +66,8 @@ Statement TextParser::parse_statement(const Token *t)
                        sub = 1;
                else if(token.str==";")
                        break;
-               else if(token.type==Token::INTEGER)
-                       result.append(lexical_cast<IntType::Store>(token.str));
-               else if(token.type==Token::FLOAT)
-                       result.append(lexical_cast<FloatType::Store>(token.str));
-               else if(token.type==Token::STRING)
-                       result.append(token.str);
-               else if(token.type==Token::IDENTIFIER)
-               {
-                       if(token.str=="true")
-                               result.append(true);
-                       else if(token.str=="false")
-                               result.append(false);
-                       else
-                               result.append(Symbol(token.str));
-               }
+               else if(token.type!=Token::SPECIAL)
+                       result.append_from_token(token);
                else
                        throw syntax_error(token.str);
        }