summaryrefslogtreecommitdiff
path: root/src/parser.h
blob: 73c489a92dea330ab0162d43b636e65866f71814 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef PIT_PARSER_H
#define PIT_PARSER_H

#include "lexer.h"
#include "runtime.h"

typedef struct {
    pit_lex_token token;
    i64 start, end;
} pit_parser_token_info;

typedef struct {
    pit_lexer *lexer;
    pit_parser_token_info cur, next;
} pit_parser;

pit_parser *pit_parser_from_lexer(pit_lexer *lex);
pit_value pit_parse(pit_runtime *rt, pit_parser *st);

#endif