Python-Bytecode aus einer Liste von Opcodes und Argumenten erstellen?

8

Gibt es eine einfache Möglichkeit, Python-Bytecode aus einer Liste von 2-Tupeln mit Opcodes und ihren Argumenten zu erstellen?

Zum Beispiel:

%Vor%     
exupero 23.01.2012, 13:09
quelle

2 Antworten

2

Ich glaube nicht, dass es einen Assembler für "Bytecode-Assemblys" von Python gibt, aber vielleicht ist es nicht so schwierig, selbst einen zu bauen. Im Python-Quellcode in Python-X.Y.Z / Include / opcode.h sind alle Bytecodes für die Opcodes mit ihren Argumenten aufgelistet.

    
GuillaumeDufay 27.01.2012 19:49
quelle
1

Ich schrieb ausführlich über diese hier , also werde ich das aber nicht wiederholen wird einige zusammenfassende Kommentare geben.

Es ist definitiv machbar, aber ich frage mich, wie allgemein nützlich es sein wird. Der Link erklärt, wie man solche Sachen ausführt und ausgibt.

Der Bytecode unterliegt Änderungen sowohl in Bezug auf den Opcode- oder Opcode-Namen als auch in Bezug auf die Semantik der Opcodes zwischen den Versionen. In Python 3.6 und darüber hinaus wird aus einem Bytecode ein Wortcode.

Wenn Sie sich jedoch dazu entschließen, diesen Pfad einzuschlagen, xdis hat kürzlich eine Funktion list2bytecode() hinzugefügt, um genau dies zu tun.

    
rocky 24.12.2016 03:02
quelle

Tags und Links