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

Programme (suite de UrmCutlandInstruction) pour la machine virtuelle UrmCutland. Plus de détails...

Liste de tous les membres

Fonctions membres publiques

def __eq__
 self == value ?
def __getitem__
 Renvoie l'instruction numéro n.
def __init__
 Initialise le programme pour la machine virtuelle UrmCutland.
def __iter__
 Itère sur les instructions du programme.
def __len__
 Nombre d'instructions du programme.
def __ne__
 self != value ?
def __setitem__
 Initialise la valeur de l'instruction numéro n à value.
def __str__
 Renvoie dans un string la suite des instructions du programme.
def changeInstrNum
 Renvoie une copie du programme dont tous les numéros d'instructions == c mentionnés dans les instructions J sont changés en new.
def decompile
 Renvoie le code source correspondant au programme.
def godelnumber
 Renvoie le "nombre de Gödel" associé au programme.
def read
 ???
def shiftInstrNum
 Renvoie une copie du programme dont tous les numéros d'instructions mentionnés dans les instructions J sont décalés de offset.
def write
 ???

Description détaillée

Programme (suite de UrmCutlandInstruction) pour la machine virtuelle UrmCutland.

Programme (suite de UrmCutlandInstruction)
pour la machine virtuelle UrmCutland

Définition à la ligne 238 du fichier urmCutland.py.


Documentation des constructeurs et destructeur

def DSPython.urmCutland.UrmCutlandProg.__init__ (   self,
  insts 
)

Initialise le programme pour la machine virtuelle UrmCutland.

Initialise le programme pour la machine virtuelle UrmCutland
Si insts est une séquence de UrmCutlandInstruction
alors initialise simplement le programme
      avec cette séquence d'instructions.

Si insts est un string ou séquence de string :

Si une instruction est incorrecte
alors une exception est levée.

Alphabet stricte:
  'Z', 'S', 'T', 'J',
  '(', ')', ', ',
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'

De plus '#' désigne un commentaire
  (dans lequel tous les caractères sont permis)
  jusqu'à la fin du string ou une fin de ligne,
  et est alors ignoré
Tous les espaces ' ', tabulations '\t'
  et à la ligne '\n' sont ignorés

Instructions permises : 'Z(a)'
                'S(a)'
                'T(a,b)'
                'J(a,b,c)'
  où a, b et c représentent des naturels >= 1
       écrits en base 10

Pseudo-instruction include : 'i(prog)'
  où prog désigne une variable contenant
     un programme qui sera inclus
     (tous les numéros d'instructions de prog
      sont décalés en conséquence)

Un numéro de ligne
  peut précéder une (pseudo-)instruction : 'n)'
  où n représente un naturel >= 1 écrit en base 10
  (dans ce cas il doit être plus grand
   que les numéros de ligne déjà traités)
  (si des numéros d'instructions sont passés
   alors ajoute des instructions neutres 'T(1,1)'
 pour complèter les trous)

Pre: insts: séquence de UrmCutlandInstruction
    ou string ou séquence de string

O() = ...

Définition à la ligne 278 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts.


Documentation des fonctions membres

def DSPython.urmCutland.UrmCutlandProg.__eq__ (   self,
  value 
)

self == value ?

Renvoie True si self représente le même programme que value
(càd si exactement la même suite d'instructions),
False sinon

Result: bool

O() = ...

Définition à la ligne 243 du fichier urmCutland.py.

def DSPython.urmCutland.UrmCutlandProg.__getitem__ (   self,
  n 
)

Renvoie l'instruction numéro n.

Renvoie l'instruction numéro n

Pre: n: naturel >= 1

Result: UrmCutlandInstruction

O() = ...

Définition à la ligne 263 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts, et DSPython.natural_is().

def DSPython.urmCutland.UrmCutlandProg.__iter__ (   self)

Itère sur les instructions du programme.

Itère sur les instructions du programme

O() = 1

Définition à la ligne 438 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts.

def DSPython.urmCutland.UrmCutlandProg.__len__ (   self)

Nombre d'instructions du programme.

Renvoie le nombre d'instructions du programme

Result: naturel

O() = 1

Définition à la ligne 447 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts.

def DSPython.urmCutland.UrmCutlandProg.__ne__ (   self,
  value 
)

self != value ?

Renvoie True si self représente un programme différent de value
False sinon

Result: bool

O() = ...

Définition à la ligne 457 du fichier urmCutland.py.

def DSPython.urmCutland.UrmCutlandProg.__setitem__ (   self,
  n,
  value 
)

Initialise la valeur de l'instruction numéro n à value.

Initialise la valeur de l'instruction numéro n à value

Pre: n: naturel >= 1
     value: UrmCutlandInstruction

O() = ...

Définition à la ligne 468 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts, et DSPython.natural_is().

def DSPython.urmCutland.UrmCutlandProg.__str__ (   self)

Renvoie dans un string la suite des instructions du programme.

Renvoie dans un string
la suite des instructions du programme
séparée par '\n'

Result: string

O() = ...

Définition à la ligne 483 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts.

def DSPython.urmCutland.UrmCutlandProg.changeInstrNum (   self,
  c,
  new 
)

Renvoie une copie du programme dont tous les numéros d'instructions == c mentionnés dans les instructions J sont changés en new.

Renvoie une copie du programme
dont tous les numéros d'instructions == c
mentionnés dans les instructions J sont changés en new

Pre: c: naturel >= 1
     new: naturel >= 1

Result: UrmCutlandProg

O() = ...

Définition à la ligne 496 du fichier urmCutland.py.

Références DSPython.natural_is().

def DSPython.urmCutland.UrmCutlandProg.decompile (   self,
  skip = True,
  num = ',
  concat = '\n' 
)

Renvoie le code source correspondant au programme.

Renvoie le code source correspondant au programme
Si skip == True
  alors passe les instructions T(a,a) avec a naturel
(dans ce cas il faut num != None)
Si num != None
  alors chaque instruction est précédée
de son numéro puis de num
Si concat == None
  alors renvoie une liste de string,
chacune contenant une instruction
  sinon concatène toutes les instructions
en un seul string séparées par concat

Pre: skip: bool
     num: None ou string composée de ' ', '\t' ou '\n'
     concat: None ou string composée de ' ', '\t' ou '\n'

Result: string ou liste de string

O() = ...

Définition à la ligne 526 du fichier urmCutland.py.

def DSPython.urmCutland.UrmCutlandProg.godelnumber (   self)

Renvoie le "nombre de Gödel" associé au programme.

Renvoie le "nombre de Gödel" associé au programme,
càd 2**g_1 * 3**g_2 * 5**g_3 * 7**g_4 * ... * P_k**g_k
où g_i est le "nombre de Gödel" de l'instruction numéro i

Result: naturel >= 1

O() = ...

Définition à la ligne 567 du fichier urmCutland.py.

Références DSPython.urmCutland.UrmCutlandProg._insts.

def DSPython.urmCutland.UrmCutlandProg.read (   f)

???

???

Pre: f: fichier (texte) ouvert en lecture

O() = ...

Définition à la ligne 582 du fichier urmCutland.py.

def DSPython.urmCutland.UrmCutlandProg.shiftInstrNum (   self,
  offset,
  underflow = 1 
)

Renvoie une copie du programme dont tous les numéros d'instructions mentionnés dans les instructions J sont décalés de offset.

Renvoie une copie du programme dont tous les numéros d'instructions
mentionnés dans les instructions J sont décalés de offset.
Si une des valeurs devient < 1
alors elle est remplacée par underflow

Pre: offset: int
     underflow: naturel >= 1

Result: UrmCutlandProg

O() = ...

Définition à la ligne 595 du fichier urmCutland.py.

Références DSPython.natural_is().

def DSPython.urmCutland.UrmCutlandProg.write (   f)

???

???

Pre: f: fichier (texte) ouvert en lecture

O() = ...

Définition à la ligne 626 du fichier urmCutland.py.


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