GETIN
Section: User Commands (1)
Updated: Mardi 13 avril 1999
Index
Return to Main Contents
NAME
getin - Recherche intelligente dans les fichiers sources.
SYNOPSIS
getin
[
-abCdDeEfFhHlLNopPrRStV
] [
-T
strings (noms des fichiers à lire)
] [
-A
integer L_Aft
] [
-B
integer L_bef
] [
-I
string GETIN_PATH
] [
-v
integer verbose level
]
var1 ... varn [fichier1.reconnu ... fichierm.RECONNU]
DESCRIPTION
Getin est un programme de recherche multiple intelligente à travers une
arborescence dans des fichiers sources, plus particulièrement dans
des fichiers C, C++, fortran, html, perl, tcl,
(latex(1)).
Getin fonctionne de la façon suivante:
- recherche des fichiers sources sur lesquels rechercher les expressions,
- recherche des fichiers includes appelés par les fichiers sources,
- recherche des expressions,
- affichage du ou des résultats des recherches.
Ce programme est particulièrement complet en ce qui concerne les
recherches dans le fortran 77 et 90, C et C++, HTML et le LaTeX
(latex(1)).
Le programme "perl" getin est garanti par son auteur, Olivier Cessenat,
que ce soit contre les bugs ou pour sa pérennité.
Le programme affiche les lignes trouvées (correspondant à la recherche
demandée) ainsi que $L_Aft lignes après et $L_Bef avant:
ce sont des variables d'environnement qui si elles n'existent pas sont
par défaut L_Aft=2 et L_Bef=1.
La liste des options est disponible en tapant 'getin' tout seul sans
argument.
Avant une liste exhaustive des options, montrons quelques exemples
d'utilisation de Getin, et signalons l'existence d'une interface
graphique pour le lancer (
tkWorld
)
EXAMPLES
getin
toto tata
recherche les mots toto et tata dans les *.f *.c *.h locaux
getin
-o to
recherche les occurrences de la chaîne 'to' dans *.f *.c *.h locaux
getin
toto to file.f
recherche les mots toto et to dans file.f et les includes
locaux appelés par file.f
getin
-e nmax_noeud ier *.c
recherche les affectations de la variable ier
dans les fichiers *.c locaux et leurs includes locaux.
getin
-tb ier
recherche le mot ier dans tous les .f et .c des répertoires
de la variable GETIN_PATH ainsi que des fichiers includes de ces fichiers
(s'ils se trouvent sur un des répertoires de la variable GETIN_PATH).
getin
-d ier
recherche les déclarations de la variable ier.
getin
-X /tmp/$$ main.c
construit le fichier /tmp/$$ qui contient le
code du fichier main.c et de ses includes (Idem fortran ou LaTeX
(latex(1)).
getin
microsoft index.html
recherche tous les liens locaux sur le serveur puis les
occurences du mot 'microsoft' sur tout le site atteignable en local à partir de index.html.
getin
-R toto *.f
Recherche 'toto' dans tous les fichiers *.f locaux mais aussi dans
des includes qui seraient placés sous le répertoire local.
getin
-Rb toto
Recherche de 'toto' dans tous les fichiers reconnus par getin sous le
répertoire local et les sous répertoires.
getin
-Rbt toto
Recherche de 'toto' dans tous les fichiers reconnus par getin sous le
répertoire local et les sous répertoires mais en plus sur les répertoires
et sous répertoires de la variable GETIN_PATH.
getin
-A 0 -B 0 -v 5 -NVp 'INTEGER|REAL|COMMON|INCLUDE|IMPLICIT|PARAMETER|DIMENSION' toto.f
Recherchedel'expressionrationnelleperl(option-p):onrecherche
les lignes qui ont le mot "INTEGER" ou sinon le mot "REAL" ou sinon... le
mot "DIMENSION". On recherche les "0" (zéro) lignes précédents le match
(option "-B 0") et les "0" (zéro) lignes suivants le match (option "-A 0").
On demande de ne pas afficher les numéros de ligne (option "-N").
Très important, l'option "-V" demande de n'afficher que les lignes NE
CORRESPONDANT PAS au match dans les fichiers qui possèdent un match.
L'option "-v 5" permet de suivre le fonctionnement du programme.
getin
-A 0 -B 0 -v 5 -NVd 0 toto.f
Affichetoutesleslignesdetoto.fquinesontpasdeslignesde
déclaration. N'affiche pas les numéros de ligne. L'astuce dans cet
exemple est de demander une recherche sur la variable "0" (zéro) qui
vaut "false" en perl. Getin sait alors qu'il doit rechercher toute variable. L'option "-V" inverse l'affichage par rapport au match, "-N" supprime
l'affichages des numéros de ligne. Remarque: la variable "0" peut être
utilisée pour les options "-d" et "-D" uniquement pour signifier "all".
getin
-T 'toto.log tata.log' -A 10 RESIDU
recherchelemotRESIDUdanslesfichierstextes'toto.log'et'tata.log'.
Notons que cette option est incompatible avec des noms de fichiers contenant
un espace.
OPTIONS
- -A
-
[Numéro]
permet d'afficher les lignes qui matchent la recherche et
les 'Numéro' lignes qui suivent les lignes de match.
Ceci permet d'éviter l'affectation de la variable d'environnement 'L_Aft'.
- -a
-
permet d'afficher les lignes d'appel ou de déclaration
selon l'option S ou P demandée et de lister, par variable les
définitions (S) ou appels (P) de la variable.
Cette option n'a de sens que conjuguée aux options P ou S.
- -B
-
[Numéro]
permet d'afficher les lignes qui matchent la recherche et
les 'Numéro' lignes qui précèdent les lignes de match.
Ceci permet d'éviter l'affectation de la variable d'environnement 'L_Bef'.
- -b
-
conjuguée à l'option -t permet
de faire une recherche
sur tous les fichiers des répertoires de la variable
GETIN_PATH.
L'option -t seulement ne permet d'étendre la recherche aux répertoires
de la variable
GETIN_PATH
que pour la recherche des includes.
L'option -b conjuguée à l'option -R permet de faire une recherche
récursive à partir du répertoire local et des éventuels répertoire si
option -t ou option -I noms_des_répertoires_séparés_par:
- -d
-
Permet d'effectuer une recherche
de déclaration dans le fortran et le C en éliminant les commentaires.
- -D
-
permet d'afficher les blocs "subroutine" ou les blocs "call" ou
"function" qui contiennent la variable en question. L'affichage donne
automatiquement toutes les lignes du bloc.
- -e
-
Rechercher les affectations de
variables dans le fortran et le C en éliminant les commentaires.
- -f
-
permet d'effectuer une recherche sur les lignes de programme
dans le fortran et le C.
- -F
-
permet d'effectuer une recherche sur les lignes de
commentaire dans le fortran et le C.
- -H
-
permet de savoir si une variable est utilisée pour l'affectation
d'une autre variable. Option valide sur le fortran seulement.
- -I
-
[Répertoires_Path]
permet de mettre sur le même plan le répertoire local et les
répertoires dont les noms suivent l'option I, séparés par ':' pour la
recherche des includes. Ceci permet une recherche sur un répertoire
de développement local ainsi que sur plusieurs répertoires d'industrialisation.
- -l
-
Effectuer une recherche
sur les expressions
protégées (i.e _ remplacé par \_ pour les commentaires en LaTeX) en
plus de l'expression non protégée.
- -L
-
Effectuer une recherche
sur les expressions
protégées (i.e _ remplacé par \_ pour les commentaires en LaTeX)
à la place de l'expression non protégée.
- -N
-
Ne pas afficher les numéros de ligne.
- -o
-
Effectuer une
recherche sur les occurrences de chaîne.
- -p
-
Effectuer une recherche d'expression régulière perl.
- -P
-
Demande de rechercher les
passages de paramètres
marqués par le mot-clef 'call' où le paramètre du call
(passé en argument à getin) diffère du nom de la variable
de définition dans la subroutine:
exemple
a.f L1=program a L2=call b(xa,ya,za,wa) L3=end
b.f L1=subroutine b(xb,yb,zb,wb) L2=end
getin -P wa a.f b.f
=> b(wa,a.f,2,4)[b.f,1]=wb
- -r
-
Permet d'effectuer une recherche
récursive à partir
d'un fichier subroutine fortran sur tous ses calls, à condition
que les appelées portent le même nom.
- -R
-
permet d'effectuer une recherche récursive à partir du
répertoire local. Cette option est à conjuguer à l'option -b si cette
recherche récursive doit porter sur les arguments.
Remarque: avec cette option il est impossible d'avoir les f récursifs
- -S
-
Demande de rechercher les passages de paramètres
marqués par le mot-clef 'subroutine' où la variable de
la définition de la subroutine (variable passée en argument à
getin) diffère du nom du paramètre d'appel ailleurs lors
d'un "call". C'est la "réciproque" de l'option -P.
Exemple
a.f L1=program a L2=call b(xa,ya,za,wa) L3=end
b.f L1=subroutine b(xb,yb,zb,wb) L2=end
getin -S wb a.f b.f
=> b(wb,b.f,1,4)[a.f,2]=wa
- -t
-
Permet de mettre sur le même plan
le répertoire local
et les répertoires dont les noms sont dans la variable
d'environnement
GETIN_PATH
pour la recherche des includes.
Ceci permet une recherche sur un répertoire de développement
local ainsi que sur plusieurs répertoires d'industrialisation.
- -T
-
Oblige une recherche dans les fichiers dont les noms suivent, séparés par
des espaces.
- -v
-
pour "verbose" permet de suivre les messages de
fonctionnement de getin. On attend un entier donnant la quantité de
commentaires à effectuer.
- -V
-
N'afficher que les lignes qui ne correspondent pas au match dans les fichiers
qui possèdent un match. ATTENTION: on supprime de l'affichage les L_Aft lignes
après et les L_Bef lignes avant le match (voir les options -A et -B).
- -X
-
FICHIER
Demande à ce programme
de constituer un FICHIER
qui contient tous les fichiers appelés par les arguments analysés
comme étant des fichiers. Par exemple, permet de constituer,
à partir
d'un fichier fortran passé en argument, un unique fichier FICHIER
contenant le fortran et les includes récursifs.
- -Y
-
FICHIER
Demande à getin
de constituer un FICHIER.html
qui liste les fichiers pour lesquels la recherche effectuée est positive.
DÉTERMINATION DES FICHIERS DE RECHERCHE
-
Si on demande une recherche dans des fichiers '.h', on recherche dans les
fichiers .h et .f et .c passés en argument uniquement
(équivalent à un 'grep -iw amélioré, voir la suite).
-
Si l'on ne passe pas d'argument, recherche automatique dans tous les
fichiers fortran, c et includes (et f90 et cc).
-
Sinon on recherche dans les fichiers fortran .f et .c et leurs dépendances,
c'est-à-dire les fichiers include inclus, récursivement.
-
Si option -r on recherche dans les fichiers *.f où * est un nom trouvé après
l'instruction call.
La recherche est récursive à partir des fichiers déjà connus.
AFFICHAGE DU RÉSULTAT
-
On affiche ensuite les numéros de ligne concernés ainsi que les
L_Bef=$L_Bef lignes précédentes et les L_Aft=$L_Aft lignes suivantes
(variables d'environnement modifiables si l'on ne veut pas du défaut).
-
Si option -P on n'affiche que les différences entre les call *(a) et les
subroutine *(b) -affiche puisque a est différent de b, si a=b, n'affiche rien).
PRIORITÉS
-
1) recherche d'expression (si métacaracteres en arguments, ou option -o).
Sinon:
-
2.a) Recherche d'affectation de variable si option -e,
-
2.b) recherche de déclaration de paramètres ou affectation par
'equivalence', 'data' si option -d,
-
2.c) recherche de passages de paramètres si option -p,
-
2.d) rech. des pass. de para. différents de ceux de la déclaration, opt. -P.
Sinon:
-
3) Recherche de mots.
FILES
getin le programme
/lib/information.pm perl module
AUTHOR
Olivier Cessenat
SEE ALSO
tagshtml(1),
ftagshtml(1),
ftvisu(1),
emacs(1)
BUGS
None
REMARQUE
N'oubliez-pas que getin peut se lancer par interface graphique
avec
tkWorld(1)
et dans
emacs(1)
en mettant la ligne (require 'getin) dans son ~/.emacs, puis à l'aide
du menu Tools/Getin...
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- EXAMPLES
-
- OPTIONS
-
- DÉTERMINATION DES FICHIERS DE RECHERCHE
-
- AFFICHAGE DU RÉSULTAT
-
- PRIORITÉS
-
- FILES
-
- AUTHOR
-
- SEE ALSO
-
- BUGS
-
- REMARQUE
-
This document was created by
man2html,
using the manual pages.
Time: 21:54:32 GMT, May 27, 2001