From 101d5ad1f3e864f3b6442b6063151ffb47178099 Mon Sep 17 00:00:00 2001 From: katherine Date: Thu, 23 May 2019 03:23:59 -0700 Subject: add basetype-use-checks to analyse --- src/main.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 0c0e510..77f3c55 100644 --- a/src/main.c +++ b/src/main.c @@ -2,6 +2,7 @@ #include "opt.h" #include "parse.h" #include "analyse.h" +#include "gen.h" static void print_tree(struct analyse_tree_s *t) { @@ -25,8 +26,10 @@ static void print_tree(struct analyse_tree_s *t) int main(int argc, char **argv) { + FILE *fo = stdout; FILE *fi = stdin; const char *finame = "stdin"; + const char *foname; struct parse_result_s pr; struct analyse_result_s ar; @@ -38,6 +41,12 @@ int main(int argc, char **argv) TRY(fi != NULL, "could not read file `%s`", finame); } + if (opt_outfile_str() != NULL) { + foname = opt_infile_str(); + fo = fopen(foname, "w"); + TRY(fo != NULL, "could not write to file `%s`", foname); + } + pr = parse(fi, finame); if (fi != stdin) @@ -50,6 +59,36 @@ int main(int argc, char **argv) print_tree(&ar.var_tree); puts(""); + if (ar.uses_bool) + puts("bool"); + if (ar.uses_string) + puts("string"); + if (ar.uses_id) + puts("id"); + if (ar.uses_int) + puts("int"); + if (ar.uses_intl) + puts("intl"); + if (ar.uses_intll) + puts("intll"); + if (ar.uses_uint) + puts("uint"); + if (ar.uses_uintl) + puts("uintl"); + if (ar.uses_uintll) + puts("uintll"); + if (ar.uses_float) + puts("float"); + if (ar.uses_double) + puts("double"); + if (ar.uses_doublel) + puts("doublel"); + + gen(fo, pr, ar); + + if (fo != stdout) + fclose(fo); + parse_result_wipe(&pr); analyse_result_wipe(&ar); -- cgit v1.2.3