A minimalistic programming language written in C89.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

32 рядки
724 B

  1. #include "ink.h"
  2. int main(int argc, char** argv) {
  3. struct context* ctx;
  4. ctx = ink_make_default_context();
  5. int coro = ink_compile(
  6. ctx,
  7. "20 print_int 10 10 + print_int 2 10 * print_int 5 5 5 * swap - print_int 60 3 / print_int\n"
  8. "5 1 1 1 1 + + + * print_int\n"
  9. "2 2 9 * + print_int\n"
  10. "20 -1 80 10 10 * - * print_int print_int"
  11. );
  12. ctx->routines[coro].panic = 0;
  13. int increment = 1 << 16;
  14. int counter = increment;
  15. int c;
  16. while(ink_can_run(ctx)) {
  17. for(c = 0; c < 64; ++c)
  18. ink_step_everyone(ctx);
  19. if(ctx->steps < counter) {
  20. ink_gc(ctx);
  21. counter += increment;
  22. }
  23. }
  24. return ctx->routines[coro].panic != INK_ROUTINE_SUCCESS && ctx->routines[coro].panic != INK_ROUTINE_CAN_REUSE;
  25. }