|Prolog to WAM Register Allocation? firstname.lastname@example.org (Ludwig Wittgenstein) (2006-01-12)|
|Re: Prolog to WAM Register Allocation? email@example.com (2006-01-17)|
|Re: Prolog to WAM Register Allocation? firstname.lastname@example.org (Jens Kilian) (2006-01-17)|
|Re: Prolog to WAM Register Allocation? email@example.com (Ivan A. Kosarev) (2006-01-17)|
|Re: Prolog to WAM Register Allocation? firstname.lastname@example.org (russell kym horsell) (2006-01-19)|
|From:||"Ludwig Wittgenstein" <email@example.com>|
|Date:||12 Jan 2006 12:13:38 -0500|
I'm currently studying how Prolog compiles its source into Warren
Abstract Machine code and I was wondering what kind of algorithm does
Prolog use to assign variables and constants to X and Y registers?
For instance, predicate(X,Y,john) allocates X1 for X, X2 for Y, and X3
for john ? or, when I pass a query ?- lives_in(john, X) Do I assume
that X variable is bound value is in X1 or X2?
I've seen numerous literature on code generation/register allocation
for imperative languages (on register-based machines and stack-based
machines) but there seems to be no literature at all on how Prolog code
generation against Warren Abstract machines (Ait-Kaci's book barely
touches on this subject). Any idea on where such information could be
Return to the
Search the comp.compilers archives again.