Elan : un cadre logique pour le prototypage de langages de programmation avec contraintes

La these decrit l'etude et l'implantation du langage ELAN qui permet de specifier, sur une base uniforme de systemes de calcul, differents langages de programmation logique et differents resolveurs de contraintes. ELAN est base sur l'idee que la semantique operationnelle de langages de programmation logique dans le sens general du terme et la resolution de contraintes peuvent etre decrites d'une facon uniforme en donnant la syntaxe des formules, l'ensemble des axiomes et l'ensemble des regles de deduction. Les deux processus peuvent etre vus comme l'instance du meme schema d'application des regles de reecriture (de deduction) sur des formules, suivant une strategie permettant l'obtention d'une forme speciale. La logique de reecriture, introduite par Jose Meseguer, peut etre ainsi utilisee pour coder differentes logiques interessantes. Afin de pouvoir specifier des procedures de resolution, la these presente une notion de strategie, obtenant ainsi des systemes de calcul. Un systeme de calcul est alors defini par une signature decrivant la syntaxe, un ensemble de regles de reecriture definissant le mecanisme de deduction et une strategie qui guide l'application des regles. La these decrit egalement l'implantation d'ELAN et quelques exemples de procedures de resolution realises avec cette implantation, en particulier la sld-resolution, la surreduction, la surreduction basique, la surreduction paresseuse et l'unification syntaxique et commutative