SH-SEXPRS(1) SH-SEXPRS(1) NAME sexprs, islist, els, text, textels, mktext, mklist, mktextlist - parse and generate S-expressions SYNOPSIS load sexprs getsexprs command islist sexpr ${els sexpr} ${text sexpr} ${textels sexpr} ${mktext val} ${mklist [ val... ${mktextlist [ val... DESCRIPTION Sexprs is a loadable module for sh(1) that provides the facility to parse and generate S-expressions (see sexprs(2)). The following primitives are provided: getsexprs Getsexprs works similiarly to getlines in sh- std(1). It reads S-expressions from the standard input, and for expression read, it invokes command with $sexp set to the text representation of that expression. Getsexprs recognises the usual loop break and continue exceptions. islist sexp Islist yields a nil (true) status if sexp, which must be a well-formed S-expression, is a list ele- ment. ${els sexp} If sexp is an S-expression containing a list, then els returns a list of the S-expressions it con- tains. It is an error if sexp is not a valid S- expression. ${text sexp} If sexp is an S-expression containing a simple element, then text returns the value of that ele- ment. If sexp is a list, the return value will be an empty string. Note that elements containing binary data will likely be corrupted by conversion to utf-8. It is an error if sexp is not a valid S-expression. ${textels sexp} If sexp is an S-expression containing a list, then Page 1 Plan 9 (printed 11/1/24) SH-SEXPRS(1) SH-SEXPRS(1) textels returns a list of the text values in that S-expression, converted as with ${text}. It is an error if sexp is not a valid S-expression. ${mktext val} Mktext returns a text representation of the S- expression containing the simple value val. ${mklist [sexp...]} Mklist returns a text representation of the S- expression list containing its arguments, which must be well-format S-expressions. ${mktextlist [val...]} Mktextlist returns a text representation of the S-expression list containing one simple element for each val. SOURCE /appl/cmd/sh/sexprs.b SEE ALSO sh(1), sh-std(1), sexprs(2) Page 2 Plan 9 (printed 11/1/24)