package lrs;
/**
* Represents an abstract algorithm on an LRStruct. Acts as a visitor to a
* LRStruct host.
* @author Dung X. Nguyen Copyright 2001 - All rights reserved.
* @since 10/09/01
*/
public interface IAlgo {
/**
* Operates on an empty LRStruct host, given an input object.
* @param host an empty LRStruct.
* @param inp input object needed by this IVisitor.
* @return an appropriate output object.
*/
public abstract Object emptyCase(LRStruct host, Object inp);
/**
* Operates on a non-empty LRStruct host, given an input object.
* @param host a non-empty LRStruct.
* @param inp input object needed by this IVisitor.
* @return an appropriate output object.
*/
public abstract Object nonEmptyCase(LRStruct host, Object inp);
}