Ejemplo n.º 1
0
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;
}