This commit is contained in:
NikolajDanger
2022-06-08 13:30:17 +02:00
parent 912c46ab7c
commit 935c90f645
3 changed files with 8 additions and 17 deletions

View File

@@ -69,7 +69,7 @@ class DataRangeArray(BaseBox):
content_string = rep_join([self.from_value, self.to_value]) content_string = rep_join([self.from_value, self.to_value])
return f"RangeArray([{content_string}])" 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())) content = list(range(self.from_value.eval(), self.to_value.eval()))
return content return content

22
main.py
View File

@@ -2,23 +2,13 @@ from lexer import Lexer
from parser import Parser from parser import Parser
text_input = """ text_input = """
VOCA FORS DEFINI invoca i UT {
REDI i
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
}
} }
DICE "You guessed correctly!" DESIGNA invoca UT I
DICE (INVOCA invoca invoca)
""" """
lexer = Lexer().get_lexer() lexer = Lexer().get_lexer()
@@ -28,7 +18,7 @@ parser = pg.get_parser()
tokens = lexer.lex(text_input) tokens = lexer.lex(text_input)
#for token in tokens: #for token in tokens:
# print(token) # print(token)
x = parser.parse(tokens) x = parser.parse(tokens)
#print(x) #print(x)

View File

@@ -11,6 +11,7 @@ class Parser():
self.pg = ParserGenerator( self.pg = ParserGenerator(
ALL_TOKENS, ALL_TOKENS,
precedence=[ precedence=[
('left', ["KEYWORD_PLUS", "KEYWORD_MINUS", "KEYWORD_EST"]),
('left', ["SYMBOL_PLUS", "SYMBOL_MINUS"]), ('left', ["SYMBOL_PLUS", "SYMBOL_MINUS"]),
('left', ["SYMBOL_TIMES", "SYMBOL_DIVIDE"]) ('left', ["SYMBOL_TIMES", "SYMBOL_DIVIDE"])
] ]