summaryrefslogtreecommitdiffhomepage
path: root/compiler.h
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2021-05-18 14:18:04 +0200
committerJo-Philipp Wich <jo@mein.io>2021-05-18 16:09:36 +0200
commit5714705aee31a0d561b4cf1b8096bbe19e17a825 (patch)
tree1c249365983089fb249b1f109f13ed3a590863d0 /compiler.h
parent2c2e603204be7ec96cab7504e3ee6951412ad4bc (diff)
syntax: introduce `const` support
Introduce support for declaring constant variables through the `const` keyword. Variables declared with `const` follow the same scoping rules as `let` declared ones. In contrast to normal variables, `const` ones may not be assigned to after their declaration. Any attempt to do so will result in a syntax error during compilation. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'compiler.h')
-rw-r--r--compiler.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler.h b/compiler.h
index deec3d5..54f56c2 100644
--- a/compiler.h
+++ b/compiler.h
@@ -76,12 +76,14 @@ typedef struct {
ssize_t depth;
size_t from;
bool captured;
+ bool constant;
} uc_local;
typedef struct {
uc_value_t *name;
size_t index;
bool local;
+ bool constant;
} uc_upval;
uc_declare_vector(uc_locals, uc_local);