Bonjour, je pense que j'ai posté dans la mauvaise partie de forum mais je ne sais vraiment pas ou poster cette question, je choisis donc celle associée au langage que j utilise.
Je cherche à implementer un système d'include de fichiers entre eux en evitant les inclusions recursives...
J'ai un 'plan d attaque' :
1) construire un graphe orienté dont le lien A->B indique que le fichier A inclus le fichier B.
2) chercher les boucles ou cycles (je vais appeler ca un schmurz dans la suite, je ne connais plus le terme : je n'ai pas bien revu ma théorie des graphes ces temps ci).
3) Briser ces schmurz.
4) parcourir l'arbre obtenu pour enfin inclure les fichiers.
Seulement je tombe sur un 'hic' : je ne sais pas comment faire pour identifier un fichier de manière unique, le chemin relatif est clairement une mauvaise idée vu que "file1" et "rep1/../file1" sont en fait le même fichier...
Le chemin absolu pourrait convenir mais me semble un peu trop lourdingue et consommateur...
Y aurait il un gentil int caché quelque part auquel je pourrais avoir accés et qui permettrait d identifier un fichier de manière unique ?
N.B. : J'aimerais que mon code soit portable sur les différents systèmes usuels, donc évidemment la question se pose pour windows, linux, os x...
N.B.Bis : vous remarquerez sans mal que c'est un premier jet, le 'plan d'attaque' est loin d'être définitif... cependant le problème restera sans doute le même.
Partager