SNOBOL4KEY(1) | CSNOBOL4B 2.3.2 | Janurary 1, 2024
NAME
snobol4key – SNOBOL4 keywords
DESCRIPTION
-
&ABEND
-
Unprotected, INTEGER:
Setting to a non-zero value causes a call to abort(3)
(causes a core dump) instead of “exit” when snobol4(1) finishes
program execution. A relic of when “ABEND” meant program memory
would be dumped on the line printer on “abnormal ending” of a batch job!
Standard.
-
&ABORT
-
Protected, PATTERN:
Initial value of ABORT variable.
Standard.
-
&ALPHABET
-
Protected, STRING:
Native character set (always 255 characters long).
Standard.
-
&ANCHOR
-
Unprotected, INTEGER:
When set to a non-zero value, pattern matching is done in “anchored
mode” (pattern matches will not be retried skipping successive
numbers of leading subject characters), and patterns must match the
initial part of the subject. NOTE! Anchored matching is faster, but
portable code should not depend on (or modify) the value of
&ANCHOR!! Individual patterns can be anchored using POS(0), and
use of BREAKX() avoids repeated match failures that occur in non-anchored
scanning.
Standard.
-
&ARB
-
Protected, PATTERN:
Initial value of ARB variable.
Standard.
-
&BAL
-
Protected, PATTERN:
Initial value of BAL pattern variable.
Standard.
-
&CASE
-
Unprotected, INTEGER:
Zero disables case folding in a running program, non-zero value reenables.
See snobol4(1) and -CASE in snobol4ctrl(1).
Extension from SPITBOL, added in CSNOBOL4 version 0.91
-
&CODE
-
Unprotected, INTEGER:
Controls the status code when snobol4(1) exits – defaults to zero.
Standard.
-
&COMPNO
-
Protected, INTEGER:
Number of compiled statements.
Extension from SNOBOL4B, SITBOL, added in CSNOBOL4 version 2.0
-
&DIGITS
-
Protected, STRING:
Digits “0123456789”.
Extension from Icon!, added in CSNOBOL4 version 1.5
-
&DUMP
-
Unprotected, INTEGER:
If non-zero dump variables (to stderr) on termination.
Standard.
-
&ERRLIMIT
-
Unprotected, INTEGER:
Positive number of (otherwise fatal) errors to allow/trap,
decremented on each error.
Standard.
-
&ERRTEXT
-
Protected, STRING:
Contains description of last error after a statement with an error has
been handled due to a non-zero value in &ERRLIMIT, see
snobol4error(1).
SPITBOL Extension, added in CSNOBOL4 0.98.2.
-
&ERRTYPE
-
Protected, INTEGER:
Contains last error code after a statement with an error has
been handled due to a non-zero value in &ERRLIMIT, see
snobol4error(1).
Standard, Traceable.
-
&FAIL
-
Protected:
Initial value of FAIL pattern variable.
Standard.
-
&FATAL
-
Protected, INTEGER:
Set to one when an otherwise fatal error has been trapped via SETEXIT
(because FATALLIMIT was positive).
Fatal errors cannot be resumed via CONTINUE or SCONTINUE.
CSNOBOL4 Extension, added in version 2.2.
-
&FATALLIMIT
-
Unprotected, INTEGER:
Positive number of (otherwise fatal in standard SNOBOL4) errors to
trap via SETEXIT; decremented on each error.
CSNOBOL4 Extension, added in version 2.2.
-
&FENCE
-
Protected, PATTERN:
Initial value of FENCE pattern variable.
Standard.
-
&FILE
-
Protected, STRING:
Name of source file.
Extension from SPITBOL?, added in CSNOBOL4 version 0.98.2.
-
&FILL
-
Unprotected, STRING:
Extension from BLOCKS, added in CSNOBOL4 version 2.0.
-
&FNCLEVEL
-
Protected, INTEGER:
Depth of function call stack.
Standard, Traceable.
-
&FTRACE
-
Unprotected, INTEGER:
Non-zero to enable function call tracing.
Decremented after each trace event.
Standard.
-
&FULLSCAN
-
Unprotected, INTEGER:
Non-zero to enable “fullscan” heuristic.
Standard.
-
&GCTIME
-
Protected, REAL:
Milliseconds of execution time spent in the garbage collector.
CSNOBOL4 Extension, added in version 1.5.
-
>RACE
-
Unprotected, INTEGER:
If set to a non-zero value,
each time a garbage collection is run, a trace message is output
indicating the source file and line number of the current statement,
how long the GC took, and how many units of storage are now free. If
positive, the value of >RACE will be decremented after it is
tested.
CSNOBOL4 Extension, added in version 1.1.
-
&INPUT
-
Unprotected, INTEGER:
If zero, disables checking for input associations for variables.
Standard.
-
&LASTFILE
-
Protected, STRING:
Source file name for last statement executed;
useful in TRACE() and SETEXIT() handlers.
Extension from SPITBOL, added in CSNOBOL4 version 0.98.2.
-
&LASTLINE
-
Protected, INTEGER:
Source file line number for last statement executed;
useful in TRACE() and SETEXIT() handlers.
Extension from SPITBOL, added in CSNOBOL4 version 0.98.2.
-
&LASTNO
-
Protected, INTEGER:
Statement number for last statement executed;
useful in TRACE() and SETEXIT() handlers.
Standard.
-
&LCASE
-
Protected, STRING:
Lower case (english) letters, in alphabetical order.
Extension from SPITBOL, added in CSNOBOL4 version 0.91
-
&LINE
-
Protected, INTEGER:
Extension from SPITBOL, added in CSNOBOL4 version 0.98.2.
-
&MAXINT
-
Protected, INTEGER:
The largest positive
integer value that can be represented by the INTEGER data type.
CSNOBOL4 Extension added in version 1.5.
-
&MAXLNGTH
-
Unprotected, INTEGER:
Standard (unlimited since CSNOBOL4 version 0.99.44).
-
&OUTPUT
-
Unprotected:
If zero, disables checking for output associations for variables.
Standard.
-
&PARM
-
Protected, STRING:
The entire command line. Use of the SPITBOL compatible HOST()
function is preferable, as it makes it possible to tell if a
positional parameter containing spaces was passed in using shell quote
characters.
SNOBOL4+ Extension, added in CSNOBOL4 version 0.98.3.
-
&PI
-
Protected, REAL:
The transcendental number π.
CSNOBOL4 Extension, added in version 1.5.
-
&REM
-
Protected, PATTERN:
Initial value of REM variable.
Standard.
-
&RTNTYPE
-
Protected, STRING:
One of RETURN, FRETURN, NRETURN.
Standard.
-
&STCOUNT
-
Protected, INTEGER:
Count of the number of statements executed
(extension: not incremented when &STLIMIT is less than zero).
Standard, Traceable.
-
&STEXEC
-
Protected, INTEGER:
Count of the number of statements executed
(regardless of the value of &STLIMIT).
CSNOBOL4 Extension, added in version 1.5.
-
&STFCOUNT
-
Protected, INTEGER:
Count of the number of statements executed that failed.
Standard, Traceable.
-
&STLIMIT
-
Unprotected:
Number of (remaining) statements to be executed.
CSNOBOL4 implements the XXX extension that values less than zero
remove the statement limit. When less than zero, &STCOUNT
is not incremented.
Standard, Defaults to -1 since CSNOBOL4 version 0.98.
-
&STNO
-
Protected, INTEGER:
Current statement number.
Standard.
-
&SUCCEED
-
Protected, PATTERN:
Initial value of SUCCEED variable.
Standard.
-
&TRACE
-
Unprotected, INTEGER:
Positive values enable TRACE functionality (other than FUNCTION trace).
Decremented after each TRACE event.
Standard.
-
&TRIM
-
Unprotected, INTEGER:
If non-zero, trailing spaces are removed from input from files.
A relic of fixed record length (eg; card reader) input.
Standard, disabled by default since CSNOBOL4 version 0.91.
-
&UCASE
-
Protected, STRING:
Upper case (english) letters, in alphabetical order.
Extension from SPITBOL, added in CSNOBOL4 version 0.91.
BUGS
Need to research origins SPITBOL extensions.
Note which keywords can be traced (and whether this is an extension).
SEE ALSO
snobol4(1),
snobol4ctrl(1),
snobol4ext(1).