int main() { std::cout << "\033[?25l"; std::istringstream in("abbbbbd"); Tape t(&in); IMachine* m = new Machine(); std::istringstream rules("z1,a,b,left,z2\nz3,b,c,right,z3\nz2,-,X,right,z3"); m->loadRules(&rules); m->setTape(&t); m->setState("unknown"); m->step(); m->setState("z1"); std::cout << "state: " << m->getState() << std::endl; do { t.dump(std::cout); } while(m->step()); m->step(); std::cout << "state: " << m->getState() << std::endl; delete m; std::cout << "\033[?25h" << std::endl; }