diff --git a/ast_nodes.py b/ast_nodes.py index 2eed3d5..895d82c 100644 --- a/ast_nodes.py +++ b/ast_nodes.py @@ -69,7 +69,7 @@ class DataRangeArray(BaseBox): content_string = rep_join([self.from_value, self.to_value]) return f"RangeArray([{content_string}])" - def eval(self, vtable, ftable, modules): + def eval(self, *_): content = list(range(self.from_value.eval(), self.to_value.eval())) return content diff --git a/main.py b/main.py index 0cb5b72..3d56b0b 100644 --- a/main.py +++ b/main.py @@ -2,23 +2,13 @@ from lexer import Lexer from parser import Parser text_input = """ -VOCA FORS - -DESIGNA correct UT FORTIS_NUMERUS I C -DESIGNA gvess UT NULLUS - -DUM FALSITAS FACE { - DESIGNA gvess UT AUDI_NUMERUS - SI gvess MINUS correct TUNC { - DICE "Too low!" - } ALUID SI gvess PLUS correct TUNC { - DICE "Too high!" - } ALUID { - ERUMPE - } +DEFINI invoca i UT { + REDI i } -DICE "You guessed correctly!" +DESIGNA invoca UT I + +DICE (INVOCA invoca invoca) """ lexer = Lexer().get_lexer() @@ -28,7 +18,7 @@ parser = pg.get_parser() tokens = lexer.lex(text_input) #for token in tokens: -# print(token) +# print(token) x = parser.parse(tokens) #print(x) diff --git a/parser.py b/parser.py index cc73107..1e9a956 100644 --- a/parser.py +++ b/parser.py @@ -11,6 +11,7 @@ class Parser(): self.pg = ParserGenerator( ALL_TOKENS, precedence=[ + ('left', ["KEYWORD_PLUS", "KEYWORD_MINUS", "KEYWORD_EST"]), ('left', ["SYMBOL_PLUS", "SYMBOL_MINUS"]), ('left', ["SYMBOL_TIMES", "SYMBOL_DIVIDE"]) ]