Thèse soutenue

Elagage de contexte, retour arriere superficiel, coupure et autres : une etude approfondie de la wam

FR  |  
EN
Auteur / Autrice : JACQUES NOYE
Direction : Y. BEKKERS
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1994
Etablissement(s) : Rennes 1

Résumé

FR

Cette these etudie en profondeur quatre aspects importants de la mise en uvre de prolog dans le contexte de la wam (machine abstraite de warren) et de ses variantes. Les trois premiers aspects, le controle avant, le retour arriere, et la coupure couvrent la majeure partie du controle standard de prolog. Le dernier aspect traite des techniques de modification reversible. Sur chacun de ces aspects, nous faisons le point sur les nombreuses variantes de la wam. Accessoirement, un certain nombre de choix effectues lors de la conception de la machine kcm (knowledge crunching machine) sont presentes et valides. La wam se caracterise essentiellement par une representation du controle par partage de structures. Ce choix se justifie par une politique visant a compiler autant que se peut la recuperation de la memoire allouee au controle. Tirer toutes les consequences de ce choix nous conduit a privilegier les raffinements de la wam suivants: double pile de controle, elagage des points de choix et reutilisation des blocs de controle. Sont aussi etudiees des techniques visant a limiter le trafic memoire, notamment lors de retours arriere superficiels, et la compilation de la coupure par transformation de programmes. Les techniques de modification reversible jouent un role majeur dans la mise en uvre de nombreuses extensions, par exemple contraintes et lambda-termes. Elles fournissent un bon exemple de la maniere d'etendre les possibilites d'un systeme prolog a partir de modifications mineures du moteur prolog de base. Nous montrons comment pallier aux inconvenients des implementations classiques, unification ou affectation destructive, de ces techniques