diff options
author | Himbeer <himbeer@disroot.org> | 2024-09-12 12:04:16 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-09-12 12:34:27 +0200 |
commit | 122f416c3f5d6f8081c548659d81e0938a055de1 (patch) | |
tree | 12c94da3989ad80585510bb84a0f7608dd9af46f | |
parent | 7860861841f9901f25d643ba3180191e07d1ab25 (diff) |
Add boolean value keywords
-rw-r--r-- | doc/grammar.txt | 3 | ||||
-rw-r--r-- | include/lex.h | 2 | ||||
-rw-r--r-- | src/lex.c | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/doc/grammar.txt b/doc/grammar.txt index f14ee1b..299e1f8 100644 --- a/doc/grammar.txt +++ b/doc/grammar.txt @@ -77,7 +77,8 @@ unaryprefix := [ "-" | "!" | "~" ] unarypostfix unarypostfix := primary [ "*" | "?" | "!" ] primary := grouping | literal | call | IDENT grouping := "(" expression ")" -literal := string | number | arrayelems | sliceelems +literal := bool | string | number | arrayelems | sliceelems +bool := "true" | "false" string := STRING* number := ( INTEGER integer ) | ( FLOAT float ) arrayelems := array "{" ( expression ), "}" diff --git a/include/lex.h b/include/lex.h index 5538280..d2d6f71 100644 --- a/include/lex.h +++ b/include/lex.h @@ -16,6 +16,7 @@ enum lexical_token { T_ENUM, T_EXPORT, T_EXTERN, + T_FALSE, T_FOR, T_FUNC, T_IF, @@ -25,6 +26,7 @@ enum lexical_token { T_PUB, T_RETURN, T_STRUCT, + T_TRUE, T_UNION, T_LAST_KEYWORD, @@ -18,6 +18,7 @@ const char *tokens[] = { [T_ENUM] = "enum", [T_EXPORT] = "export", [T_EXTERN] = "extern", + [T_FALSE] = "false", [T_FOR] = "for", [T_FUNC] = "func", [T_IF] = "if", @@ -27,6 +28,7 @@ const char *tokens[] = { [T_PUB] = "pub", [T_RETURN] = "return", [T_STRUCT] = "struct", + [T_TRUE] = "true", [T_UNION] = "union", [T_FLOAT32] = "float32", |