48 lines
876 B
Python
48 lines
876 B
Python
|
# python commands
|
||
|
|
||
|
import sys
|
||
|
# import collections
|
||
|
|
||
|
# generated by swig
|
||
|
import yap
|
||
|
|
||
|
# make sure Python knows about engine
|
||
|
engine = None
|
||
|
|
||
|
# Mappings between functors and types
|
||
|
#
|
||
|
# they are used to have the same type f1or several occurences
|
||
|
# of the same functor, and to ensure that an object is indeed
|
||
|
# a Prolog compound term.
|
||
|
#
|
||
|
dictF2P = {}
|
||
|
|
||
|
|
||
|
class A:
|
||
|
"""Represents a non-interned Prolog atom"""
|
||
|
def __init__(self, s):
|
||
|
self.a = s
|
||
|
|
||
|
def __repr__(self):
|
||
|
return "A(" + self.a + ")"
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.a
|
||
|
|
||
|
|
||
|
class V:
|
||
|
"""Wraps a term, or a reference to a logical variables"""
|
||
|
def __init__(self, t):
|
||
|
print(type(t))
|
||
|
self.v = t
|
||
|
|
||
|
def __repr__(self):
|
||
|
return "V(" + str(self.v) + ")"
|
||
|
|
||
|
def __str__(self):
|
||
|
return engine.getTerm(self.v).text()
|
||
|
|
||
|
def handle(self):
|
||
|
return self.v
|
||
|
|