• [^] # Re: Plus d'infos ?

    Posté par . En réponse au message Conception et implémentation de machines virtuelles. Évalué à 2.

    Si j'ai bien compris:
    A partir des operations elementaires je pourrais constituer l'ensemble de bytecodes adequats
    A partir des types je definis la nature des donnees que devra traiter ma machine virtuelle (sur un ordinateur, on parlerait de bytes de 8,16,32 ou 64 bits; dans ma machine virtuelle on parlera de couleur,matiere,coordonnees par exemple)

    Donc il y a d'abord un travail de formalisation du langage a faire avant meme de penser a la machine virtuelle. Aurais tu des references (bouquins, sites) traitant de ce sujet ? Je ne penses pas avoir ete assez loin dans la formalisation de mon langage

    Une fois cela accompli, je devrais en theorie disposer d'un ensemble de bytecodes qui doivent etre interpretes. Sans parler de machine virtuelle, mon experience personnelle me dit que l'interpretation de ce bytecode peut se faire tres simplement via un parser et une execution etapes par etapes des instructions lues. J'ai dans l'idee qu'une MV fait un peu plus que cela : dans le cadre d'un ordinateur cela correspond a la gestion de la memoire, du multi threading, de l'adressage des donnees etc... Dans le cadre de ma bizarrerie, on peut considerer les equivalences suivantes:
    espace memoire -> volume spatial disponible pour deplacer mes objets ou mes morceaux d'objets;
    type "coordonnee" -> addressage de ce volume
    type "couleur"/"matiere" -> mode de lecture et ecriture dans le volume, a savoir qu'une adresse donnee contiendrait les deux informations en fonction du mode de lecture actif dans la machine virtuelle (quand elle "voit" on lit la couleur, quand elle "touche" on lit la matiere)

    Comme tu le vois, le but est de s'eloigner un maximum des concepts d'un ordinateur pour decrire un systeme imaginaire particulier (ici un transformateur d'objets) et essayer de lui donnee vie via une MV qui necessairement va devoir creer un pont entre ce systeme et les concepts d'un ordinateur

    Mais peut etre suis je un peu trop pelleteur de nuages :)