main.c 777 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "pocketpy_c.h"
  2. #include <stdio.h>
  3. //tests the c bindings for pocketpy
  4. int test_binding(pkpy_vm vm) {
  5. pkpy_push_int(vm, 12);
  6. return 1;
  7. }
  8. int main(int argc, char** argv) {
  9. pkpy_vm vm = pkpy_vm_create(true, true);
  10. pkpy_vm_exec(vm, "print('hello world!')");
  11. pkpy_push_int(vm, 11);
  12. pkpy_set_global(vm, "eleven");
  13. pkpy_push_function(vm, test_binding);
  14. pkpy_set_global(vm, "binding");
  15. pkpy_vm_exec(vm, "print(eleven)");
  16. pkpy_vm_exec(vm, "print(binding())");
  17. pkpy_vm_exec(vm, "def x(x) : return x + 1");
  18. pkpy_get_global(vm, "x");
  19. pkpy_push_int(vm, 1);
  20. pkpy_call(vm, 1);
  21. int r;
  22. pkpy_to_int(vm, -1, &r);
  23. printf("%i\n", r);
  24. pkpy_clear_error(vm, NULL);
  25. pkpy_vm_destroy(vm);
  26. return 0;
  27. }