From b5608dc9d4739dbb97798d83fd7821a051c6afe2 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 25 Jun 2022 23:20:28 -0700 Subject: Use a separate EvalContext structure for holding some state. --- main.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index df2aca1..e88d740 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -69,18 +70,18 @@ int main(int argc, const char *argv[]) std::cout << "\n\n\n"; - auto w = state.eval(step); - std::cout << "run\n"; w(); - std::cout << "run\n"; w(); - std::cout << "run\n"; w(); + auto w = state(step); + std::cout << "run\n"; w->resume(); + std::cout << "run\n"; w->resume(); + std::cout << "run\n"; w->resume(); std::cout << "set predicate (valid)\n"; state.store_reg(step.predicate->first, step.predicate->second); - std::cout << "run\n"; w(); - std::cout << "run\n"; w(); - std::cout << "run\n"; w(); + std::cout << "run\n"; w->resume(); + std::cout << "run\n"; w->resume(); + std::cout << "run\n"; w->resume(); std::cout << "set regs (all)\n"; for (int i = 0; i < 10; ++i) state.store_reg(i, 1000 + i); - for (bool done = false; !done; done = w()) + for (bool done = false; !done; done = w->resume()) std::cout << "run\n"; std::cout << "huzzah!\n"; -- cgit v1.2.3