fix: tests and implementation of lexer

Just a few details here and there, nothing wrong, everything else is
going well.
This commit is contained in:
2026-04-30 09:58:27 -06:00
parent 630d9f53e1
commit ac2e783ccc
5 changed files with 20 additions and 28 deletions

View File

@@ -1,4 +1,5 @@
#include "arena.h"
#include "arraylist.h"
#include "lexer.h"
#include "parser.h"
#include <stdarg.h>
@@ -12,13 +13,12 @@ static void test_parsing_basic_expression(void **state) {
(void) state;
char expr[256] = "2 + 3 / 66 * 789";
ASTNodeArray tokens;
ASTNode node;
assert_int_equal(tokenize(expr, &tokens), LEXER_OK);
assert_int_equal(tokens.len, 7);
TokenizeResult tokens = tokenize(expr);
ParseResult result = parse(&tokens);
assert_true(tokens.is_valid);
assert_int_equal(arraylist_size(tokens.arr), 7);
ParseResult result = parse(tokens);
// Assert head is +
assert_int_equal(result.tree->type, NODE_BINARY_OP);
assert_int_equal(result.tree->data.binary.op, OP_ADD);