Ejemplo n.º 1
0
std::vector<YAPTerm> YAPPairTerm::listToVector() {
  Term *tailp;
  Term t1 = gt();
  Int l = Yap_SkipList(&t1, &tailp);
  if (l < 0) {
    throw YAPError(SOURCE(), TYPE_ERROR_LIST, (t), nullptr);
  }
  std::vector<YAPTerm> o = *new std::vector<YAPTerm>(l);
  int i = 0;
  Term t = gt();
  while (t != TermNil) {
    o[i++] = YAPTerm(HeadOfTerm(t));
    t = TailOfTerm(t);
  }
  return o;
}
Ejemplo n.º 2
0
YAPTerm  YAPApplTerm::getArg(int arg) {
  BACKUP_H();
  YAPTerm to = YAPTerm( ArgOfTerm(arg, gt() ) );
  RECOVER_H();
  return to;
}
Ejemplo n.º 3
0
const char *YAPQuery::text() { return YAPTerm(goal).text(); }