• # un truc simple ...

    Posté par (site web personnel) . En réponse au journal Exercices de compilations. Évalué à 3.

    ... quoique.

    Un language type C (du moins ses fonctionnalitées de base) avec fonctions, boucles, tests et tout ça ...
    le compilateur doit generer un fichier assembleur qui correspond au programme (language assembleur fictif, instructions de base comme sauts, tests, calls, interruptions etc ... une ou deux douzaines d'instructions seraient surement deja plus que necessaire).
    le tout associé a un assembleur maison lui aussi qui convertit le fichier assembleur en bytecode.
    Reste a écrire une machine virtuelle pour executer tout ca, la VM dispose aussi d'un jeu d'interruptions genre BIOS qui permet d'appeler des fonctions interessantes (comme afficher une image depuis une chaine passée sur la pile ou un truc du genre) (le "BIOS" peut etre fourni par le sujet, ca evitera de deborder trop loin hors de la compilation)
    Ca nous fait donc deux deux organes de compilation qui traitent de deux languages a la sémantique différente, et un automate d'exécution.
    (j'ai eu a faire un projet de ce type en licence, en gros deux nuits blanches pour faire un truc gruiiiik mais qui marchait plutot bien)