☜ | ssvnDraft MDC Standard | ☞ |
ssvn | ::= | │ │ │ |
rssvn @ expratom V ssvn |
│ │ │ |
rssvn | ::= | │ │ │ |
^ $ [ VB environment VB ]
ssvname [ ( L expr ) ] @ ssvnamind @ ( L expr ) |
│ │ │ |
ssvnamind | ::= | rexpratom | V | ssvn |
The prefix ^$ uniquely denotes a structured system variable name. The parenthesized list of exprs following the ssvname are called subscripts; a ssvn may be either subscripted or unsubscripted; if it is subscripted, any number of subscripts separated by commas is permitted. The allowed values and/or interpretation of each subscript is defined for each individual ssvname; except where otherwise specified, a subscript may not equal the empty string. Structured system variable names (ssvnames) differing only in the use of corresponding upper and lower case letters are equivalent.
When ssvnamind is present it is always the component of a rssvn. If the value of the rssvn is a subscripted form of ssvn, then some of its subscripts may have originated in the ssvnamind. In this case, the subscripts contributed by the ssvnamind appear as the first subscripts in the value of the resulting rssvn, separated by a comma from the (non-empty) list of subscripts appearing in the rest of the rssvn.
Values may not be assigned to ssvns and ssvns may not be Killed unless the semantics of these operations are explicitly defined. The environment form of the ssvn syntax may only refer to the default environment unless the ssvn is explicitly defined to permit the use of environments other than the default. A reference to such an ssvn which refers to an environment that is not explicitly permitted is erroneous and causes an error condition with ecode = "M59". Other references to ssvns using the environment syntax however, due to technical reasons or security concerns, may be restricted by implementors to a restricted set of possible environments. An attempt to violate this restriction causes an error condition with an implementor-specified ecode beginning with "Z".
The meaning of the individual subscripts of a ssvn is explicitly defined for each ssvn. The standard contains the following ssvnames:
ssvname | ::= | │ │ │ │ │ │ │ │ │ │ │ │ |
C[HARACTER] D[EVICE] E[VENT] G[LOBAL] J[OB] LI[BRARY] L[OCK] R[OUTINE] S[YSTEM] Y[unspecified] Z[unspecified] |
│ │ │ │ │ │ │ │ │ │ │ │ |
Unused structured system variable names beginning with an initial letter other than Z are reserved for future extensions to the standard.
Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.
Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.
This page most recently updated on 17-Nov-2023, 11:27:04.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)