DSPython  00.03.03 — 25 juin 2012
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Fonctions membres publiques | Fonctions membres publiques statiques
Référence de la classe DSPython.combinator.Combinator

Combinateur (Sequence non vide dont le premier élément est un Atom et les suivants des Combinator) Plus de détails...

Liste de tous les membres

Fonctions membres publiques

def __init__
 Initialise le Combinator.
def __and__
 self & other
def __call__
 Renvoie (le combinateur évalué, le nombre d'étapes réalisées)
def __cmp__
 cmp(self, other)
def __contains__
 item in self ?
def __eq__
 self == other ?
def __getitem__
 self[key]
def __hash__
 Hashcode de self.
def __int__
 Nombre naturel correspondant à self.
def __len__
 Renvoie la longueur du combinateur.
def __ne__
 self != other ?
def __nonzero__
 self == K ?
def __or__
 self | other
def __repr__
 Renvoie le combinateur sous forme de string "Combinator('...')".
def __str__
 Renvoie le combinateur sous forme de string.
def __xor__
 self ^ other
def atomic_is
 Renvoie True si le combinateur est atomique, False sinon.
def bnot
 Non self.
def change_atom
 Renvoie le combinateur dans lequel chaque Atom atom est remplacé par new.
def depth
 Renvoie la profondeur du combinateur.
def nb_atom
 Renvoie le nombre de combinateurs atomiques composant le combinateur (sa taille)
def stable_is
 Combinateur stable.

Fonctions membres publiques statiques

def n_to
 Renvoie le combinateur correspondant au nombre naturel n selon le système spécifié par natural_sys.
def n_to_Barendregt
 Renvoie le combinateur correspondant au nombre naturel n de Barendregt.
def n_to_Church
 Renvoie le combinateur correspondant au nombre naturel n de Church.
def str_to
 Renvoie le combinateur représenté par le string s.

Description détaillée

Combinateur (Sequence non vide dont le premier élément est un Atom et les suivants des Combinator)

Combinateur
(Sequence non vide dont le premier élément est un Atom et les suivants des Combinator)

Définition à la ligne 605 du fichier combinator.py.


Documentation des constructeurs et destructeur

def DSPython.combinator.Combinator.__init__ (   self,
  seq 
)

Initialise le Combinator.

Initialise le Combinator

Pre: seq: Sequence non vide de Combinator, Atom,
  bool, naturel (selon le système spécifié par natural_sys)
  ou string représentant un combinateur

Exception: TypeError si l contient des string incorrectes

O() = ...

Définition à la ligne 610 du fichier combinator.py.

Références DSPython.combinator.Combinator._seq, et DSPython.natural_is().


Documentation des fonctions membres

def DSPython.combinator.Combinator.__and__ (   self,
  other 
)

self & other

self & other (combinateur booléen et)
En fait renvoie Combinator(Band, self, other)

Pre: other: Combinator ou bool

Result: Combinator

Exception: TypeError si other n'est pas un Combinator ou un bool

O() = ...

Définition à la ligne 662 du fichier combinator.py.

def DSPython.combinator.Combinator.__call__ (   self,
  nb = None 
)

Renvoie (le combinateur évalué, le nombre d'étapes réalisées)

Renvoie (le combinateur évalué,
    le nombre d'étapes réalisées)
Si nb == None alors tente d'évaluer jusqu'au bout
(! certains combinateurs peuvent ne jamais s'arrêter)
sinon évalue au plus nb étapes

Pre: nb: None ou naturel

Result: (Combinator, naturel)

O() = ...

Définition à la ligne 680 du fichier combinator.py.

Références DSPython.natural_is().

def DSPython.combinator.Combinator.__cmp__ (   self,
  other 
)

cmp(self, other)

Renvoie <0 si self < other
    0 si self == other
   >0 si self > other
Si len(self) < len(other) alors renvoie <0
Si len(self) > len(other) alors renvoie >0
Si len(self) == len(other) alors c'est les premiers éléments différents qui déterminent

Result: Integral

Exception: TypeError si other n'est pas un Combinator

O() = ...

Définition à la ligne 723 du fichier combinator.py.

Références DSPython.combinator.Combinator._seq.

def DSPython.combinator.Combinator.__contains__ (   self,
  item 
)

item in self ?

Renvoie True si le combinateur self contient le combinateur atomique item,
False sinon

Result: bool

Exception: TypeError si item n'est pas un Atom ou un Combinator

O() = ...

Définition à la ligne 745 du fichier combinator.py.

def DSPython.combinator.Combinator.__eq__ (   self,
  other 
)

self == other ?

Renvoie True si other est un Combinator égal à self,
False sinon
(Ne se préoccupe pas de l'éventuelle équivalence (théorique) entre les combinateurs)

Result: bool

O() = ...

Définition à la ligne 772 du fichier combinator.py.

Références DSPython.combinator.Combinator.atomic_is().

Référencé par DSPython.combinator.Combinator.__ne__().

def DSPython.combinator.Combinator.__getitem__ (   self,
  key 
)

self[key]

self[key]

O() = ...

Définition à la ligne 788 du fichier combinator.py.

def DSPython.combinator.Combinator.__hash__ (   self)

Hashcode de self.

Renvoie le hashcode de self

Result: naturel

O() = ...

Définition à la ligne 796 du fichier combinator.py.

Références DSPython.combinator.Combinator._seq.

def DSPython.combinator.Combinator.__int__ (   self)

Nombre naturel correspondant à self.

Nombre naturel correspondant à self
(Selon le système spécifié par natural_sys : BARENDREGT ou CHURCH)

Pre: self: Combinator correspondant à un nombre naturel dans le système spécifié

Result: naturel

O() = ...

Définition à la ligne 806 du fichier combinator.py.

def DSPython.combinator.Combinator.__len__ (   self)

Renvoie la longueur du combinateur.

Renvoie la longueur du combinateur

Result: naturel > 0

O() = ...

Définition à la ligne 834 du fichier combinator.py.

Références DSPython.combinator.Combinator._seq.

def DSPython.combinator.Combinator.__ne__ (   self,
  other 
)

self != other ?

Renvoie True si other n'est pas un Combinator
ou n'est pas la même Combinator que self,
False sinon
(Ne se préoccupe pas de l'éventuelle équivalence (théorique) entre les combinateurs)
O() = ...

Définition à la ligne 844 du fichier combinator.py.

Références DSPython.bintree.Bintree.__eq__(), DSPython.combinator.Atom.__eq__(), et DSPython.combinator.Combinator.__eq__().

def DSPython.combinator.Combinator.__nonzero__ (   self)

self == K ?

Renvoie True si self == K,
False sinon
(Ne se préoccupe pas de l'éventuelle équivalence (théorique) entre les combinateurs)

Result: bool

O() = ...

Définition à la ligne 854 du fichier combinator.py.

def DSPython.combinator.Combinator.__or__ (   self,
  other 
)

self | other

self | other (combinateur booléen ou inclusif)
En fait renvoie Combinator(Bor, self, other)

Pre: other: Combinator ou bool

Result: Combinator

Exception: TypeError si other n'est pas un Combinator ou un bool

O() = ...

Définition à la ligne 866 du fichier combinator.py.

def DSPython.combinator.Combinator.__repr__ (   self)

Renvoie le combinateur sous forme de string "Combinator('...')".

Renvoie le combinateur sous forme de string "Combinator('...')"

Result: string "Combinator('...')"

O() = 1

Définition à la ligne 884 du fichier combinator.py.

def DSPython.combinator.Combinator.__str__ (   self,
  allparent = False,
  left = '(', right=',
  space = ' ' 
)

Renvoie le combinateur sous forme de string.

Renvoie le combinateur sous forme de string.
Si allparent alors avec toutes les parenthèses,
sinon évite les parenthèses superflues.
left représente la parenthèse gauche et right la droite.
Les "morceaux" du combinateur sont séparés par space

Pre: allparent: valeur booléenne
     left: string
     right: string
     space: string

Result: string

O() = ...

Définition à la ligne 894 du fichier combinator.py.

Références DSPython.combinator.Combinator.atomic_is().

def DSPython.combinator.Combinator.__xor__ (   self,
  other 
)

self ^ other

self ^ other (combinateur booléen ou exclusif)
En fait renvoie Combinator(Bxor, self, other)

Pre: other: Combinator ou bool

Result: Combinator

Exception: TypeError si other n'est pas un Combinator ou un bool

O() = ...

Définition à la ligne 932 du fichier combinator.py.

def DSPython.combinator.Combinator.atomic_is (   self)

Renvoie True si le combinateur est atomique, False sinon.

Renvoie True si le combinateur est atomique,
False sinon

Result: bool

O() = ...

Définition à la ligne 950 du fichier combinator.py.

Référencé par DSPython.combinator.Combinator.__eq__(), et DSPython.combinator.Combinator.__str__().

def DSPython.combinator.Combinator.bnot (   self)

Non self.

Non self (combinateur négation booléenne)
En fait renvoie Combinator(Bnot, self)

Result: Combinator

O() = ...

Définition à la ligne 963 du fichier combinator.py.

def DSPython.combinator.Combinator.change_atom (   self,
  atom,
  new 
)

Renvoie le combinateur dans lequel chaque Atom atom est remplacé par new.

Renvoie le combinateur dans lequel chaque Atom atom est remplacé par new

Pre: atom: Atom
     new: Combinator ou Atom

Result: Combinator

O() = ...

Définition à la ligne 974 du fichier combinator.py.

def DSPython.combinator.Combinator.depth (   self)

Renvoie la profondeur du combinateur.

Renvoie la profondeur du combinateur
== (profondeur de l'arbre binaire correspondant) - 1.
depth(combinateur atomique) == 0
depth(combinateur (a b)) == max(depth(a), depth(b)) + 1

Result: naturel

O() = ...

Définition à la ligne 994 du fichier combinator.py.

def DSPython.combinator.Combinator.n_to (   n)
static

Renvoie le combinateur correspondant au nombre naturel n selon le système spécifié par natural_sys.

Renvoie le combinateur correspondant au nombre naturel n
(Selon le système spécifié par natural_sys : BARENDREGT ou CHURCH)

Pre: n: naturel

Result: Combinator

O() = ...

Définition à la ligne 1012 du fichier combinator.py.

Références DSPython.natural_is().

def DSPython.combinator.Combinator.n_to_Barendregt (   n)
static

Renvoie le combinateur correspondant au nombre naturel n de Barendregt.

Renvoie le combinateur correspondant au nombre naturel n de Barendregt

Pre: n: naturel

Result: Combinator

O() = ...

Définition à la ligne 1030 du fichier combinator.py.

Références DSPython.natural_is().

def DSPython.combinator.Combinator.n_to_Church (   n)
static

Renvoie le combinateur correspondant au nombre naturel n de Church.

Renvoie le combinateur correspondant au nombre naturel n de Church

Pre: n: naturel

Result: Combinator

O() = ...

Définition à la ligne 1048 du fichier combinator.py.

Références DSPython.natural_is().

def DSPython.combinator.Combinator.nb_atom (   self)

Renvoie le nombre de combinateurs atomiques composant le combinateur (sa taille)

Renvoie le nombre de combinateurs atomiques composant le combinateur (sa taille)
== nombre de feuilles de l'arbre binaire correspondant.
nb_atom(combinateur atomique) == 1
nb_atom(combinateur (a b)) == nb_atom(a) + nb_atom(b)

Result: naturel

O() = ...

Définition à la ligne 1065 du fichier combinator.py.

def DSPython.combinator.Combinator.stable_is (   self)

Combinateur stable.

Renvoie True si le combinateur est stable (il ne déclenche plus),
False sinon

Result: bool

O() = ...

Définition à la ligne 1081 du fichier combinator.py.

def DSPython.combinator.Combinator.str_to (   s)
static

Renvoie le combinateur représenté par le string s.

Renvoie le combinateur représenté par le string s
(Si s n'est pas une réprésentation correcte alors renvoie None)
Un string correcte est un string non vide
comprenant des string appartenant à str_combs et des '(' et ')',
le tout bien agencé

Pre: s: string

Result: Combinator ou None

O() = ...

Définition à la ligne 1093 du fichier combinator.py.


La documentation de cette classe a été générée à partir du fichier suivant :