gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/src/mjc2wsl.java b/src/mjc2wsl.java
--- a/src/mjc2wsl.java
+++ b/src/mjc2wsl.java
"C:\" This file automatically converted from microjava bytecode\";\n"
+"C:\" with mjc2wsl v "+versionN+"\";\n");
"C:\" This file automatically converted from microjava bytecode\";\n"
+"C:\" with mjc2wsl v "+versionN+"\";\n");
- ret.append("VAR < tempa := 0, tempb := 0, tempres :=0,\n");
+ ret.append("VAR < tempa := 0, tempb := 0, tempres :=0,\n\t");
for (int i = 0; i <= 3; i++)
for (int i = 0; i <= 3; i++)
- ret.append("loc" + i + " := 0, ");
- ret.append("\n estack := < >, mstack := < >, t_e_m_p := 0 > :");
+ ret.append("mjvm_loc" + i + " := 0, ");
+ ret.append("\n mjvm_estack := < >, mjvm_mstack := < >, ");
+ ret.append("\n mjvm_fp := 0, mjvm_sp := 0,");
+ ret.append("\n t_e_m_p := 0 > :");
return ret.toString();
}
return ret.toString();
}
}
private String loc(int i){
}
private String loc(int i){
- return "loc" + i;
+ return "mjvm_loc" + i;
}
/**
}
/**
//Expression stack
private String cmdToEStack(int i) {
//Expression stack
private String cmdToEStack(int i) {
- return "estack := <" + i + " > ++ estack;";
+ return "mjvm_estack := <" + i + " > ++ mjvm_estack;";
}
private String cmdToEStack(String i) {
}
private String cmdToEStack(String i) {
- return "estack := <" + i + " > ++ estack;";
+ return "mjvm_estack := <" + i + " > ++ mjvm_estack;";
}
private String cmdFromEStack(String st) {
}
private String cmdFromEStack(String st) {
- return st + " := HEAD(estack); estack := TAIL(estack);";
+ return st + " := HEAD(mjvm_estack); mjvm_estack := TAIL(mjvm_estack);";
}
private String getTopTwo(){
}
private String getTopTwo(){
//Method stack
private String cmdToMStack(int i) {
//Method stack
private String cmdToMStack(int i) {
- return "mstack := <" + i + " > ++ mstack;";
+ return "mjvm_mstack := <" + i + " > ++ mjvm_mstack;";
}
private String cmdToMStack(String i) {
}
private String cmdToMStack(String i) {
- return "mstack := <" + i + " > ++ mstack;";
+ return "mjvm_mstack := <" + i + " > ++ mjvm_mstack;";
}
private String cmdFromMStack(String st) {
}
private String cmdFromMStack(String st) {
- return st + " := HEAD(mstack); mstack := TAIL(mstack);";
+ return st + " := HEAD(mjvm_mstack); mjvm_mstack := TAIL(mjvm_mstack);";
}
private String getRelationFor(int opcode) throws Exception {
}
private String getRelationFor(int opcode) throws Exception {
}
case return_: {
}
case return_: {
- prl(createComment("return not fully procesed yet"));
- message("return not fully procesed yet", M_WAR);
+ prl("IF EMPTY?(mjvm_mstack) THEN CALL Z ELSE");
+ //else we let things return
+ prl(cmdFromMStack("tempa"));
+ prl("SKIP FI");
+ prl("END b"+counter+" ==");
break;
}
case enter: {
break;
}
case enter: {