// // main.cpp // dice-roll // // Created by Sam Jaffe on 12/1/18. // Copyright © 2018 Sam Jaffe. All rights reserved. // #include #include "dice-roll/exception.h" void eval(std::string const & str) { try { auto d = dice::from_string(str); auto rs = dice::roller()(d); std::cout << std::make_pair(d, rs) << '\n'; } catch (dice::unexpected_token const & ut) { std::cerr << "Error in roll: '" << str << "': " << ut.what() << "\n"; std::cerr << " " << ut.pointer(str.size() + 1) << std::endl; } } int main(int, const char **) { std::string line; std::cout << "> "; while (std::getline(std::cin, line)) { eval(line); std::cout << "> "; } return 0; }