Execute Brain****/Common Lisp: Difference between revisions

Content added Content deleted
(→‎{{header|Common Lisp}}: explain how adjust-memory works, use length in favor of array-dimension, various other polish (UNTESTED))
Line 10: Line 10:


(defun adjust-memory (state)
(defun adjust-memory (state)
"Modifies memory and memory-pointer such that memory-pointer is a valid index to the memory array.
"Modifies memory and memory-pointer such that memory-pointer is
a valid index to the memory array. If it is too large, the array
If it is too large, the array is extended; if it is negative, the array is extended, its contents are shifted forward and the memory-pointer is incremented, by an amount to make the memory ."
is extended; if it is negative, the array is extended, its
contents are shifted forward and the memory-pointer is incremented,
by an amount to make the memory ."
(cond ((>= (bf-state-memory-pointer state)
(cond ((>= (bf-state-memory-pointer state)
(length (bf-state-memory state)))
(length (bf-state-memory state)))