D/The APRUN Program

# D/The APRUN Program

The APRUN program runs Pascal programs that have been saved in the Alice format. In many ways, it is an ``interpreter only'' version of Alice. Because it does not need support any of Alice's editing or debugging features, there is a lot more memory space available for the user program. Because APRUN is "small model", the space for your program and its data is about 40K. This means that programs run with APRUN will be able to do deeper recursions and allocate more memory dynamically (e.g. through the `new` procedure).

The command line for APRUN is just

>     aprun filename

where `filename` is the name of the file containing the Alice-format program you want to run. Several options may also appear on the command line.

#### f=NNNN

dictates the amount of space that should be saved for I/O buffers. NNNN gives the number of bytes.

#### l=NNNN

sets the size of the ``location'' stack. This is similar to the `l=` option of Alice, as described in Chapter 5.

#### s=NNNN

sets the size of the run-time stack. This is similar to the `s=` option of Alice, as described in Chapter 5.

#### +w

indicates that the software of the ``curses'' package should be loaded. This package supports functions for defining and manipulating I/O windows.

In APRUN, the `new` and `dispose` commands allocate and de-allocate memory as prescribed by Pascal (in Alice itself, `dispose` does nothing). With APRUN, however, memory is not allocated from the run-time stack but from a ``heap'' of available memory.

In the PC version of APRUN, pointers are "small model". This means that a number of Alice's special pointer operations will not work. In particular, all addresses pertain to a single segment.

The APRUN program makes it easy for users to distribute programs written in Alice Pascal -- all you have to do is send out the Alice-format save file and the APRUN program.

You can give the APRUN program away freely with your programs, just like ALICE.