about summary refs log tree commit diff
path: root/boot/tree.c
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-07-05 20:27:08 +0200
committerMel <mel@rnrd.eu>2025-07-05 20:27:08 +0200
commitb71f85a7c3ee9e36b6eab9f113436fa990f6e561 (patch)
treede0dac0dff1802106c97478fce84452224233b36 /boot/tree.c
parentcfbb769306fea6433c1d3e568a4f9742883a0cc9 (diff)
downloadcatskill-b71f85a7c3ee9e36b6eab9f113436fa990f6e561.tar.zst
catskill-b71f85a7c3ee9e36b6eab9f113436fa990f6e561.zip
Try (?) & must (!) expressions
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'boot/tree.c')
-rw-r--r--boot/tree.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/boot/tree.c b/boot/tree.c
index dc22bfd..3c808f8 100644
--- a/boot/tree.c
+++ b/boot/tree.c
@@ -688,6 +688,8 @@ enum Expression_Kind
     EXPRESSION_SUBSCRIPT,
     EXPRESSION_MEMBER,
     EXPRESSION_INCREMENT_DECREMENT,
+    EXPRESSION_TRY,
+    EXPRESSION_MUST,
 
     EXPRESSION_FUNCTION,
     EXPRESSION_TYPE,
@@ -766,6 +768,16 @@ struct Expression_Increment_Decrement
     enum Increment_Decrement_Operation operation;
 };
 
+struct Expression_Try
+{
+    struct Expression* expression;
+};
+
+struct Expression_Must
+{
+    struct Expression* expression;
+};
+
 struct Expression_Function
 {
     struct Function_Header_Node header;
@@ -791,6 +803,8 @@ union Expression_Value
     struct Expression_Subscript subscript;
     struct Expression_Member member;
     struct Expression_Increment_Decrement increment_decrement;
+    struct Expression_Try try;
+    struct Expression_Must must;
     struct Expression_Function function;
     struct Expression_Type type;
 };