aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2024-06-24 11:19:04 +0200
committerBad Diode <bd@badd10de.dev>2024-06-24 11:19:04 +0200
commit15e24115a2a117407157c993fe17b2d414dc0bf4 (patch)
tree0fd846846d82bca5ecfa9c40ffaa31bbf39159aa /src/parser.c
parent55849f31e9ad0d2faadd7488ca25669737d74b8d (diff)
downloadbdl-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.c8
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) {