minor implementation for parser

(simple type and defn)
This commit is contained in:
2025-11-23 22:07:04 +09:00
parent 3682559a56
commit d8c0b2a762
9 changed files with 476 additions and 13 deletions

View File

@@ -1,8 +1,10 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "globals.h"
#include "lex.h"
#include "ast_util.h"
typedef struct Parser {
Lexer *lexer;
@@ -17,10 +19,6 @@ Parser *parser_new(Lexer *lexer);
void parser_free(Parser *parser);
static void parser_next(Parser *parser);
static void parser_expect(Parser *parser, TokenType type);
/*
PARSER PARSE FUNCTIONS
*/
@@ -30,6 +28,10 @@ ASTNode *parser_parse_defn(Parser *parser);
ASTNode *parser_parse_type(Parser *parser);
ASTNode *parser_parse_type_simple(Parser *parser);
ASTNode *parser_parse_type_complex(Parser *parser);
ASTNode *parser_parse_expr(Parser *parser);
ASTNode *parser_parse_atom(Parser *parser);