Programme (suite de UrmCutlandInstruction) pour la machine virtuelle UrmCutland. Plus de détails...
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 |
??? |
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.
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.
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.