From 17be815ed0dbfafbc875a05507953283fbc2556c Mon Sep 17 00:00:00 2001 From: LaEntropiaa Date: Tue, 24 Mar 2026 21:51:28 -0600 Subject: [PATCH] Done with helpers, need some function to actually print the tree and see for myself if it works wit simple symbols --- src/parser.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/parser.c b/src/parser.c index 8d9f365..b1f5287 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,5 +1,6 @@ #include "parser.h" #include "lexer.h" +#include #include #include @@ -37,7 +38,24 @@ uint8_t node_rbp(ASTNode node) { } } +ASTNode ASTNodeSlice_next(ASTNodeSlice *slice) { + return slice->arr->data[slice->pos++]; +} +ASTNode ASTNodeSlice_peek(ASTNodeSlice *slice) { + return slice->arr->data[slice->pos]; +} + +bool ASTNodeSlice_is_valid(ASTNodeSlice *slice) { + if (slice->arr->len < 1) { + return false; + } + if (slice->pos >= slice->arr->len - 1) { + return false; + } + + return true; +} AST parse(ASTNodeArray *arr) { AST tree;