X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=mjc2wsl.git;a=blobdiff_plain;f=src%2Fcom%2Fquemaster%2Ftransformations%2Fmjc2wsl%2Fmjc2wsl.java;h=3bbdf6e018bf2ef5bfe13ca08cd463658f8f013c;hp=233d5ae76bf5b5ecf9f0a441be244593e1ffc510;hb=8684ef3ea2d843b29bf54b2078d2e0d17498f0f3;hpb=c32b5ce57ed98cda547444ba0c37293fe7a4bd9c diff --git a/src/com/quemaster/transformations/mjc2wsl/mjc2wsl.java b/src/com/quemaster/transformations/mjc2wsl/mjc2wsl.java index 233d5ae..3bbdf6e 100644 --- a/src/com/quemaster/transformations/mjc2wsl/mjc2wsl.java +++ b/src/com/quemaster/transformations/mjc2wsl/mjc2wsl.java @@ -1,6 +1,6 @@ package com.quemaster.transformations.mjc2wsl; /* - Copyright (C) 2014,2015, 2016 Doni Pracner + Copyright (C) 2014,2015, 2016, 2018 Doni Pracner This file is part of mjc2wsl. @@ -152,7 +152,7 @@ public class mjc2wsl{ return versionN; } - MicroJavaInput mjInput = new MicroJavaInput(); + private MicroJavaInput mjInput; private PrintWriter out = null; @@ -179,8 +179,15 @@ public class mjc2wsl{ public String createStandardStart(int numWords){ StringBuilder ret = new StringBuilder( - "C:\" This file automatically converted from microjava bytecode\";\n" - +"C:\" with mjc2wsl "+getVersion()+"\";\n"); + "C:\" This file was automatically converted from microjava bytecode\n" + +" using mjc2wsl "+getVersion()+"\n"); + + ret.append(" -options:"); + ret.append("\n localsAsArrays:"+genLocalsAsArray); + ret.append("\n localVarBlocks:"+genLocalVars); + ret.append("\n popPush:"+genPopPush); + ret.append("\n inlinePrint:"+genInlinePrint); + ret.append("\n\";\n"); ret.append("\nBEGIN"); ret.append("\nVAR <\n\t"); @@ -357,12 +364,10 @@ public class mjc2wsl{ } public void convertStream(InputStream ins) throws Exception{ - mjInput.setStream(ins); - //process start - mjInput.processHeader(this); - - prl(createStandardStart(mjInput.getNumberOfWords(this))); - prl("SKIP;\n ACTIONS a" + (14 + mjInput.getMainAdr(this)) + " :"); + mjInput = new MicroJavaInput(ins); + + prl(createStandardStart(mjInput.getNumberOfWords())); + prl("SKIP;\n ACTIONS a" + (14 + mjInput.getMainAdr()) + " :"); // the number of Locals for procedures; need to remember it for exits int numberOfLocals = 0;