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