3 research outputs found

    Contribution à l'intégration de C++ et de Prolog à travers la machine abstraite de Warren le système cop-compilé

    Get PDF
    Ce mémoire présente le système COP-Compilé. C'est un système permettant l'intégration de la programmation procédurale en C++ et de la programmation logique en Prolog. Le noyau de ce système est un compilateur de Prolog basé sur la machine abstraite de Warren (WAM). Cette machine qui définit une organisation de la mémoire, un ensemble de registres et un jeu d'instructions adaptés à Prolog, est actuellement la référence par excellence dans le domaine d'implantation de compilateurs Prolog. Ce projet de recherche s'insère dans le cadre d'une série de travaux qui visent à rapprocher la programmation procédurale et la programmation logique. L'objectif principal de ce projet est d'augmenter la performance d'une première version d'un compilateur réalisant l'intégration des deux styles de programmation où le code Prolog était interprété. Le système COP-Compilé a réussi à augmenter la performance du système COP original et à améliorer ses possibilités en diminuant son temps d'exécution et en étendant les programmes Prolog qu'il est capable de reconnaître

    A new scheme for unification in WAM

    No full text
    Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investigate improvements to unification. The propagation of read-write mode in WAM is a candidate for improvement. We present a new translation scheme to deal with it. The scheme has the following advantages: there is no code explosion; for right sided structures - the usual form lists take in Prolog programs - there is no overhead in the propagation of the read-write mode; for left sided structures, the overhead is made very small by rearranging the order in which the arguments of the structure are treated; it uses the optimal structure creation code in the write mode. The scheme is particularly good for native code compilers. It is also shown how the method can take into account particularities of the underlying hardware. Test results show good speedup, making mode declarations for efficiency reasons almost unnecessary. In addition, we include an important improvement to temporary register allocation schemes.This paper won the Excellence and Innovation in Research Award, donated at the conference by Xerox Corporationstatus: publishe

    A new Scheme for Unification in WAM.

    No full text
    Prolog spends about 50% of its execution time in unification. It is therefore worthwhile to investigate improvements to unification. The propagation of read-write mode in WAM is a candidate for improvement. We present a new translation scheme to deal with it. The scheme has the following advantages: there is no code explosion; for right sided structures - the usual form lists take in Prolog programs - there is no overhead in the propagation of the read-write mode; for left sided structures, the overhead is made very small by rearranging the order in which the arguments of the structure are treated; it uses the optimal structure creation code in the write mode. The scheme is particularly good for native code compilers. It is also shown how the method can take into account particularities of the underlying hardware. Test results show good speedup, making mode declarations for efficiency reasons almost unnecessary. In addition, we include an important improvement to temporary register al..
    corecore