Warren’s Abstract Machine
# Warren’s Abstract Machine

Warren’s Abstract Machine (WAM) bezeichnet in der Informatik einen 1983 von David H. D. Warren spezifizierten idealen Prozessor, dessen Maschinensprache als Zielsprache für Prolog-Übersetzer oder -Interpreter dient. Man spricht auch von einer virtuellen Maschine, da es den WAM-Prozessor nicht real als Hardware (z. B. in Silicium gefertigt) gibt, sondern nur als Software.

Nach der Übersetzung in WAM-Code können Prolog-Programme von einer WAM-Implementierung auf dem Laufzeitsystem ausgeführt werden, also einem WAM-Interpreter, der diesen idealen Prozessor simuliert. Alternativ kann wie bei GNU Prolog der WAM-Code als Zwischencode benutzt werden, der wiederum in einen weiteren Zwischencode namens mini-assembly übersetzt wird, bevor daraus die Maschinensprache des Zielprozessors generiert wird.

