|
DSPython
00.03.03 — 25 juin 2012
|
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.