Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Warren's Abstract Machine — Wikipédia
Warren's Abstract Machine — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

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.

Jeu d'instructions

[modifier | modifier le code]

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

Instructions Put

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions Get

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions Set

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions d'unification

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions de contrôle

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions de choix

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions d'index

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Instructions de coupure

[modifier | modifier le code]

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

Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Structure de la mémoire

[modifier | modifier le code]

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

[modifier | modifier le code]

Soit le programme prolog suivant:

fille(anne).
fille(claire).

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),(claire,5)])
label(2): try_me_else(4)
label(3): get_atom(anne,0)
          proceed
label(4): trust_me_else_fail
label(5): get_atom(claire,0)
          proceed

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

Liens externes

[modifier | modifier le code]
  • (en) Warren's Abstract Machine: A Tutorial Reconstruction
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Warren%27s_Abstract_Machine&oldid=133347522 ».
Catégorie :
  • Machine virtuelle
Catégories cachées :
  • Wikipédia:ébauche informatique
  • Article avec une section vide ou incomplète
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id