scriptreader.cxx

changeset 30
6c4efed2dbdd
parent 28
fb46d3d40064
child 33
fd35f6cb5f28
equal deleted inserted replaced
29:b4e09ae24bf1 30:6c4efed2dbdd
271 271
272 token = string; 272 token = string;
273 } 273 }
274 274
275 void ScriptReader::MustNumber () { 275 void ScriptReader::MustNumber () {
276 str num;
276 MustNext (); 277 MustNext ();
277 if (!token.isnumber()) 278 num += token;
278 ParserError ("expected a number, got `%s`", token.chars()); 279
280 // Cater for a possible minus sign, since it
281 // breaks the token, read a new one with the number.
282 if (!token.compare ("-")) {
283 MustNext ();
284 num += token;
285 }
286
287 if (!num.isnumber())
288 ParserError ("expected a number, got `%s`", num.chars());
279 } 289 }
280 290
281 void ScriptReader::MustBool () { 291 void ScriptReader::MustBool () {
282 MustNext(); 292 MustNext();
283 if (!token.compare ("0") || !token.compare ("1") || 293 if (!token.compare ("0") || !token.compare ("1") ||

mercurial