From cf366387449dcf9d34875a7d76f3b79c1e231d6f Mon Sep 17 00:00:00 2001 From: Bobby Bingham Date: Thu, 12 Jan 2017 20:05:45 -0600 Subject: nqasm: Initial stab at a lexer and parser So far, this only understands instructions, but no operands or labels. It doesn't handle bad input gracefully. It's just enough to test the basics. --- nqasm.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nqasm.c (limited to 'nqasm.c') diff --git a/nqasm.c b/nqasm.c new file mode 100644 index 0000000..a42f8f4 --- /dev/null +++ b/nqasm.c @@ -0,0 +1,20 @@ +#include + +#include "mnemonics.h" +#include "nqasm.h" + +#include "lexer.h" +#include "parser.h" + +void add_instruction(const struct instruction *i) +{ + const struct mnemonic *m = &mnemonics[i->mnem]; + printf("%04x\n", m->bits); +} + +int main(int argc, char **argv) +{ + yyparse(); + return 0; +} + -- cgit v1.2.3