diff options
Diffstat (limited to 'precedent.c')
| -rw-r--r-- | precedent.c | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/precedent.c b/precedent.c index 38fc617..b609fff 100644 --- a/precedent.c +++ b/precedent.c @@ -7,23 +7,34 @@ #include "eval.h" int main(int argc, char** argv) { + int visual = 0; if (argc > 1) { - if (strcmp("--version", argv[1]) == 0) { - printf("precedent, version 0.1\n"); - printf("Copyright 2023 Kai Stevenson\n"); - printf("This software was licensed under the MIT license;\n"); - printf("for more information, see the license file.\n"); - return 0; - } - else if (strcmp("--help", argv[1]) == 0) { - printf("usage: precedent [--version] [--help] <file>\n"); - return 0; + for (int i = 1; i < argc; i++) { + if (strcmp("--version", argv[i]) == 0) { + printf("precedent, version 0.1\n"); + printf("Copyright 2023 Kai Stevenson\n"); + printf("All rights reserved. No part of the software may be sold\nor used in derivative works without explicit consent\n"); + return 0; + } + else if (strcmp("--help", argv[i]) == 0) { + printf("usage: precedent <file> [--visualize] [--version] [--help]\n"); + return 0; + } + else if (strcmp("--visualize", argv[i]) == 0) { + visual = 1; + } } } + else { + printf("usage: precedent <file> [--visualize] [--version] [--help]\n"); + return 0; + } sym_t* finalSymbol = parse_symbol_final(read_file(argv[1])); - printf("drawing program:\n"); - write_symbol_visual(finalSymbol, 0); - printf("\nexecuting program:\n"); + if (visual) { + printf("--BEGIN VISUALIZATION--\n"); + write_symbol_visual(finalSymbol, 0); + printf("--END VISUALIZATION--\n"); + } init_eval(); eval(finalSymbol); return 0; |
