File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -996,10 +996,13 @@ def parser():
996996 if token .token in variables :
997997 token .token = variables [token .token ]
998998 else :
999- print ("Error: undefine variable! --> " + token .token )
999+ print (f "Error: Undefined variable { token .token } " )
10001000 return
1001+
10011002 elif token .t == "string" :
1002- pass
1003+
1004+ token .token = str (token .token )
1005+
10031006 elif isinstance (token .token , float ):
10041007 pass
10051008 elif token .token .isdigit ():
@@ -1161,7 +1164,7 @@ def parser():
11611164 zeroFlag = False
11621165 elif tmpToken .token == "ebx" :
11631166 ebx -= token .token
1164-
1167+
11651168 # update zero flag
11661169 if ebx == 0 :
11671170 zeroFlag = True
@@ -1249,6 +1252,9 @@ def parser():
12491252 # pop register from stack
12501253 match token .token :
12511254 case "eax" :
1255+ if len (stack ) == 0 :
1256+ print ("Error: Stack Underflow" )
1257+ return
12521258 eax = stack .pop ()
12531259 case "ebx" :
12541260 ebx = stack .pop ()
@@ -1454,6 +1460,9 @@ def parser():
14541460 eax /= eax
14551461
14561462 case "ebx" :
1463+ if ebx == 0 :
1464+ print ("Error: Division by Zero" )
1465+ return
14571466 eax /= ebx
14581467
14591468 case "ecx" :
You can’t perform that action at this time.
0 commit comments