package formulaVisited;


/**
  The type of all logic formulas that accept visitors.
*/
public interface Formula {
  /**
    Accepts a visitor.
    Each subclass implements this method as 
    <code>{  return _v.visit(this);  }</code>,
    and the compiler identifies the right {@link Visitor} method
    based on the subclass (which is the type of <code>this</code>).
    @param _v The visitor.
    @return The result _v calculates for this formula.
  */
  public Object accept(Visitor _v);

}

