diff options
author | Bad Diode <bd@badd10de.dev> | 2024-06-24 11:19:04 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2024-06-24 11:19:04 +0200 |
commit | 15e24115a2a117407157c993fe17b2d414dc0bf4 (patch) | |
tree | 0fd846846d82bca5ecfa9c40ffaa31bbf39159aa /src/parser.c | |
parent | 55849f31e9ad0d2faadd7488ca25669737d74b8d (diff) | |
download | bdl-15e24115a2a117407157c993fe17b2d414dc0bf4.tar.gz bdl-15e24115a2a117407157c993fe17b2d414dc0bf4.zip |
Add proper parsing of return statements and functions params
Diffstat (limited to 'src/parser.c')
-rw-r--r-- | src/parser.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser.c b/src/parser.c index b82579b..1283854 100644 --- a/src/parser.c +++ b/src/parser.c | |||
@@ -196,6 +196,8 @@ typedef struct Node { | |||
196 | bool is_ptr; | 196 | bool is_ptr; |
197 | struct Scope *scope; | 197 | struct Scope *scope; |
198 | Str type; | 198 | Str type; |
199 | Str fun_params; | ||
200 | Str fun_return; | ||
199 | } Node; | 201 | } Node; |
200 | 202 | ||
201 | // | 203 | // |
@@ -1030,6 +1032,12 @@ graph_node(Node *node) { | |||
1030 | if (node->type.size > 0) { | 1032 | if (node->type.size > 0) { |
1031 | print("| Type: %s", node->type); | 1033 | print("| Type: %s", node->type); |
1032 | } | 1034 | } |
1035 | if (node->fun_params.size > 0) { | ||
1036 | print("| Params: %s", node->fun_params); | ||
1037 | } | ||
1038 | if (node->fun_return.size > 0) { | ||
1039 | print("| Return: %s", node->fun_return); | ||
1040 | } | ||
1033 | println("\"];"); | 1041 | println("\"];"); |
1034 | 1042 | ||
1035 | switch (node->kind) { | 1043 | switch (node->kind) { |