From 6c9d0f7fad1d96796efef43a6db7eef6df8de054 Mon Sep 17 00:00:00 2001 From: Lorenzo Torres Date: Wed, 10 Jun 2026 00:16:07 +0200 Subject: finished lexer, preliminary work on parser --- parser.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 parser.h (limited to 'parser.h') diff --git a/parser.h b/parser.h new file mode 100644 index 0000000..4c750cf --- /dev/null +++ b/parser.h @@ -0,0 +1,29 @@ +#ifndef PARSER_H +#define PARSER_H + +#include +#include + +typedef enum { + NODE_START, + NODE_RETURN, + NODE_CONST, +} node_type; + +typedef struct _node { + union { + uint64_t integer; + double flt; + } data; + + node_type type; + struct _node **children; + size_t children_length; + size_t children_size; + size_t id; +} node; + +void add_child(node *n, node *child); +node *ir_parse(token *tokens); + +#endif -- cgit v1.2.3