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
Davis - 28 mai 2008 à 18:30
A voir également:
- Développer un compilateur
- Telecharger code blocks avec compilateur - Télécharger - Langages
- Compilateur basic gratuit - Télécharger - Édition & Programmation
- Gloria est une créatrice de bijoux. en plus des actions menées sur son site web, elle souhaite développer la visibilité de ses créations. pour cela, elle peut utiliser différentes techniques. ✓ - Forum Jeux vidéo
- Comment développer des photos d'un portable sur une borne ✓ - Forum Photo numérique
- Compilateur pascal - Télécharger - Édition & Programmation
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) !
++
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) !
++
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.
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.