diff options
author | David Phillips <david@sighup.nz> | 2017-12-28 19:27:15 +1300 |
---|---|---|
committer | David Phillips <david@sighup.nz> | 2017-12-28 19:27:15 +1300 |
commit | 4064bc9ea637563f4b579ed61baa882a4c0ed39d (patch) | |
tree | 6dab5c9a60cd73b6ef8bff0d3b168c1ea5c1e56a | |
parent | 22d2cb0a71b22c3142cc073b7ceca976d7a513c1 (diff) | |
download | hence-4064bc9ea637563f4b579ed61baa882a4c0ed39d.tar.xz |
Refactor main from parser to simulator
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | parser.c | 18 | ||||
-rw-r--r-- | simulator.c | 21 |
3 files changed, 23 insertions, 22 deletions
@@ -1,10 +1,8 @@ CFLAGS += -std=c99 -D_XOPEN_SOURCE=500 -Wall -Wextra -all: simulator parser +all: simulator -simulator: simulator.o gate.o logic.o - -parser: parser.o gate.o logic.o +simulator: simulator.o gate.o logic.o parser.o .PHONY: test test: @@ -179,21 +179,3 @@ parse_line(char *line) { return 0; } -int main(void) { - char buf[4096]; - FILE *fd = stdin; - - while (NULL != fgets(buf, sizeof(buf), fd)) { - buf[strcspn(buf, "\r\n")] = '\0'; - if (parse_line(buf)) { - return 1; - } - } - - gate_set_input("a", LOGIC_LOW); - gate_set_input("b", LOGIC_LOW); - gate_update(); - gate_dump(); - - return 0; -} diff --git a/simulator.c b/simulator.c index d89ceb0..657355f 100644 --- a/simulator.c +++ b/simulator.c @@ -1,10 +1,31 @@ +#include <stdio.h> +#include <string.h> + #include "gate.h" #include "logic.h" +#include "parser.h" int main(int argc, char **argv) { + char buf[4096]; + FILE *fd = stdin; + (void)argc; (void)argv; + logic_test(); gate_init(); + + while (NULL != fgets(buf, sizeof(buf), fd)) { + buf[strcspn(buf, "\r\n")] = '\0'; + if (parse_line(buf)) { + return 1; + } + } + + gate_set_input("a", LOGIC_LOW); + gate_set_input("b", LOGIC_LOW); + gate_update(); + gate_dump(); + return 0; } |