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 brackets.CURRENT_STATE //-------------------------------------- 0 sec - postprocessing... public static final int CURRENT_STATE = 0; //-------------------------------------- 0 sec - field brackets.CURRENT_SYMBOL //-------------------------------------- 0 sec - postprocessing... public static final int CURRENT_SYMBOL = 1; //-------------------------------------- 0 sec - field brackets.NEXT_SYMBOL //-------------------------------------- 0 sec - postprocessing... public static final int NEXT_SYMBOL = 2; //-------------------------------------- 0 sec - field brackets.NEXT_STATE //-------------------------------------- 0 sec - postprocessing... public static final int NEXT_STATE = 3; //-------------------------------------- 0 sec - field brackets.MOVE //-------------------------------------- 0 sec - postprocessing... public static final int MOVE = 4; //-------------------------------------- 0 sec - field brackets.instruction //-------------------------------------- 0 sec - postprocessing... public static final java.lang.String[][] instruction = new java.lang.String[][] {{"start", "*", "*", "qb", "right"}, {"qb", "L", "L", "qb", "right"}, {"qb", "R", "R", "qb", "right"}, {"qb", "(", "(", "qb", "right"}, {"qb", "*", " ", "qd", "left"}, {"qb", ")", "R", "qc", "left"}, {"qc", "L", "L", "qc", "left"}, {"qc", "R", "R", "qc", "left"}, {"qc", "(", "L", "qb", "right"}, {"qc", "*", "0", "stop", "right"}, {"qd", "L", "(", "qd", "left"}, {"qd", "R", ")", "qd", "left"}, {"qd", "(", "0", "stop", "right"}, {"qd", "*", "1", "stop", "right"}}; //-------------------------------------- 0 sec - method brackets.test() //-------------------------------------- 0 sec - postprocessing... public static void test () { brackets.state = "start"; while (brackets.state != "stop") { if (brackets.state == "start" && brackets.tape[brackets.head] == "*") { brackets.state = "qb"; brackets.tape[brackets.head] = "*"; brackets.head++;} if (brackets.state == "qb" && brackets.tape[brackets.head] == "L") { brackets.state = "qb"; brackets.tape[brackets.head] = "L"; brackets.head++;} if (brackets.state == "qb" && brackets.tape[brackets.head] == "R") { brackets.state = "qb"; brackets.tape[brackets.head] = "R"; brackets.head++;} if (brackets.state == "qb" && brackets.tape[brackets.head] == "(") { brackets.state = "qb"; brackets.tape[brackets.head] = "("; brackets.head++;} if (brackets.state == "qb" && brackets.tape[brackets.head] == "*") { brackets.state = "qd"; brackets.tape[brackets.head] = " "; brackets.head--;} if (brackets.state == "qb" && brackets.tape[brackets.head] == ")") { brackets.state = "qc"; brackets.tape[brackets.head] = "R"; brackets.head--;} if (brackets.state == "qc" && brackets.tape[brackets.head] == "L") { brackets.state = "qc"; brackets.tape[brackets.head] = "L"; brackets.head--;} if (brackets.state == "qc" && brackets.tape[brackets.head] == "R") { brackets.state = "qc"; brackets.tape[brackets.head] = "R"; brackets.head--;} if (brackets.state == "qc" && brackets.tape[brackets.head] == "(") { brackets.state = "qb"; brackets.tape[brackets.head] = "L"; brackets.head++;} if (brackets.state == "qc" && brackets.tape[brackets.head] == "*") { brackets.state = "stop"; brackets.tape[brackets.head] = "0"; brackets.head++;} if (brackets.state == "qd" && brackets.tape[brackets.head] == "L") { brackets.state = "qd"; brackets.tape[brackets.head] = "("; brackets.head--;} if (brackets.state == "qd" && brackets.tape[brackets.head] == "R") { brackets.state = "qd"; brackets.tape[brackets.head] = ")"; brackets.head--;} if (brackets.state == "qd" && brackets.tape[brackets.head] == "(") { brackets.state = "stop"; brackets.tape[brackets.head] = "0"; brackets.head++;} if (brackets.state == "qd" && brackets.tape[brackets.head] == "*") { brackets.state = "stop"; brackets.tape[brackets.head] = "1"; brackets.head++;} continue;} /*while*/ return; } //-------------------------------------- 1 sec - JScp version 0.0.75