diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-30 08:36:14 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-30 08:36:14 +0200 |
commit | f17b11003fe384b49a7bf844824f23167b6095e0 (patch) | |
tree | 7129ee8267bf8327d608c1d3a927295929b24631 /src/parser.h | |
parent | 4ebcd99d1fadac72ea58ea46012a86c5319ef7e7 (diff) | |
download | bdl-f17b11003fe384b49a7bf844824f23167b6095e0.tar.gz bdl-f17b11003fe384b49a7bf844824f23167b6095e0.zip |
Add parsing of if expressions
Diffstat (limited to 'src/parser.h')
-rwxr-xr-x | src/parser.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser.h b/src/parser.h index 17bd6d6..b2b07c8 100755 --- a/src/parser.h +++ b/src/parser.h | |||
@@ -12,6 +12,7 @@ typedef enum ObjectType { | |||
12 | OBJ_TYPE_STRING, | 12 | OBJ_TYPE_STRING, |
13 | OBJ_TYPE_PAIR, | 13 | OBJ_TYPE_PAIR, |
14 | OBJ_TYPE_LAMBDA, | 14 | OBJ_TYPE_LAMBDA, |
15 | OBJ_TYPE_IF, | ||
15 | } ObjectType; | 16 | } ObjectType; |
16 | 17 | ||
17 | typedef struct Object { | 18 | typedef struct Object { |
@@ -35,6 +36,13 @@ typedef struct Object { | |||
35 | struct Object **params; | 36 | struct Object **params; |
36 | struct Object **body; | 37 | struct Object **body; |
37 | }; | 38 | }; |
39 | |||
40 | // OBJ_TYPE_IF | ||
41 | struct { | ||
42 | struct Object *condition; | ||
43 | struct Object *expr_true; | ||
44 | struct Object *expr_false; | ||
45 | }; | ||
38 | }; | 46 | }; |
39 | 47 | ||
40 | size_t line; | 48 | size_t line; |