Machine abstraite de Warren

Machine abstraite de Warren

Warren's Abstract Machine

La Warren's Abstract Machine (Machine abstraite de Warren) est une machine virtuelle permettant d'implémenter le langage Prolog. Cette machine est composée d'un jeu d'instructions spécial ainsi que d'une mémoire. Elle a été définie par David H. D. Warren en 1983. Elle est une des implémentations classiques pour prolog.

Sommaire

Jeu d'instructions

Le jeu d'instructions de la WAM est composé de huit types d'instructions.

Instructions Put

Instructions Get

Instructions Set

Instructions d'unification

Instructions de contrôle

Instructions de choix

Instructions d'index

Instructions de coupure

Ces instructions permettent la gestion de la coupure de prolog (prédicat !/0).

Structure de la mémoire

La mémoire de la machine WAM est séparée en cinq parties (depuis le bas de la mémoire) :

  • Un premier espace contient le code exécutable.
  • Un deuxième espace contient un tas (heap) grandissant en direction du haut de la mémoire.
  • Un troisième espace contient une pile (stack) grandissant en direction du haut de la mémoire. Cette pile contient en particulier les points de choix et les environnements.
  • Un quatrième espace contient le trail grandissant en direction du haut de la mémoire.
  • Un cinquième espace contient le pdl grandissant en direction du bas de la mémoire (depuis la plus haute adresse de la mémoire de la machine).

Exemples

Soit le programme prolog suivant:

fille(anne).
fille(clair).

garcon(B) :- \+ fille(B).

Avec une implémentation basée sur la WAM, le code produit serait de la forme (en mini-assembleur WAM):

predicate(fille/1):
   switch_on_term(2,1,fail,fail,fail),
label(1): switch_on_atom([(anne,3),(clair,5)])
label(2): try_me_else(4)
label(3): get_atom(anne,0)
          proceed
label(4): trust_me_else_fail
label(5): get_atom(clair,0)
          proceed

predicate(garcon/1):
   get_variable(x(1),0)
   put_structure(fille/1,0)
   unify_local_value(x(1))
   execute((\+)/1))

Liens externes

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Warren%27s Abstract Machine ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Machine abstraite de Warren de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Warren Abstract Machine — Warren s Abstract Machine La Warren s Abstract Machine (Machine abstraite de Warren) est une machine virtuelle permettant d implémenter le langage Prolog. Cette machine est composée d un jeu d instructions spécial ainsi que d une mémoire. Elle a… …   Wikipédia en Français

  • Warren's Abstract Machine — La Warren s Abstract Machine (Machine abstraite de Warren) est une machine virtuelle permettant d implémenter le langage Prolog. Cette machine est composée d un jeu d instructions spécial ainsi que d une mémoire. Elle a été définie par David H. D …   Wikipédia en Français

  • WAM — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres …   Wikipédia en Français

  • Histoire Des Mathématiques — Article de la série Histoire des sciences Chronologie Chronologie des sciences Chronologie de l astronomie …   Wikipédia en Français

  • Histoire des mathematiques — Histoire des mathématiques Article de la série Histoire des sciences Chronologie Chronologie des sciences Chronologie de l astronomie …   Wikipédia en Français

  • Histoire des mathématiques — L’histoire des mathématiques s étend sur plusieurs millénaires et dans de nombreuses régions du globe allant de la Chine à l’Amérique centrale. Jusqu au XVIIe siècle, le développement des connaissances mathématiques s’effectue… …   Wikipédia en Français

  • COGNITIVES (SCIENCES) — Les sciences cognitives ont pour objet de décrire, d’expliquer et le cas échéant de simuler les principales dispositions et capacités de l’esprit humain – langage, raisonnement, perception, coordination motrice, planification... Nées il y a… …   Encyclopédie Universelle

  • Bénéfice de la science — Science Pour les articles homonymes, voir Science (homonymie). Prométhée apportant le feu a …   Wikipédia en Français

  • Confiance en la science — Science Pour les articles homonymes, voir Science (homonymie). Prométhée apportant le feu a …   Wikipédia en Français

  • Doctrine scientifique — Science Pour les articles homonymes, voir Science (homonymie). Prométhée apportant le feu a …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”