summaryrefslogtreecommitdiff
path: root/lex.c
diff options
context:
space:
mode:
authorDavid Phillips <david@sighup.nz>2018-08-02 00:32:59 +1200
committerDavid Phillips <david@sighup.nz>2018-08-02 00:32:59 +1200
commit0b35912033dfa8984629c760097ce6691a7e5816 (patch)
tree4733e5138327ea4e32e93be75e45ebe28a3aa2fa /lex.c
parent0ddd53b66c1069ebab588285e3cbc894816de7ad (diff)
downloadhence-0b35912033dfa8984629c760097ce6691a7e5816.tar.xz
lex,parse: Add nand, nor
Also update sample script to avoid idents colliding with keywords
Diffstat (limited to 'lex.c')
-rw-r--r--lex.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/lex.c b/lex.c
index 3f2b409..9e82175 100644
--- a/lex.c
+++ b/lex.c
@@ -27,20 +27,24 @@ static struct keyword keywords[] = {
{.s = "and" , .t = TOK_AND },
{.s = "xor" , .t = TOK_XOR },
{.s = "not" , .t = TOK_NOT },
+ {.s = "nand" , .t = TOK_NAND },
+ {.s = "nor" , .t = TOK_NOR },
{.s = NULL }
};
static struct keyword token_descriptors[] = {
- {.s = "module declaration" , .t = TOK_MODULE },
- {.s = "input declaration" , .t = TOK_INPUT },
- {.s = "expression start" , .t = TOK_EXPR },
- {.s = "colon" , .t = TOK_COLON },
- {.s = "end of line" , .t = TOK_EOL },
- {.s = "binary OR expression" , .t = TOK_OR },
- {.s = "binary AND expression", .t = TOK_AND },
- {.s = "binary XOR expression", .t = TOK_XOR },
- {.s = "unary NOT expression" , .t = TOK_NOT },
- {.s = "identifier" , .t = TOK_IDENT },
+ {.s = "module declaration" , .t = TOK_MODULE},
+ {.s = "input declaration" , .t = TOK_INPUT },
+ {.s = "expression start" , .t = TOK_EXPR },
+ {.s = "colon" , .t = TOK_COLON },
+ {.s = "end of line" , .t = TOK_EOL },
+ {.s = "binary OR expression" , .t = TOK_OR },
+ {.s = "binary AND expression" , .t = TOK_AND },
+ {.s = "binary XOR expression" , .t = TOK_XOR },
+ {.s = "binary NAND expression", .t = TOK_NAND },
+ {.s = "binary NOR expression" , .t = TOK_NOR },
+ {.s = "unary NOT expression" , .t = TOK_NOT },
+ {.s = "identifier" , .t = TOK_IDENT },
{.s = NULL }
};