diff options
-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; } |