>From: Mike.Spivey@prg.oxford.ac.uk (Mike Spivey)>A better approach in some ways is to use left recursion but do extra>work to build the list:

I like to use a cyclically linked list - the tail of the list points
back to the head. The list pointer points to the tail (or nil for
an empty list). It is very easy to append to this list and when you are
done it is very easy to convert it to a conventional list. And you still
only need one pointer.