[Cmap-cvs] mp2mp mp2mp.cpp,1.5,1.6 mp_parser.cpp,1.6,1.7 mp_parser.h,1.5,1.6
Status: Beta
Brought to you by:
dyp
From: Denis P. <dy...@us...> - 2005-06-30 04:00:26
|
Update of /cvsroot/cmap/mp2mp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25974 Modified Files: mp2mp.cpp mp_parser.cpp mp_parser.h Log Message: Specify filename in errors. Index: mp2mp.cpp =================================================================== RCS file: /cvsroot/cmap/mp2mp/mp2mp.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mp2mp.cpp 29 Apr 2005 17:25:57 -0000 1.5 +++ mp2mp.cpp 30 Jun 2005 04:00:17 -0000 1.6 @@ -60,7 +60,7 @@ Tokenizer t(f); - MPParser p(t); + MPParser p(t, filename); try { while (p.parseObject()) Index: mp_parser.cpp =================================================================== RCS file: /cvsroot/cmap/mp2mp/mp_parser.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mp_parser.cpp 12 Jun 2005 08:22:11 -0000 1.6 +++ mp_parser.cpp 30 Jun 2005 04:00:17 -0000 1.7 @@ -57,6 +57,7 @@ } void Rgn::print(FILE *f, const ObjectProp &op, bool is6Digit) { + fprintf(f, "; LOC=%s:%u\n", filename.c_str(), line); for (std::list<Attr>::iterator it = attrs.begin(); it != attrs.end(); it++) (*it).print(f); @@ -172,7 +173,7 @@ fprintf(f, "(%.5f,%.5f)", y, x); } -MPParser::MPParser(Tokenizer &_t) : t(_t) { +MPParser::MPParser(Tokenizer &_t, const std::string &_filename) : t(_t), filename(_filename) { t.lowerCaseMode(true); t.quoteChar('"'); t.wordChars('a', 'z'); @@ -347,6 +348,9 @@ bool MPParser::parseRgn(Map &map) { Rgn rgn; int ttype; + rgn.line = t.lineno(); + rgn.filename = filename; + // Process comments for (;;) { ttype = t.nextToken(); Index: mp_parser.h =================================================================== RCS file: /cvsroot/cmap/mp2mp/mp_parser.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mp_parser.h 12 Jun 2005 08:22:11 -0000 1.5 +++ mp_parser.h 30 Jun 2005 04:00:17 -0000 1.6 @@ -60,6 +60,9 @@ BoolType direction; BoolType city; + std::string filename; + unsigned int line; + void print(FILE *f, bool is6Digit); void print(FILE *f, const ObjectProp &op, bool is6Digit); }; @@ -106,7 +109,7 @@ class MPParser { public: - MPParser(Tokenizer &t); + MPParser(Tokenizer &t, const std::string &_filename); void parseHeader(Map &map); bool parseRgn(Map &map); void parseElement(Element &e); |