Préprocesseur en cpp

koukoudev Messages postés 6 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 29 novembre 2009 - 14 mars 2009 à 08:25
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 15 mars 2009 à 10:13
Bonjour,
j'ai un projet qui consiste à la réalisation d'un programme qui traite les directives d'inclusion(préprocesseur) en cpp


si vous avez des exemples sur ce théme veillez me l'envoyer et merci bien

3 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 mars 2009 à 08:49
salut

ce theme est assez large, il s'agit de parsing et de modification d'arbre syntaxique.

tu peux faire ca de plein de facons differentes :
- parser ligne par ligne les directives (si tu n'as pas a gerer les #define alors c'est suffisant)
- parser un AST complet
- faire un AST simplifie qui gere trois choses : code, commentaires et chaines de caractere (t'as pas besoin de plus)

ensuite, pour ce qui est du traitement de ton arbre, tu peux faire ca de facon recursive : en parcourrant l'arbre
ou bien tu peux le faire de facon iterative, puisqu'en fait inclure un fichier dans un autre, c'est reduire la profondeur de l'arbre, tu peux faire :

faire tant que (l'arbre contient un include){
traiter cet include.
}

voila, j'espere t'avoir donne quelques infos qui pourront t'aider a resoudre ton probleme (j'imagine que c'est un TP de cours vu le theme)
0
koukoudev Messages postés 6 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 29 novembre 2009
15 mars 2009 à 09:57
oui c'est un TP de cours et merci pour votre réponse
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 mars 2009 à 10:13
ok alors juste une precision :
nous ne sommes pas ici pour realiser tes tps de cours. donner des indications ok, mais les faire a ta place, c'est hors de question.
0
Rejoignez-nous