voila j' aimerai savoir suivant qu' elle principe un compilateur compile t' il le code cpp merci
(je suppose que c' est mal placé dsl les admins )
voila j' aimerai savoir suivant qu' elle principe un compilateur compile t' il le code cpp merci
(je suppose que c' est mal placé dsl les admins )
ca c interessant comme question!![]()
dans un premier temp je crois que le code est parser apres aucune idee...
C'est un sujet (plus ou moins) complexe, recherche un cours de compilation sur le net.
En gros ça passe par un analyseur lexical, un analyseur syntaxique, un traducteur en code assembleur, un optimisateur, ...
A moins que ta question soit plus précise (auquel cas développe un peu) ?
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
bin je voulais savoir quel sont les étapes de la compilation, c' est bien 'bô' de voir, compilation en cours, si on ne comprend pas le mécanisme enfin c' est une question de curiositémais bon si je trouve un tuto assez detailler pourquoi pas essai de faire un compilateur de 'Hello World !'
(la je fantasme) loul![]()
Des outils tels que Lex/Yacc (ou Flex/Bison maintenant) permettent de construire un analyseur lexical et un analyseur syntaxique. Avec ça tu peux déjà te faire un petit langage. Sinon sur Flipcode il y a un tutoriel en 9 parties expliquant de manière très simple mais néanmoins complète comment construire (et faire tourner) un langage de script. Je l'avais trouvé très bon.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Et bien sûr dans la catégorie analyseurs lexical/syntaxique, n'oublions pas boost::spirit pour ne pas froisser Luc(ceci dit, pour peu qu'on possède un compilo pas trop rouillé, ça a l'air vraiment puissant. Rien à voir avec Flex/Bison, avec qui on se donne bien du mal en C++).
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
il ne suffit pas de parser le code pour creer un executable...
meme pour un langage de script il doit y avoir un code pour interpreter et executer les donne que le parser a "extrait"
t a pas l adresse du tuto sur flipcode?
Rien ne t'empêche de faire ton interpreteur en C++ après (ou n'importe lequel de tes langages préférés). Evidemment pour produire un executable en code machine, là c'est une autre paire de manches !
Je vais voir si je retrouve le tuto.
[Edit] Voilà : http://www.flipcode.com/articles/scripting_issue01.shtml
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
j' ai trouver plusieur liens
merci google ( building your own compiler )
http://www.thefreecountry.com/programming/compilerconstruction.shtml
et cela grace a toi loulou24
http://translate.google.com/translate?hl=fr&sl=en&u=http://dinosaur.compilertools.net/&prev=/search%3Fq%3DFlex/Bison%26hl%3Dfr%26lr%3D%26sa%3DG
maintenant si vous avez d' autre information ^^
merci![]()
actuellement j utilise lua ( et je crois que ca represente quand meme pas mal de boulot de faire un langage de script)
c qu est terrible dans ce langage c est que tu peu appeler depuis du code c++ du lua et que tu peu aussi appeler du code c++ depuis lua (meme "binder" des classe)
avec ca et un parser xml je m amuse a faire une gui entirement configurable et scriptable![]()
Sinon pour ce qui est de la théorie, un bon cours de compilation d'université sera le mieux je pense, histoire de savoir ce qu'est une grammaire LALR ou un automate à états.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
boost::spirit me parait aussi très intéressant ... pour des langages simples. Il me semblait qu'il avait quelques limitations -- autre que son exigence. (à vérifier)
Plus "ouvert" et toujours orienté C++, il y a ANTLR. Projet Java dont le port C++ m'avait paru un chouilla buggué lorsque je l'avais testé.
Sinon, il faut effectivement lorgner du côté des cours de compil'/théorie des langages qui sont dispensés en facs et écoles si tu veux savoir comment ça marche vraiment.
Ou suivre les liens donnés depuis les références données dans ce fil. Je sais qu'il y a un bouquin de référence qui est très bien, mais je ne me souviens jamais de ses auteurs.
Dans mes souvenirs, le sujet a déjà été "débatu" dans le forum algos.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Le bouquin de référence (surnomé le dragon book) est celui écrit par Aho, Sethi, Ullman. Il est relativement ardu.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
je tien a montrer ceci :
http://www.thefreecountry.com/compilers/cpp.shtml
une grande liste de compilateur je pense que ca pourrai etre utilie pour ceux qui en cherche un gratuit ou pour completer la liste du site si il y a des nouvaux
la source du célèbre dev cpp
http://ovh.dl.sourceforge.net/sourceforge/dev-cpp/devcpp4src.zip
Dev-Cpp n'est pas un compilateur, c'est un IDE. Le compilateur sous-jacent, c'est GCC.la source du célèbre dev cpp
C'est MingW plus exactement.
C'est bien GCC le compilateur. GCC version MinGW, mais GCC. MinGW est l'une des distributions d'outils et bibliothèques de type libre pour Windows.
Quant à dev-cpp, il distribue un bout de MinGW.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Loulou24 a déja énoncé les principes .Envoyé par Sh.
C'est TRES très complexe à développer , c'est ce que je suis en train de faire en ce moment ( interpréteur basic pour le moment car language C c'est assez difficile )
oui il faut construire une sorte de Virtual Machine comme avec Java ou .NET , une sorte de pseudo-assembleur.meme pour un langage de script il doit y avoir un code pour interpreter et executer les donne que le parser a "extrait"
On peut s'inspirer des spécifications de Sun sur la JVM mais c'est très complexe.
Donc la première phase c'est d'analyser le code de le vérifier puis de générer une sorte de language assembleur pseudo ou non ( assembleur 386 pour un véritable exe ) grossièrement.
Pour l'analyse du code source il faut avoir recours à des arbres binaires qui "stockent" la grammaire
Références :
Aho ,Sethi Ullman Compilers ( déjà cité ): Principles , Techniques and Tools chez Addison-Wesley.
A mon goût il est un peu trop généraliste d'après ce que j'ai vu et pas assez pratique
Sinon je possède celui de Kenneth C.Louden "construction de compilateurs" chez http://www.studentbookworld.com/BookDetail/0534939724.html ,
http://www.cs.sjsu.edu/faculty/louden/
36 euros assez axé sur la pratique avec un code source de compilateur C et avec un cours théorique.
Chez Eyrolles tout cela doit pouvoir s'acheter
Sinon il y a aussi Seer :
http://home.elka.pw.edu.pl/~ppodsiad/seer/
Partager