X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=mjc2wsl.git;a=blobdiff_plain;f=src%2Fmjc2wsl.java;h=b807bc8d7be03f539ead619073a336d996f9af3d;hp=c269f20ef53852419341bd77ad9fd374c888d976;hb=8bb607fd38a590c89a42c2aa69ed916a8cbaf4d9;hpb=634914843ea9f862bb524d1aad91dffd13c27f15 diff --git a/src/mjc2wsl.java b/src/mjc2wsl.java index c269f20..b807bc8 100644 --- a/src/mjc2wsl.java +++ b/src/mjc2wsl.java @@ -189,7 +189,7 @@ public class mjc2wsl{ private String getRelationFor(int opcode) throws Exception { switch (opcode) { case jeq: return "="; - case jne: return "#"; + case jne: return "<>"; case jlt: return "<"; case jle: return "<="; case jgt: return ">"; @@ -287,7 +287,15 @@ public class mjc2wsl{ } case div: { prl(getTopTwo()); - prl("tempres := tempb / tempa;"); + prl("IF tempa = 0 THEN ERROR(\"division by zero\") FI;"); + prl("tempres := tempb DIV tempa;"); + prl(cmdToEStack("tempres")); + break; + } + case rem: { + prl(getTopTwo()); + prl("IF tempa = 0 THEN ERROR(\"division by zero\") FI;"); + prl("tempres := tempb MOD tempa;"); prl(cmdToEStack("tempres")); break; }