blob: ddd4823ccc009c51c2070e59c3d4d78d5eb746c6 [file] [log] [blame]
package com.googlecode.prolog_cafe.lang;
import com.googlecode.prolog_cafe.exceptions.PrologException;
/**
* Initial backtrak point.<br>
*
* @author Mutsunori Banbara (banbara@kobe-u.ac.jp)
* @author Naoyuki Tamura (tamura@kobe-u.ac.jp)
* @version 1.2
*/
public class Failure extends Operation {
public static final Failure FAILURE = new Failure();
private Failure() {}
@Override
public Operation exec(Prolog engine) {
engine.control.fail();
engine.halt = 1; // halt(0)
return null;
}
/** Returns a string representation of this <code>Failure</code>. */
@Override
public String toString(){ return "Failure"; }
public static final Operation fail_0 = new PRED_fail_0();
private static final class PRED_fail_0 extends Operation {
@Override
public Operation exec(Prolog engine) throws PrologException {
engine.setB0();
return engine.fail();
}
}
}