2 Object user${{name}}$implementation(EnvironmentPool* environmentPool, Environment* parent, size_t argc, Stack* parentStack, jmp_buf parent_jump)
4 Environment* environment = EnvironmentPool_allocate(environmentPool);
5 Environment_initialize(environment, parent);
8 Stack* stack = &stackMemory;
9 Stack_initialize(stack);
14 fprintf(stderr, "\tin {{name}}\n");
16 while(Stack_any(stack))
18 Object item = Stack_pop(stack);
19 Object_deinitialize(&item);
21 Environment_setLive(environment, false);
23 longjmp(parent_jump, 1);
26 Object result = builtin$nil;
28 {% for argument_name in argument_name_list|reverse %}
29 Environment_set(environment, "{{ argument_name }}", Stack_pop(parentStack));
32 {% for statement in statement_list %}
36 Environment_setLive(environment, false);