Fun 0.41.5
The programming language that makes You have fun
Loading...
Searching...
No Matches
try_push.c
Go to the documentation of this file.
1/*
2 * This file is part of the Fun programming language.
3 * https://fun-lang.xyz/
4 *
5 * Copyright 2025 Johannes Findeisen <you@hanez.org>
6 * Licensed under the terms of the Apache-2.0 license.
7 * https://opensource.org/license/apache-2-0
8 */
9
28
30 /* push index of this TRY instruction; handler ip is in its operand (may be patched later) */
31 if (f->try_sp >= (int)(sizeof(f->try_stack) / sizeof(f->try_stack[0])) - 1) {
32 fprintf(stderr, "Runtime error: try depth exceeded\n");
33 exit(1);
34 }
35 f->try_stack[++f->try_sp] = f->ip - 1; /* index of TRY_PUSH instruction */
36 break;
37}
@ OP_TRY_PUSH
Definition bytecode.h:248
FILE * f
Definition read_file.c:38
#define fprintf
Definition vm.c:200
#define exit(code)
Definition vm.c:230