bonjour à tous,
j'ai comme projets de programmer un compilateur en c
Pour l'instant je m'occupe de l'analyseur syntaxique.Si quelqu'un peut dire par où commencer et s'ly a un exemple qui peut m'aider ça sera génial.
merci d'avance![]()
bonjour à tous,
j'ai comme projets de programmer un compilateur en c
Pour l'instant je m'occupe de l'analyseur syntaxique.Si quelqu'un peut dire par où commencer et s'ly a un exemple qui peut m'aider ça sera génial.
merci d'avance![]()
Salut
consulte ce tutoriel:
http://c.developpez.com/cours/?page=...heques-parsing
Salut,
tu as la référence : the dragon book, de aho seti ullman.
pour les outils tu peux aussi jeter un coup d'oeil sur les flex/bison et antlr.
Edit: Histoire de rajouter quelques liens :
Le dragon book en Français sur la fnac deuxième édition à 63€, en occasion à 22€ (vaut vraiment le coup).
Pour les grammaires c dispo pour les outils ... google est ton ami![]()
Si tu veux re-coder un compilateur C dans les règles de l'art, tu peux (dois ? :-) ) consulter la norme, également. Dans ton cas, l'intérêt est surtout qu'en annexe A, tu trouves pratiquement toute la grammaire du langage. Tu pourrais presque copier-coller tout cela dans Yacc.
http://www.developpez.net/forums/d49...tez-norme-c99/
Salut,
Ça fait d'ailleurs quelques années que je me dis qu'un tutoriel bison/yacc sur développez ne serait pas du luxe. S'il existait, il y a quelques projets dans mes tiroirs qui n'auraient plus aucune excuse pour ne pas démarrer...
A+
Pfeuh
Salut,
je peux me dégager du temps pour réaliser un tel tuto si cela intéresse du monde. Néanmoins, histoire de ne créer quelquechose d'utile et d'utilisable, que manque-t-il aux tuto déjà existant sur flex/lex\bison/yacc ?
Que serait un exemple sympa ?
mini interpréteur d'expressions arithmétiques (simple mais se retrouve partout) ...
mini interpréteur C ? (quelle utilité ?)
mini utilitaire de conversion de fichier csv ? (original, permet de comparer la méthode parser à la méthode classique)
.... ?
Je crois qu'il n'y en a pas sur developpez.
Il y a plein de bonnes idées là-dedans. Je verrai plutôt l'utilisation qui intéresse la majorité des gens, générer du code assembleur. Pourquoi pas pour un processeur imaginaire, genre 4 bits avec pas plus de 5 ou 6 instructions et 2 ou 3 modes d'adressage?
Un parseur / traducteur --> html pour un langage de type texte structuré (genre les wikilang, ou le langage de ce forum --dont d'ailleurs je ne sais pas lequel c'est). C'est intéressant, utile, réaliste, et varié; et tu peux facilement moduler la complexité en fonction de ce que tu souhaites montrer de lex/yacc (en adaptant les règles du langage).
Le seul défaut est que souvent ces langages sont un peu dépendants du contexte (je veux dirte pas context-free, je connais pas la terminologie fr) sur certaines règles. Mois ça peut te donner l'occasion de montrer l'utilité d'un preprocessing (souvent trivial) pour simplifier le codage d'une grammaire (parfois un gros gain).
Zut! A la relecture, je me trouve pas clair. (Mais il est tard et je suis sûr que vous comprenez malgré tout ;-)
Denis
Salut,
je reviens sur ce fil juste pour ma proposition de tuto. En fait il y a un tutoriel très clair et très bien fait qui traite entre autre de lex,yacc et de la génération de code assembleur pour la machine Mach1 (joli nom). Il est dispo dans les tuto : ftp://ftp-developpez.com/general/cours/PolyCompil.pdf
Donc je pense que tout est là.
Excellent! Merci pour ce lien.
A+
Pfeuh
Excusez moi de remonter le sujet mais le lien de kwariz est mort. Si quelqu'un avait la bonté de redonner un lien valide, cela serait cool !
Il fonctionne chez moi![]()
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Salut,
je pense que ni auteur ni les modérateurs ne m'en voudront de poster une copie (<500ko) ici pour ceux qui auraient du mal à y accéder.
Partager