From: Mikko Rasa Date: Wed, 23 Aug 2006 12:26:01 +0000 (+0000) Subject: Build error strings with operator+ and ostringstream X-Git-Tag: 1.0~42 X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=52b69f7841d3b2ca0bb83c04214f30c7d1c6a615;p=libs%2Fdatafile.git Build error strings with operator+ and ostringstream --- diff --git a/Package b/Package index 2f68107..85665eb 100644 --- a/Package +++ b/Package @@ -1,5 +1,5 @@ package="mspparser" version="0.2" description="Mikkosoft Productions datafile parser" -requires=("mspmisc","mspstreams") +requires=("mspmisc",) tarballfiles=("License.txt",) diff --git a/source/parser.cpp b/source/parser.cpp index 8707ced..ef2daa3 100644 --- a/source/parser.cpp +++ b/source/parser.cpp @@ -4,16 +4,14 @@ Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ #include +#include #include -#include #include "parser.h" #include "statement.h" #include "token.h" using namespace std; -#include - namespace Msp { namespace Parser { @@ -61,7 +59,7 @@ Statement Parser::parse_(const Token *t) if(token.str.empty()) break; else if(token.type!=Token::IDENTIFIER) - throw DataError(get_location()+format(": Syntax error at token '%S' (expected an identifier)", &token.str).str()); + throw DataError(get_location()+": Syntax error at token '"+token.str+"' (expected an identifier)"); result.keyword=token.str; result.valid=true; result.source=src; @@ -83,7 +81,7 @@ Statement Parser::parse_(const Token *t) else if(finish) { if(token.str!=";") - throw DataError(get_location()+format(": Syntax error at token '%S' (Expected a ';')", &token.str).str()); + throw DataError(get_location()+": Syntax error at token '"+token.str+"' (Expected a ';')"); break; } else if(token.str=="{") @@ -336,7 +334,9 @@ string Parser::get_location() void Parser::parse_error(int c, int state) { - throw DataError(get_location()+format(": Parse error at '%c' (state %d)", c, state).str()); + ostringstream ss; + ss<