10.2 Utilitaire
On trouvera en annexe le code source d’un programme permettant d’équiper les règles d’un
fichier avec le système de trace, de manière automatique.
La mise en oeuvre de ce programme est la suivante :
- Le programme doit être compilé (fichier equipe.src)
krt -c equipe.src equipe.kin
en ayant au préalable copié la table des symboles depuis AB/press/lib/Bsym/B_ST dans
le répertoire contenant le fichier equipe.src.
- Il faut créer un fichier equipe.ex contenant le prédicat Equipe, paramétré par le nom du
fichier à équiper et la liste éventuelle des théories Forward (Par défaut, on considère que
les théories contiennent des règles Backward).
Par exemple, si le fichier equipe.ex contient :
Equipe(‘‘test.src’’)
les règles contenues dans le fichier “test.src” seront équipées du système de trace en
mode backward.
Si le fichier equipe.ex contient :
Equipe(‘‘test.src’’ | (toto , titi, tutu))
les règles contenues dans le fichier “test.src” seront équipées du système de trace en
mode backward, sauf celles des théories toto, titi et tutu qui seront équipées en mode
forward.
- Le programme doit être exécuté
krt -b equipe.kin equipe.ex
Exemple d’utilisation
Si le fichier equipe.ex contient :
Equipe(‘‘test.src’’ | SensAvant)
et que le fichier test,src contient :
THEORY truc IS
toto
=>
tata;
titi
=>
machin;
toto;
titi
END
&
THEORY SensAvant IS
titi
=>
toto;
tutu
=>
tata
END
le lancement du programme equipe
krt -b equipe.kin equipe.ex
donnera :
THEORY truc IS
bcall1(BackwardRule(truc.1)) &
toto
=>
tata
;
bcall1(BackwardRule(truc.2)) &
titi
=>
machin
;
bcall1(AtomicRule(truc.3))
=>
toto
;
bcall1(AtomicRule(truc.4))
=>
titi
END
&
THEORY SensAvant IS
titi
=>
toto &
bcall1(ForwardRule(SensAvant.1))
;
tutu
=>
tata &
bcall1(ForwardRule(SensAvant.2))
END