File tree 1 file changed +12
-3
lines changed
1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -996,10 +996,13 @@ def parser():
996
996
if token .token in variables :
997
997
token .token = variables [token .token ]
998
998
else :
999
- print ("Error: undefine variable! --> " + token .token )
999
+ print (f "Error: Undefined variable { token .token } " )
1000
1000
return
1001
+
1001
1002
elif token .t == "string" :
1002
- pass
1003
+
1004
+ token .token = str (token .token )
1005
+
1003
1006
elif isinstance (token .token , float ):
1004
1007
pass
1005
1008
elif token .token .isdigit ():
@@ -1161,7 +1164,7 @@ def parser():
1161
1164
zeroFlag = False
1162
1165
elif tmpToken .token == "ebx" :
1163
1166
ebx -= token .token
1164
-
1167
+
1165
1168
# update zero flag
1166
1169
if ebx == 0 :
1167
1170
zeroFlag = True
@@ -1249,6 +1252,9 @@ def parser():
1249
1252
# pop register from stack
1250
1253
match token .token :
1251
1254
case "eax" :
1255
+ if len (stack ) == 0 :
1256
+ print ("Error: Stack Underflow" )
1257
+ return
1252
1258
eax = stack .pop ()
1253
1259
case "ebx" :
1254
1260
ebx = stack .pop ()
@@ -1454,6 +1460,9 @@ def parser():
1454
1460
eax /= eax
1455
1461
1456
1462
case "ebx" :
1463
+ if ebx == 0 :
1464
+ print ("Error: Division by Zero" )
1465
+ return
1457
1466
eax /= ebx
1458
1467
1459
1468
case "ecx" :
You can’t perform that action at this time.
0 commit comments