free(line);
if (command.empty())
continue;
+ history += command;
if (command[0] == '?') {
std::string data(command.substr(1));
*out_ << "lower == " << (lower ? "true" : "false") << std::endl;
}
- history += command;
continue;
}
std::string code;
if (bypass)
code = command;
- else {
+ else try {
std::istringstream stream(command);
CYPool pool;
std::cerr << " | ";
std::cerr << error->message_ << std::endl;
- history += command;
break;
}
Setup(out, driver, options, lower);
out << *driver.script_;
code = str.str();
+ } catch (const CYException &error) {
+ CYPool pool;
+ std::cout << error.PoolCString(pool) << std::endl;
+ continue;
}
- history += command;
-
if (debug) {
std::cout << "cy= ";
CYLexerHighlight(code.c_str(), code.size(), std::cout);
if (failed || !driver.errors_.empty()) {
for (CYDriver::Errors::const_iterator i(driver.errors_.begin()); i != driver.errors_.end(); ++i)
std::cerr << i->location_.begin << ": " << i->message_ << std::endl;
+ return 1;
} else if (driver.script_ != NULL) {
std::stringbuf str;
CYOutput out(str, options);