minor implementation for parser
(simple type and defn)
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user