@@ -4,22 +4,11 @@ import io.github.kelvindev15.prolog.core.Constant.Atom
44import  io .github .kelvindev15 .prolog .core .PrologList .Cons 
55import  io .github .kelvindev15 .prolog .core .* 
66import  it .unibo .tuprolog .core 
7- import  it .unibo .tuprolog .core .{
8-   TermVisitor ,
9-   Atom  as  KAtom ,
10-   Cons  as  KCons ,
11-   Constant  as  KConstant ,
12-   EmptyList  as  KEmptyList ,
13-   Integer  as  KInteger ,
14-   Real  as  KReal ,
15-   Struct  as  KStruct ,
16-   Term  as  KTerm ,
17-   Var  as  KVariable 
18- }
7+ import  it .unibo .tuprolog .core .{Block , Clause , Directive , Empty , EmptyBlock , Fact , Indicator , Recursive , Rule , TermVisitor , Truth , Atom  as  KAtom , Cons  as  KCons , Constant  as  KConstant , EmptyList  as  KEmptyList , Integer  as  KInteger , Real  as  KReal , Struct  as  KStruct , Term  as  KTerm , Var  as  KVariable }
198
209import  scala .jdk .CollectionConverters .* 
2110
22- /**  Converts the [[Term ]] hierarchy to a tuProlog [[KTerm ]] hierarchy */ 
11+ /**  Converts the [[KTerm ]] hierarchy to a tuProlog [[Term ]] hierarchy */ 
2312private [tuprolog] object  From2PKtTermVisitor  extends  TermVisitor [Term ]: 
2413
2514  override  def  defaultValue (term : KTerm ):  Term  =  term match 
@@ -29,6 +18,7 @@ private[tuprolog] object From2PKtTermVisitor extends TermVisitor[Term]:
2918    case  variable : KVariable    =>  visitVar(variable)
3019    case  constant : KConstant    =>  visitConstant(constant)
3120    case  struct : KStruct        =>  visitStruct(struct)
21+     case  _ =>  throw  NotImplementedError (s " The 2p-kt  $term term cannot be currently converted to a term " )
3222
3323  override  def  visitAtom (term : KAtom ):  Atom  =  Atom (term.getValue)
3424
@@ -51,3 +41,35 @@ private[tuprolog] object From2PKtTermVisitor extends TermVisitor[Term]:
5141  override  def  visitConstant (term : KConstant ):  Term  =  term match 
5242    case  integer : KInteger  =>  Constant (integer.getValue.toInt)
5343    case  double : KReal      =>  Constant (double.getValue.toDouble)
44+ 
45+   override  def  visitBlock (block : Block ):  Term  =  defaultValue(block)
46+ 
47+   override  def  visitClause (clause : Clause ):  Term  =  defaultValue(clause)
48+ 
49+   override  def  visitCollection (recursive : Recursive ):  Term  =  defaultValue(recursive)
50+ 
51+   override  def  visitDirective (directive : Directive ):  Term  =  defaultValue(directive)
52+ 
53+   override  def  visitEmpty (empty : Empty ):  Term  =  defaultValue(empty)
54+ 
55+   override  def  visitEmptyBlock (emptyBlock : EmptyBlock ):  Term  =  defaultValue(emptyBlock)
56+ 
57+   override  def  visitFact (fact : Fact ):  Term  =  defaultValue(fact)
58+ 
59+   override  def  visitIndicator (indicator : Indicator ):  Term  =  defaultValue(indicator)
60+ 
61+   override  def  visitInteger (integer : KInteger ):  Term  =  defaultValue(integer)
62+ 
63+   override  def  visitList (list : core.List ):  Term  =  defaultValue(list)
64+ 
65+   override  def  visitNumeric (numeric : core.Numeric ):  Term  =  defaultValue(numeric)
66+ 
67+   override  def  visitReal (real : KReal ):  Term  =  defaultValue(real)
68+ 
69+   override  def  visitRule (rule : Rule ):  Term  =  defaultValue(rule)
70+ 
71+   override  def  visitTerm (term : KTerm ):  Term  =  defaultValue(term)
72+ 
73+   override  def  visitTruth (truth : Truth ):  Term  =  defaultValue(truth)
74+ 
75+   override  def  visitTuple (tuple : core.Tuple ):  Term  =  defaultValue(tuple)
0 commit comments