Un programme a un répertoire de travail courant (mémorisé dans une variable système cwd) à partir duquel sont résolus les chemins relatifs, mais le chemin absolu de ce répertoire n'est pas mémorisé.

Pour reconstruire ce chemin, on remonte pas à pas dans la hiérarchie. Un noeud sera désigné par un chemin relatif p par rapport au répertoire de travail courant noté n(p). Un noeud n(p) est la racine s'il est égal à son parent n(../p); dans ce cas le chemin cherché est /. Sinon, il suffit de concaténer le chemin menant au parent (appel récursif) avec l'arc menant du parent au fils (qui doit exister, sauf peut-être si la hiérarchie a été modifiée pendant le calcul). Pour trouver celui-ci, il suffit de rechercher parmi les f arcs issus du parent n(../p) un arc menant au fils, c'est-à-dire tel que n(../p/f) et n(p) sont égaux.