is a SMall Ansi C interpreter developed to extend
editor services, but it is also possible to use outside
(see §9 page ).
This chapter gives definitions of functions independently of , valid whether they are used within or without . The next chapter will describe their interface with .
implements a subset of the ANSI C standard, but to be fully functional it also implements some extensions of it:
For example, you can directly write:
To manually interrupt a execution, hit
Ctrl-c in the window where or just
is running (kill -2 on pid). To stop current
execution by
program (as with exit() UNIX system function but without
or
ending) see error() §6.6.7 page .
According to the compiling flags (see §9 page )
can check all your memory access/modification to avoid core dump or
other things. In this case, all allocated objects are taken from a special
memory area whose default size
is
2^18
bytes under , and 2^15
bytes otherwise. You
can update
the SMACMEMORYSIZE environment variable to increase it, its
value
must be a power of two (default 2^18
or 2^15
).
In all cases the stack size is 1024 words by default. To increase it update the SMACSTACKSIZE environment variable; its value corresponds to the number of words it can contain (a word permits to memorize a char, an int or a pointer).