SNOBOL4KEY(1)

πŸ“¦
version 2.3.1 Β· 3 versions
, in fedora 43, fedora 44, opensuse-leap 16.0

πŸ’– SNOBOL4KEY πŸ’–

okay bestie, come sit with me, because this is the snobol4key page from the CSNOBOL4 Manual and it's literally just... the entire cast of SNOBOL4 keywords, one by one, with their whole vibe described. it's giving ✨encyclopedia but make it fashion✨. no cap. πŸ¦‹


🌸 NAME 🌸

snobol4key β€” SNOBOL4 keywords πŸ’…


✨ DESCRIPTION ✨

so every single one of these bad boys is a keyword, and each one tells you if it's Protected or Unprotected, what type it is, and what it actually does. read it like a yearbook, not like homework. πŸ“–πŸ’•

πŸŽ€ &ABEND

Unprotected, INTEGER: setting this to a non-zero value causes a call to abort(3) (yes, it causes a core dump 🫠) instead of "exit" when snobol4(1) finishes program execution. literally a relic of when "ABEND" meant program memory would be dumped on the line printer on an "abnormal ending" of a batch job! Standard.

πŸŽ€ &ABORT

Protected, PATTERN: initial value of the ABORT variable. Standard.

πŸŽ€ &ALPHABET

Protected, STRING: the native character set (always 255 characters long, no more no less). Standard.

πŸŽ€ &ANCHOR

Unprotected, INTEGER: when you set this 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 the ARB variable. Standard.

πŸŽ€ &BAL

Protected, PATTERN: initial value of the BAL pattern variable. Standard.

πŸŽ€ &CASE

Unprotected, INTEGER: zero disables case folding in a running program, a non-zero value reenables it. 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 the description of the 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 the 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 the 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 the 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 the "fullscan" heuristic. Standard.

πŸŽ€ &GCTIME

Protected, REAL: milliseconds of execution time spent in the garbage collector. CSNOBOL4 Extension, added in version 1.5.

πŸŽ€ &GTRACE

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 &GTRACE 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 the 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 the 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).
bestie these are the manpage's own to-do notes, not mine. don't come for me πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

snobol4(1), snobol4ctrl(1), snobol4ext(1).


and that's the whole page, periodt. 🫢 this is CSNOBOL4B 2.3.1, dated March 31, 2022 β€” the SNOBOL4KEY(1) page, CSNOBOL4 Manual, and it ate, no crumbs left. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from