Only one so far…

As stack frames are added to the stack the interpreter
should dynamically increase the size of its memory buffer to hold the additional memory locations.  However there is a small bug in the memory routines that will cause the interpreter to crash when memory usage approaches the size of the allocated buffer.  Currently the interpreter starts with a buffer of 256 memory locations and there is a small bug which will cause the interpreter to crash if you use the '%n' notation to access anything beyond address 256.

Cause:  I made a memory pointer visible outside the CMemory class to make accessing memory in stack frames easier.  However this means memory access no longer goes through the CMemory class, which is responsible for managing the buffer.

Moral:  If you make a pointer visible outside of its class it will eventually come back to haunt you.

Back to top

To contact us:

© Copyright 1999 Vassar College
Poughkeepsie, New York

Web pages  by
Keith Suderman Consulting