summary refs log tree commit diff
path: root/cccl.c
blob: cd952d10dd636d80679ecc891143f4d15f4bb7c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "cccl.h"

#include <stddef.h>
#include <stdio.h>


void cccl(struct cccl_File file)
{
    struct cccl_Token tokens[TOKENS_LIMIT];

    size_t tokens_amount = cccl_tokenize(file.buffer, file.size, tokens, TOKENS_LIMIT);
    if (verbose)
        fprintf(stderr, "Read: %lu\n", tokens_amount);

    struct cccl_Node *parsed = cccl_parse(tokens, tokens_amount, 0, 0);

    struct cccl_Variables scope = {0};
    cccl_execute(parsed, &scope, 0);
    if (dump)
        cccl_dump();
}