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