001 /* 002 * Created on Sep 18, 2004 003 * 004 */ 005 package aima.logic.fol.parsing; 006 007 import aima.logic.fol.parsing.ast.ConnectedSentence; 008 import aima.logic.fol.parsing.ast.Constant; 009 import aima.logic.fol.parsing.ast.Function; 010 import aima.logic.fol.parsing.ast.NotSentence; 011 import aima.logic.fol.parsing.ast.Predicate; 012 import aima.logic.fol.parsing.ast.QuantifiedSentence; 013 import aima.logic.fol.parsing.ast.TermEquality; 014 import aima.logic.fol.parsing.ast.Variable; 015 016 /** 017 * @author Ravi Mohan 018 * 019 */ 020 public interface FOLVisitor { 021 public Object visitPredicate(Predicate p, Object arg); 022 023 public Object visitTermEquality(TermEquality equality, Object arg); 024 025 public Object visitVariable(Variable variable, Object arg); 026 027 public Object visitConstant(Constant constant, Object arg); 028 029 public Object visitFunction(Function function, Object arg); 030 031 public Object visitNotSentence(NotSentence sentence, Object arg); 032 033 public Object visitConnectedSentence(ConnectedSentence sentence, Object arg); 034 035 public Object visitQuantifiedSentence(QuantifiedSentence sentence, 036 Object arg); 037 038 }