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).