X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=mjc2wsl.git;a=blobdiff_plain;f=src%2Fmjc2wsl.java;h=a552b08b0a96cbea0dd148be49876ecb1dcf13a0;hp=9eff3add933badbc57bfa5fd18639bfabb8f0318;hb=971602ed888ad2769f927a4f1a48b4e03b8c2ec4;hpb=786d08226c4b4749d7004aff32276c612feef110 diff --git a/src/mjc2wsl.java b/src/mjc2wsl.java index 9eff3ad..a552b08 100644 --- a/src/mjc2wsl.java +++ b/src/mjc2wsl.java @@ -501,13 +501,8 @@ public class mjc2wsl{ } case arraylength: { prl(createTopEStack()); - // TODO make an array length function of some sort! - prl(createComment( - "array length not known - LENGTH not aplicable to arrays", - C_ERR)); - messages.message("array length not known - LENGTH not aplicable to arrays", TransMessages.M_ERR); - prl(createComment("put 1 on the stack for consistency", C_SPEC)); - prl(createToEStack(1)); + prl("tempb := LENGTH("+ createArray("tempa") + ");"); + prl(createToEStack("tempb")); break; } @@ -622,7 +617,7 @@ public class mjc2wsl{ else prl("CALL a" + counter + " END"); } - prl("CALL Z;\nSKIP END\nENDACTIONS;\n"); + prl("\nSKIP END\nENDACTIONS;\n"); prl(createStandardEnd()); } @@ -671,9 +666,10 @@ public class mjc2wsl{ } public void printHelpHelp() { - System.out.println("Help options"); + System.out.println("Help and info options"); System.out.println(" -h basic help"); System.out.println(" --help print more detailed help"); + System.out.println(" --version or -version print version and exit"); } public void printUsage(){ @@ -704,6 +700,10 @@ public class mjc2wsl{ } else if (args[i].compareTo("--help") == 0) { printLongHelp(); return; + } else if (args[i].compareTo("--version") == 0 + || args[i].compareTo("-version") == 0) { + printVersion(); + return; } else if (args[i].compareTo("-o") == 0 || args[i].startsWith("--oc")) { if (args[i].length() == 2)