public Object visitPredicate(Predicate predicate, Object arg) { foreach (Term t in predicate.getTerms()) { t.accept(this, arg); } return predicate; }
public Object visitPredicate(Predicate predicate, Object arg) { List<Term> terms = predicate.getTerms(); List<Term> newTerms = new List<Term>(); for (int i = 0; i < terms.Count; i++) { Term t = terms[i]; Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Predicate(predicate.getPredicateName(), newTerms); }
// END-AtomicSentence // public override bool Equals(Object o) { if (this == o) { return(true); } if (!(o is Predicate)) { return(false); } Predicate p = (Predicate)o; return(p.getPredicateName().Equals(getPredicateName()) && p.getTerms().Equals(getTerms())); }
// // START-FOLVisitor public Object visitPredicate(Predicate p, Object arg) { List<Term> newTerms = new List<Term>(); foreach (Term t in p.getTerms()) { Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Predicate(p.getPredicateName(), newTerms); }