logo
Compilateur & Interpreteur

Langage Python - Langage Machine

Considérons la fonction suivante en Python :

def produit(a,b):
    return a*b

Saisissez cette fonction dans la console Python. Puis tapez les instructions suivantes :

import dis
dis.dis(produit)

Vous obtenez le résultat suivant :

prog python desassembler

Lorsque vous executez un programme Python, celui-ci est traduit sous forme d'instructions en langage de type "assembleur".

Le module dis permet de traduire notre programme python dans ce langage.

En fait, sans rentrer dans le détail, il s'agit en faîtes de pseudo-code d'assemblage qui au moment de l'execution est traduit en langage machine.

Tout langage de programmation, pour être exécuté par une machine doit être à un moment où à un autre traduit en langage binaire.

javac jvm

Compilateur vs Interpreteur

Il existe plusieurs manières de procéder :

javac jvm

Langages et niveau d'abstraction.

On parle également de niveau d'abstraction d'un langage. Plus celui-ci est proche de notre langage naturel et plus son niveau d'abstraction est élevé. Plus le langage est proche de la machine (binaire) plus celui-ci est de bas niveau.

abstraction langage

Ressources :

  1. python code disassembler.
  2. introduction-python-bytecode.