package eis.iilang;
/**
* This interface adheres to the visitor pattern
* (@see <a href="http://en.wikipedia.org/wiki/Visitor_pattern">http://en.wikipedia.org/wiki/Visitor_pattern</a>).
* It should be used whenever an IIL-element is to be transformed into another representation.
* For each such representation a specialized visitor is expected.
* @author tristanbehrens
*
*/
public interface IILVisitor {
public Object visit(Action element);
public Object visit(DataContainer element);
public Object visit(Function element);
public Object visit(Identifier element);
public Object visit(IILElement element);
public Object visit(Numeral element);
public Object visit(Parameter element);
public Object visit(ParameterList element);
public Object visit(Percept element);
public Object visit(TruthValue element);
}