summaryrefslogtreecommitdiff
path: root/precedent.c
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2023-02-15 23:57:36 -0800
committerKai Stevenson <kai@kaistevenson.com>2023-02-15 23:57:36 -0800
commit4b68d60daf495cef5eb22a521ce809d798418aa5 (patch)
tree327a8bd5e82cbd82c5c1578702e09686f961c116 /precedent.c
parent012a218e3f25f4712e6eb9a197e4473f0617eaed (diff)
add license, some boolean functions, fixed bugs, improved visualizer and added flag
Diffstat (limited to 'precedent.c')
-rw-r--r--precedent.c37
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;