rem: if (str[0] == 'q' || str[0] == 'Q')
add: if (str.empty() || str[0] == 'q' || str[0] == 'Q')
context: main(){    cout << "/////////////////////////////////////////////////////////\n\n";    cout << "\t\tThe simplest working calculator...\n\n";    cout << "/////////////////////////////////////////////////////////\n\n";    cout << "Type an expression...or [q or Q] to quit\n\n";    stack<long> eval;    calculator  calc(eval); //  Our parser    string str;    while (getline(cin, str))    {        if (str[0] == 'q' || str[0] == 'Q')            break;        parse_info<> info = parse(str.c_str(), calc, space_p);        if (info.full)        {            cout << "-------------------------\n";            cout << "Parsing succeeded\n";            cout << "-------------------------\n";        }        else        {            cout << "-------------------------\n";            cout << "Parsing failed\n";            cout << "stopped at: \": " << info.stop << "\"\n";            cout << "-------------------------\n";        }    }    cout << "Bye... :-) \n\n";    return 0;}