| 1234567891011121314151617181920212223242526272829303132 |
- //
- // main.cpp
- // dice-roll
- //
- // Created by Sam Jaffe on 12/1/18.
- // Copyright © 2018 Sam Jaffe. All rights reserved.
- //
- #include <iostream>
- #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;
- }
|