Développer un compilateur

Fermé
samra25 Messages postés 2 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 5 mai 2004 - 5 mai 2004 à 14:58
 Davis - 28 mai 2008 à 18:30
bonjour,
je veux programmer un compilateur pour un langage graphique , et je ne sais pas ou je dois commencer, vous peuvez me donne des idees svp.
votre nouvelle amie, et merci d'avance.

2 réponses

Bonjour,

Tu peux commencer par regarder ce cours : http://www.programmationworld.com/site/cours.asp?Action=cours&numero=225

Ensuite tu peux aussi t'intéresser à la façon de concevoir un moteur de scripts (il y a des similarités avec le projet que tu souhaites réaliser) : http://www.gamasutra.com/features/19971003/huebner_01.htm

Maintenant que tu sais à peu près comment fonctionne un moteur de script, tu peux, si tu décides de ne pas faire le tien, en utiliser un gratuit et très bon : http://www.lua.org

Voila voila, j'espere que cela t'aideras insha Allah (si Dieu veut) !

++
0
A l'aide!

Nous voulons construire un compilateur pour un langage C simplifié dont la grammaire est :

CHIFFRE à 0|1|3|4|5|6|7|8|9
LETTRE à a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
IDENT à LETTRE|LETTRE IDENT
NOMBRE à CHIFFRE|CHIFFRE NOMBRE
REEL à NOMBRE
DECLARATION à TYPE ESPACE LISTE SEPFIN
TYPE à int|float
LISTE à id,LISTE|id
SEPFIN à ;
INSTRUCTION à DECLARATION|AFFECTATION
AFFECTATION à IDENT OPAF EXPRESSION SEPFIN
EXPRESSION à EXPRESSION OPADD EXP1|EXP1
OPADD à +|-
EXP1 à EXP1 OPMUL TERME|TERME
OPMUL à *|/
OPAF à =
TERME à ‘(‘ EXPRESSION ‘)’ | IDENT | NOMBRE
RESERVES à main|int|float
PROGRAMME à main { LISTEINS }
LISTEINS à INSTRUCTION LISTEINS | INSTRUCTION

Ce langage permet de déclarer des variables et de réaliser des opérations arithmétiques sur ces variables. On suppose qu’une opération arithmétique ne se réalise que si les deux opérandes sont de même type et qu’il n’y a pas d’opérations unaires. Une onstruction ne peut pas tenir plusieurs lignes.

Inous aimerions construire pour ce langage :
- Un analyseur lexical ;
- Un analyseur syntaxique produisant en sortie l’arbre abstrait du programme ;
- Un analyseur sémantique qui parcoure l’arbre abstrait et vérifie la sémantique du programme, en ajoutant éventuellement des informations dans la table des symboles.
- Faire ressortir dans les codes toutes les procédures de manipulations de la table des symboles.
0