aboutsummaryrefslogtreecommitdiff
path: root/src/parse/context.h
blob: f1e3be2f6e321ef4fee6b6bdabbf94c16c22635d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// A context parameter that gets passed around during parsing.
#pragma once

#include <setjmp.h>
#include <stdint.h>

#include "../stdlib/datatypes.h"
#include "../stdlib/files.h"
#include "../stdlib/types.h"

extern const TypeInfo_t *parse_comments_info;

typedef struct {
    file_t *file;
    jmp_buf *on_err;
    int64_t next_lambda_id;
    Table_t comments; // Map of <start pos> -> <end pos>
} parse_ctx_t;