This commit is contained in:
2024-02-21 15:08:01 +01:00
parent b6949f6a73
commit b388a6a95c
11 changed files with 31 additions and 8 deletions

View File

@ -11,9 +11,9 @@ class Parser():
('left', ["KEYWORD_MAYBE", "KEYWORD_RETURN"]),
('left', ["KEYWORD_IF", "KEYWORD_BECAUSE", "KEYWORD_UNTIL", "KEYWORD_DEFINE", "KEYWORD_AS"]),
('left', ["KEYWORD_DO", "BUILTIN", "SYMBOL_SET"]),
('left', ["SYMBOL_EQUALS"]),
('left', ["SYMBOL_PLUS", "SYMBOL_MINUS"]),
('left', ["SYMBOL_TIMES", "SYMBOL_DIVIDE", "SYMBOL_LT","SYMBOL_GT"])
('left', ["SYMBOL_EQUALS", "SYMBOL_LT","SYMBOL_GT"]),
('left', ["SYMBOL_PLUS", "SYMBOL_MINUS", "SYMBOL_OR", "SYMBOL_AND"]),
('left', ["SYMBOL_TIMES", "SYMBOL_DIVIDE", "SYMBOL_TILDE"])
]
)
@ -118,6 +118,15 @@ class Parser():
def exp_a_binop(tokens):
return ast_nodes.ExpABinop(tokens[1].value,tokens[0],tokens[2])
@self.pg.production('expression : expression SYMBOL_OR expression')
@self.pg.production('expression : expression SYMBOL_AND expression')
def exp_b_binop(tokens):
pass
@self.pg.production('expression : SYMBOL_TILDE expression')
def exp_not(tokens):
pass
@self.pg.production('expression : KEYWORD_ARGUMENT ARG')
def exp_arg(tokens):
return ast_nodes.ExpArg(int(tokens[1].value[1:]))