summaryrefslogtreecommitdiff
path: root/bu-parser.h
diff options
context:
space:
mode:
authorPedro Souza <pedro@masba.net>2024-04-03 07:27:36 -0300
committerPedro Souza <pedro@masba.net>2024-04-03 07:27:36 -0300
commitc5921aec313cefa8bd6e8f4c70f057c137133028 (patch)
treed89973053a228b4d0973796e80a1063ec4999475 /bu-parser.h
parent131dfc5e9f810b1c1e1fb1d75e781842ec601a65 (diff)
add parethesis support
Diffstat (limited to 'bu-parser.h')
-rw-r--r--bu-parser.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/bu-parser.h b/bu-parser.h
index 7dc7034..8910b5d 100644
--- a/bu-parser.h
+++ b/bu-parser.h
@@ -7,17 +7,10 @@
#include "tree.h"
/* PRODUCTION RULES
-
- <expr> ::= <expr> <binary_op> <expr> | <unary_op> <expr> | <var>
+ <expr> ::= <expr> <binary_op> <expr> | <unary_op> <expr> | "(" <expr> ")" | <var>
<binary_op> ::= "*" | "+"
<unary_op> ::= "!"
<var> ::= r#[a-z]
-
- */
-
-/* POSSIBILITIES
- a-z => var
-
*/
enum parser_state {
@@ -31,6 +24,8 @@ enum token_id {
TOKEN_BINARY_OPERATOR,
TOKEN_UNARY_OPERATOR,
TOKEN_VARIABLE,
+ TOKEN_OPEN_PAREN,
+ TOKEN_CLOSE_PAREN,
TOKEN_EOS,
TOKEN_OOB,
TOKEN_MAX,