Java Supercompiler. Version 0.0.75. Copyright (c) 2001 Supercompilers, LLC. /* Supercompilation options -------------------------------------------------------------------- internal option name | command line option = value -------------------------------------------------------------------- method | -method <method identifier> = test allMethods | -allMethods, -allm, -am = false destinationDir | -destination <directory> = invokeLimit | -invoke<n>, -i<n> = no recurLimit | -recur<n>, -r<n> = 5 arrayLimit | -arrayLimit<n>, -al<n> = 10 joinLabeled | -joinLabeled, -jla, -join, -j = true joinTree | -joinLoop, -jl, -join, -j = true joinTreeR | -joinIf, -ji, -join, -j = true unfoldLoopNumber | -loop<n>, -l<n> = 0 unfoldLoop_Empty () | -unfoldLoopEmpty, -ule, -ul1 = true unfoldLoop_Linear () | -unfoldLoopLinear, -ull, -ul2 = true unfoldLoop_NoBreak () | -unfoldLoopNoBreak, -ulnb, -ul = true defaultArrayElements | -[no]defaultArrayElements, -[no]dae = true multiplyZeroFP | -[no]multiplyZeroFP, -[no]mzfp = true changeAccessOrder | -[no]changeAccessOrder, -[no]cao = true --------------------------------------------------------------------*/ //-------------------------------------- 0 sec - field tmdiv3.CURRENT_STATE //-------------------------------------- 0 sec - postprocessing... public static final int CURRENT_STATE = 0; //-------------------------------------- 0 sec - field tmdiv3.CURRENT_SYMBOL //-------------------------------------- 0 sec - postprocessing... public static final int CURRENT_SYMBOL = 1; //-------------------------------------- 0 sec - field tmdiv3.NEXT_SYMBOL //-------------------------------------- 0 sec - postprocessing... public static final int NEXT_SYMBOL = 2; //-------------------------------------- 0 sec - field tmdiv3.NEXT_STATE //-------------------------------------- 0 sec - postprocessing... public static final int NEXT_STATE = 3; //-------------------------------------- 0 sec - field tmdiv3.MOVE //-------------------------------------- 0 sec - postprocessing... public static final int MOVE = 4; //-------------------------------------- 0 sec - field tmdiv3.instruction //-------------------------------------- 0 sec - postprocessing... public static final java.lang.String[][] instruction = new java.lang.String[][] {{"start", "0", "0", "start", "right"}, {"start", "1", "1", "q1", "right"}, {"start", "2", "2", "q2", "right"}, {"start", "3", "3", "start", "right"}, {"start", "4", "4", "q1", "right"}, {"start", "5", "5", "q2", "right"}, {"start", "6", "6", "start", "right"}, {"start", "7", "7", "q1", "right"}, {"start", "8", "8", "q2", "right"}, {"start", "9", "9", "start", "right"}, {"start", " ", " ", "q0stop", "right"}, {"q1", "0", "0", "q1", "right"}, {"q1", "1", "1", "q2", "right"}, {"q1", "2", "2", "start", "right"}, {"q1", "3", "3", "q1", "right"}, {"q1", "4", "4", "q2", "right"}, {"q1", "5", "5", "start", "right"}, {"q1", "6", "6", "q1", "right"}, {"q1", "7", "7", "q2", "right"}, {"q1", "8", "8", "start", "right"}, {"q1", "9", "9", "q1", "right"}, {"q1", " ", " ", "q1stop", "right"}, {"q2", "0", "0", "q2", "right"}, {"q2", "1", "1", "start", "right"}, {"q2", "2", "2", "q1", "right"}, {"q2", "3", "3", "q2", "right"}, {"q2", "4", "4", "start", "right"}, {"q2", "5", "5", "q1", "right"}, {"q2", "6", "6", "q2", "right"}, {"q2", "7", "7", "start", "right"}, {"q2", "8", "8", "q1", "right"}, {"q2", "9", "9", "q2", "right"}, {"q2", " ", " ", "q2stop", "right"}, {"q0stop", " ", "0", "stop", "right"}, {"q1stop", " ", "1", "stop", "right"}, {"q2stop", " ", "2", "stop", "right"}}; //-------------------------------------- 0 sec - method tmdiv3.test() //-------------------------------------- 1 sec - postprocessing... public static void test () { tmdiv3.state = "start"; while (tmdiv3.state != "stop") { if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "0") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "0"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "1") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "1"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "2") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "2"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "3") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "3"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "4") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "4"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "5") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "5"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "6") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "6"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "7") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "7"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "8") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "8"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == "9") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "9"; tmdiv3.head++;} if (tmdiv3.state == "start" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "q0stop"; tmdiv3.tape[tmdiv3.head] = " "; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "0") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "0"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "1") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "1"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "2") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "2"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "3") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "3"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "4") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "4"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "5") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "5"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "6") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "6"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "7") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "7"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "8") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "8"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == "9") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "9"; tmdiv3.head++;} if (tmdiv3.state == "q1" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "q1stop"; tmdiv3.tape[tmdiv3.head] = " "; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "0") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "0"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "1") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "1"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "2") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "2"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "3") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "3"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "4") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "4"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "5") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "5"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "6") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "6"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "7") { tmdiv3.state = "start"; tmdiv3.tape[tmdiv3.head] = "7"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "8") { tmdiv3.state = "q1"; tmdiv3.tape[tmdiv3.head] = "8"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == "9") { tmdiv3.state = "q2"; tmdiv3.tape[tmdiv3.head] = "9"; tmdiv3.head++;} if (tmdiv3.state == "q2" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "q2stop"; tmdiv3.tape[tmdiv3.head] = " "; tmdiv3.head++;} if (tmdiv3.state == "q0stop" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "stop"; tmdiv3.tape[tmdiv3.head] = "0"; tmdiv3.head++;} if (tmdiv3.state == "q1stop" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "stop"; tmdiv3.tape[tmdiv3.head] = "1"; tmdiv3.head++;} if (tmdiv3.state == "q2stop" && tmdiv3.tape[tmdiv3.head] == " ") { tmdiv3.state = "stop"; tmdiv3.tape[tmdiv3.head] = "2"; tmdiv3.head++;} continue;} /*while*/ return; } //-------------------------------------- 2 sec - JScp version 0.0.75