Skip to content

Commit 6f6400a

Browse files
authored
Merge pull request #12 from IagoMendes/v2.3
fixes v2.3.2
2 parents c66cbe4 + 2f3de9f commit 6f6400a

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

Classes/node.py

+11-12
Original file line numberDiff line numberDiff line change
@@ -253,15 +253,14 @@ def __init__(self, children):
253253
super().__init__(None, children)
254254

255255
def Evaluate(self):
256-
self.children[0].Evaluate()
257-
compiler.newInstruction(f"CMP EBX, False")
258-
compiler.newInstruction(f"JE exit_{self.i}")
259-
self.children[1].Evaluate()
260-
compiler.newInstruction(f"exit_{self.i}: ;")
261-
262-
if not (self.children[2] is None):
263-
self.children[0].Evaluate()
264-
compiler.newInstruction(f"CMP EBX, False")
265-
compiler.newInstruction(f"JNE exit_else_{self.i}")
266-
self.children[2].Evaluate()
267-
compiler.newInstruction(f"exit_else_{self.i}: ;")
256+
if (self.children[0].Evaluate()[0] != 'STRING'):
257+
if (self.children[2] is None):
258+
if (self.children[0].Evaluate()[1]):
259+
self.children[1].Evaluate()
260+
else:
261+
if (self.children[0].Evaluate()[1]):
262+
self.children[1].Evaluate()
263+
else:
264+
self.children[2].Evaluate()
265+
else:
266+
raise NameError("Cannot use string as single argument.")

Classes/parser.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def parseFactor():
205205
result = Identifier(Parser.tokens.actual.value)
206206
Parser.tokens.selectNext()
207207

208-
elif (Parser.tokens.actual.type == 'TRUE' or Parser.tokens.actual.type == 'TRUE'):
208+
elif (Parser.tokens.actual.type == 'TRUE' or Parser.tokens.actual.type == 'FALSE'):
209209
result = BoolVal(Parser.tokens.actual.value)
210210
Parser.tokens.selectNext()
211211

0 commit comments

Comments
 (0)