main.c 712 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "pocketpy_c.h"
  2. #include <stdio.h>
  3. void test_binding(pkpy_vm vm) {
  4. pkpy_push_int(vm, 12);
  5. }
  6. int main(int argc, char** argv) {
  7. pkpy_vm vm = pkpy_vm_create(true, true);
  8. pkpy_vm_exec(vm, "print('hello world!')");
  9. pkpy_push_int(vm, 11);
  10. pkpy_set_global(vm, "eleven");
  11. pkpy_push_cfunction(vm, test_binding);
  12. pkpy_set_global(vm, "binding");
  13. pkpy_vm_exec(vm, "print(eleven)");
  14. pkpy_vm_exec(vm, "print(binding())");
  15. pkpy_vm_exec(vm, "x = lambda x : x + 1");
  16. pkpy_get_global(vm, "x");
  17. pkpy_push_null(vm);
  18. pkpy_push_int(vm, 1);
  19. pkpy_call(vm, 1);
  20. int64_t r = pkpy_toint(vm, 1);
  21. printf("%li\n", r);
  22. pkpy_vm_destroy(vm);
  23. return 0;
  24. }