diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-22 20:52:35 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-22 20:52:35 +0000 |
| commit | 46439007cf417cbd9ac8049bb4122c890097a0fa (patch) | |
| tree | 6fdb25e5f3a2b6d5657eb23b35774b631d4d97e4 /man/1/sh-sexprs | |
| parent | 37da2899f40661e3e9631e497da8dc59b971cbd0 (diff) | |
20060303-partial
Diffstat (limited to 'man/1/sh-sexprs')
| -rw-r--r-- | man/1/sh-sexprs | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/man/1/sh-sexprs b/man/1/sh-sexprs new file mode 100644 index 00000000..b73f08bd --- /dev/null +++ b/man/1/sh-sexprs @@ -0,0 +1,131 @@ +.TH SH-SEXPRS 1 +.SH NAME +sexprs, islist, els, text, textels, mktext, mklist, mktextlist \- parse and generate S-expressions +.SH SYNOPSIS +.B load sexprs + +.B getsexprs +.I command +.br +.B islist +.I sexpr +.br +.B ${els +.IB sexpr } +.br +.B ${text +.IB sexpr } +.br +.B ${textels +.IB sexpr } +.br +.B ${mktext +.IB val } +.br +.B ${mklist +[ +.IR val ... +.BR "" ] } +.br +.B ${mktextlist +[ +.IR val ... +.BR "" ] } +.br +.SH DESCRIPTION +.B Sexprs +is a loadable module for +.IR sh (1) +that provides the facility to parse and generate +S-expressions (see +.IR sexprs (2)). +The following primitives are provided: +.TP 10 +.B getsexprs +.B Getsexprs +works similiarly to +.B getlines +in +.IR sh-std (1). +It reads S-expressions from the standard input, and for expression read, it +invokes +.I command +with +.B $sexp +set to the text representation of that expression. +.B Getsexprs +recognises the usual loop +.B break +and +.B continue +exceptions. +.TP +.BI islist\ sexp +.B Islist +yields a nil (true) status if +.IR sexp , +which must be a well-formed S-expression, +is a list element. +.TP +.BI ${els\ sexp } +If +.I sexp +is an S-expression containing a list, +then +.B els +returns a list of the S-expressions it contains. +It is an error if +.I sexp +is not a valid S-expression. +.TP +.BI ${text\ sexp } +If +.I sexp +is an S-expression containing a simple element, +then +.B text +returns the value of that element. If +.I 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 +.I sexp +is not a valid S-expression. +.TP +.BR ${textels\ sexp } +If +.I sexp +is an S-expression containing a list, then +.B textels +returns a list of the text values in that S-expression, +converted as with +.BR ${text} . +It is an error if +.I sexp +is not a valid S-expression. +.TP +.BR ${mktext\ val } +.B Mktext +returns a text representation of the S-expression +containing the simple value +.IR val . +.TP +.BR ${mklist\ \fR[\fPsexp\fR...]\fP } +.B Mklist +returns a text representation of the S-expression list +containing its arguments, which must be well-format +S-expressions. +.TP +.BR ${mktextlist\ \fR[\fPval\fR...]\fP } +.B Mktextlist +returns a text representation of the S-expression list +containing one simple element for each +.IR val . +.SH SOURCE +.B /appl/cmd/sh/sexprs.b +.SH SEE ALSO +.IR sh (1), +.IR sh-std (1), +.IR sexprs (2) |
