I am trying to program a WAM implementation of Prolog in C. I have noticed that the Prolog datatypes are described in only four token types: REF, STR, CON and LIS.
Each cell in the execution heap contains the type of the token, and its position in the heap.
Notice that there isn't any reference to its actual name (i.e. Z, W). Shouldn't the heap point to a symbol and its value in a symbol table? Is there a symbol table in the pure prolog implementation? Does my parser create a symbol table or construct a heap? The WAM A Tutorial Implementation doesn't mention any of that.