| 119 |  | //} | 
| 120 |  | if (lookingAtDecimal((tokCommand & Token::negnums) != 0)) { | 
| 121 |  | float value = lexi_cast<float>(script.substr(ichToken, cchToken)); | 
| 122 | – | std::cout << "encount an decimal: " << value << std::endl; | 
| 122 |  | ltoken.push_back(Token(Token::decimal, boost::any(value))); | 
| 123 |  | continue; | 
| 124 |  | } | 
| 125 |  | if (lookingAtInteger((tokCommand & Token::negnums) != 0)) { | 
| 126 |  |  | 
| 127 |  | int val = lexi_cast<int>(script.substr(ichToken, cchToken)); | 
| 129 | – | std::cout << "encount an integer: " << val << std::endl; | 
| 128 |  | ltoken.push_back(Token(Token::integer,   boost::any(val))); | 
| 129 |  | continue; | 
| 130 |  | } | 
| 242 |  | previousCharBackslash = ch == '\\' ? !previousCharBackslash : false; | 
| 243 |  | } | 
| 244 |  | cchToken = ichT - ichToken; | 
| 247 | – |  | 
| 245 |  |  | 
| 249 | – | std::cout << "lookingAtString: encount " << script.substr(ichToken, cchToken) << std::endl; | 
| 246 |  | return true; | 
| 247 |  | } | 
| 248 |  |  | 
| 340 |  | return false; | 
| 341 |  | } | 
| 342 |  |  | 
| 343 | < | // to support 1.ca, let's check the character after the dot | 
| 344 | < | // to determine if it is an alpha | 
| 349 | < | if (ch == '.' && (ichT + 1 < cchScript) && std::isalpha(script[ichT + 1])) { | 
| 343 | > | // to support DMPC.1, let's check the character before the dot | 
| 344 | > | if (ch == '.' && (ichT > 0) && std::isalpha(script[ichT - 1])) { | 
| 345 |  | return false; | 
| 346 |  | } | 
| 347 |  |  | 
| 428 |  |  | 
| 429 |  | cchToken = ichT - ichToken; | 
| 430 |  |  | 
| 436 | – | std::cout << "lookingAtLookupToken: encount " << script.substr(ichToken, cchToken) << std::endl; | 
| 431 |  | return true; | 
| 432 |  | } | 
| 433 |  |  | 
| 684 |  |  | 
| 685 |  | int tok = tokPeek(); | 
| 686 |  |  | 
| 687 | < | if (tok == Token::asterisk || tok == Token::identifier) { | 
| 688 | < | name += boost::any_cast<std::string>(tokenNext().value); | 
| 689 | < |  | 
| 687 | > | if (tok == Token::asterisk || tok == Token::identifier || tok == Token::integer) { | 
| 688 | > |  | 
| 689 | > | Token token = tokenNext(); | 
| 690 | > | if (token.value.type() == typeid(std::string)) { | 
| 691 | > | name += boost::any_cast<std::string>(token.value); | 
| 692 | > | } else if (token.value.type() == typeid(int)){ | 
| 693 | > | int intVal = boost::any_cast<int>(token.value); | 
| 694 | > | char buffer[255]; | 
| 695 | > | sprintf(buffer,"%d", intVal); | 
| 696 | > | name += buffer; /** @todo */ | 
| 697 | > | //name += toString<int>(intVal); | 
| 698 | > | } | 
| 699 |  | while(true){ | 
| 700 |  | tok = tokPeek(); | 
| 701 |  | switch (tok) { |