Browse thread
Re: Dead code removal / cross references
- Xavier Leroy
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1994-11-14 (10:38) |
From: | Xavier Leroy <xleroy@p...> |
Subject: | Re: Dead code removal / cross references |
> j'aimerais disposer d'outils permettant d'avoir des > références croisées > quels modules sont utilisés par tel module ? La distribution contient un script (src/runtime/camldep) qui produit des listes de dependances pour make. Essentiellement, il determine quels modules sont references (via #open ou la notation __) dans un fichier source. Cet outil n'est pas 100% exact (p.ex. le code mis en commentaires n'est pas ignore), mais fait l'affaire pour un Makefile. > ou est définie telle fonction ? L'outil mletags (contrib/mletags dans la distribution) fait a peu pres ca. Il construit un "tag file" pour Emacs qui indexe les definitions de globaux. > ou est appelée telle fonction ? Les fonctions etant des valeurs de premiere classe, la reponse exacte a cette question est difficile. > détecter et éliminer les #open inutiles Ca serait utile, en effet, mais ca n'est pas facile. > et le code mort (relativement a un ou des fichiers donnés). Le linker elimine le code des phrases qui definissent des globaux jamais references (pourvu que ces phrases n'aient evidemment pas d'effets de bord). - Xavier Leroy