diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-07-06 03:33:04 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-07-06 03:49:03 +0200 |
commit | d3c95ef09fd493241273d6e63aca31d703c2503c (patch) | |
tree | 94dc719ed4eb4a3bc67c35b19bca69916b56fc32 /src/main.c | |
parent | b0b7d209fa978ff4a6b9c8cc5a8e4a3207cdd63f (diff) |
Implement booleans
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -12,6 +12,7 @@ #include "alloc.h" #include "analyzer.h" +#include "bitset.h" #include "codegen.h" #include "common.h" #include "errors.h" @@ -73,19 +74,20 @@ usage: char *src = readfile(argv[0], &srclen); aux_t aux; - mpq_t *folds; + fold_t *folds; scope_t *scps; + bitset_t *cnst; arena_t a = NULL; lexemes_t toks = lexstring(src, srclen); ast_t ast = parsetoks(toks, &aux); - type_t **types = analyzeprog(ast, aux, toks, &a, &scps, &folds); - codegen(argv[0], folds, scps, types, ast, aux, toks); + type_t **types = analyzeprog(ast, aux, toks, &a, &scps, &folds, &cnst); + codegen(argv[0], cnst, folds, scps, types, ast, aux, toks); #if DEBUG for (size_t i = 0; i < ast.len; i++) { - if ((*folds[i])._mp_den._mp_d != NULL) - mpq_clear(folds[i]); + if ((*folds[i].q)._mp_den._mp_d != NULL) + mpq_clear(folds[i].q); } free(folds); |