#include "ink.h" int main(int argc, char** argv) { struct context* ctx; ctx = ink_make_default_context(); int coro = ink_compile( ctx, "20 print_int 10 10 + print_int 2 10 * print_int 5 5 5 * swap - print_int 60 3 / print_int\n" "5 1 1 1 1 + + + * print_int\n" "2 2 9 * + print_int\n" "20 -1 80 10 10 * - * print_int print_int" ); ctx->routines[coro].panic = 0; int increment = 1 << 16; int counter = increment; int c; while(ink_can_run(ctx)) { for(c = 0; c < 64; ++c) ink_step_everyone(ctx); if(ctx->steps < counter) { ink_gc(ctx); counter += increment; } } return ctx->routines[coro].panic != INK_ROUTINE_SUCCESS && ctx->routines[coro].panic != INK_ROUTINE_CAN_REUSE; }