Comment ca marche un compilateur? Je cherche des liens

Comment ca marche un compilateur? Je cherche des liens - Programmation

Marsh Posté le 26-11-2001 à 17:00:08    

Tout est dans la question...

Reply

Marsh Posté le 26-11-2001 à 17:00:08   

Reply

Marsh Posté le 26-11-2001 à 17:05:19    

c'est plutôt vague comme question :) un compilateur prend un fichier texte (un fichier 'source';) et le compile en code machine.  
 
par ex si tu veux compiler du c/c++ tu cherches 'gcc' sous google.

Reply

Marsh Posté le 26-11-2001 à 17:53:30    

Non non non c'est vrai je me suis mal exprimé. Je sais m'en servir de mes compilateurs, non ce que je veux savoir c'est comment ca marche a l'intérieur;
En fait je cherche des tutorials qui pourraient m'indiquer comment construire le mien, par exemple.

Reply

Marsh Posté le 26-11-2001 à 18:07:48    

Fais une recherche sur "Lex" et "Yacc", respectivement analyseurs lexical et syntaxiquse (quasi incontournables quand tu developpes ton propre truc)

Reply

Marsh Posté le 26-11-2001 à 18:13:28    

je n'ai jamais testé yacc/bison & co car justement je voulais comprendre comment ça marche tout ça :D
 
tu n'es pas le premier à poser la question, et je ressors toujours le même lien : http://compilers.iecc.com/crenshaw/ . c'est le seul tutorial compréhensible pour le profane que j'étais que j'ai pû trouver -- c'est en pascal et ça compile du 68000. le gros avantage de ce tutorial est qu'il est très didactique et qu'il te permet de comprendre le 'coeur' d'un langage : les expressions. une fois que t'as compris ça, les if/while/for/les fonctions, c'est de la gnognotte :D
 
je me suis inspiré de la chose et ai compilé du pseudo C vers ma chtite machine virtuelle désignée pour en vraiment pas longtemps.

Reply

Marsh Posté le 26-11-2001 à 18:14:10    

Salut
Un lien que j'ai rouvé sur ce forum, mais que j'ai pas encore lu :D
http://compilers.iecc.com/crenshaw/


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 26-11-2001 à 18:14:59    

instantdharma a écrit a écrit :

Salut
Un lien que j'ai rouvé sur ce forum, mais que j'ai pas encore lu :D
http://compilers.iecc.com/crenshaw/  



quand on parle du loup .... :D

Reply

Marsh Posté le 26-11-2001 à 19:50:16    

Gonzoide c'est pas seulement avec lex et yacc que tu vas obtenir des compilateurs evolues.
 
Ca s'explique pas en 5 mn car c' est assez complexe.
Il y a tout un ensemble de considerations theoriques sur les grammaires a connaitre (afin de les appliquer a la grammaire du langage que tu veux compiler).
Le livre de reference et d' introduction sur le sujet est le Aho-Seti-Ullman (Compilers: Principles techniques and tools, aussi connu sous le nom de Dragon-Book a cause de la couverture)
http://images.amazon.com/images/P/0201100886.01.LZZZZZZZ.jpg
Si tu es interesse par une approche plus pratique, tu peux jeter un oeil au livre de Holub, Compiler Design in C.
Tout ca ne te permettras pas d'ecrire un compilo efficace, mais te donnera les bases.
(pour les techniques avancees de compil, il y a un livre de Muchnik,Advanced Compiler Design and Implementation qui est une reference, mais incomprehensible pour qui ne maitrise pas le dragon book).
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 26-11-2001 à 19:58:40    

$80 sur amazon.com (!) http://www.amazon.com/exec/obidos/ASIN/0201100886/
 
400f sur amazon.fr (!!!) http://www.amazon.fr/exec/obidos/ASIN/0201100886/
 
faudra qu'on m'explique ... :D

Reply

Marsh Posté le 26-11-2001 à 22:38:34    

280 FF sur axelea(je l'ai acheté là)
 
http://e-bus.diese-software.com/cg [...] Y_NUM=1953
 
;)

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 26-11-2001 à 22:38:34   

Reply

Marsh Posté le 27-11-2001 à 00:17:47    

arf...c quoi comme niveau au maths ca ? :D


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 27-11-2001 à 10:27:55    

Un peu d'algebre, mais pas trop.
La theorie des grammaires, c'est un truc assez independant.
Mais si on a pas les bases pour comprendre ce que c'est qu'une grammaire deterministe, ou la difference entre une grammaire LR et une grammaire LL, il y a peu de chance que tu puisse ecrire un compilo efficace. (Un parser, eventuellement; un compilo, c'est plus dur).
 
C'est pour ca que je recommandais le bouquin de Holub en parallele: le Holub est pas assez theorique, mais il permet de bien apprehender les aspects pratiques de la theorie.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed