Compilateur

ilyenamagyar Messages postés 18 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 14 décembre 2005 - 9 oct. 2005 à 11:35
cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 - 10 oct. 2005 à 09:59
bonjour , je voudrais savoir comment peut-on créer un compilateur et par la même occasion un language de programmation ?
Je vous remercie pour votre question !

1 réponse

cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 3
10 oct. 2005 à 09:59
Bonjour,



Ta question est peut-être un peu vague. Il faut se débrouiller pour que
ton compilateur génère du code hexa, seul langage compréhensible par
ton microprocesseur.



Dans ma jeunesse je m'étais bricolé un compilateur (?) qui transformait
des chaines en instructions hexa. A l'époque j'avais un Commodore 64
qui fontionnait sous basic et il fallait utiliser des peek et poke pour
sortir du mode texte et accéder au mode graphique haute résolution
(320*200). Après il fallait effacer cet écran graphique (en faut 8000
octets) octet par octet. Avec une boucle basic il fallait environ 30 s.
Pour allumer un point il fallait calculer l'octet et le pixel à
modifier. Pour tracer une droite il fallait allumer tous les pixels
entre deux points. Quant à remplir une surface, c'était encore autre
chose.



Heureusement il était possible de lancer un petit programme en langage
machine (8 bits) qui effectuait l'effacement de l'écran en un clin
d'oeil. Au préalable il fallait remplir une portion de la mémoire avec
les bons opcodes (et ne pas se planter).

Pour convertir les instructions assembleur en opcodes, j'avais fait un
programme basic qui recherchait les chaines de caractères dans une
liste et attribuait le bon opcode.

Je n'avais cependant pas géré les étiquettes et il fallait calculer les
déplacements à la main. Les fonctionnalités ressemblaient à celle de
debug.



Pour en revenir à ce qui t'interesse, je pense que tu dois enregistrer
les instructions de ton langage dans un format type txt et le
tripatouiller pour reconnaitre les instructions des paramètres et
commentaires et convertir tout celà en instructions exécutables ou
adresses de fonctions déjà implémentées.

Le programme qui fera ce travail peut être écrit dans n'importe quel
langage. Bien sur certains seront plus rapides que d'autres ou plus
simples à écrire. Après il faudra savoir sur quelle plate forme devra
tourner le programme compilé.



Bon courage
0
Rejoignez-nous