🐐 More compound operators

This commit is contained in:
2026-04-24 16:26:17 +02:00
parent 76bf509d48
commit ea72c91870
10 changed files with 45 additions and 4 deletions
+2
View File
@@ -11,6 +11,7 @@ keyword_tokens = [("KEYWORD_"+i, i) for i in [
"DEFINI",
"DESIGNA",
"DISPAR",
"DIVIDE",
"DONICVM",
"DVM",
"CONTINVA",
@@ -26,6 +27,7 @@ keyword_tokens = [("KEYWORD_"+i, i) for i in [
"IN",
"MINVE",
"MINVS",
"MVLTIPLICA",
"NON",
"NVLLVS",
"PER",
+8
View File
@@ -198,6 +198,14 @@ class Parser():
def statement_minve(tokens):
return ast_nodes.Designa(tokens[0], ast_nodes.BinOp(tokens[0], tokens[2], "SYMBOL_MINUS"))
@self.pg.production('statement : id KEYWORD_MVLTIPLICA expression')
def statement_mvltiplica(tokens):
return ast_nodes.Designa(tokens[0], ast_nodes.BinOp(tokens[0], tokens[2], "SYMBOL_TIMES"))
@self.pg.production('statement : id KEYWORD_DIVIDE expression')
def statement_divide(tokens):
return ast_nodes.Designa(tokens[0], ast_nodes.BinOp(tokens[0], tokens[2], "SYMBOL_DIVIDE"))
@self.pg.production('statement : expression')
def statement_expression(tokens):
return ast_nodes.ExpressionStatement(tokens[0])