Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

routinehead

Annotations

control

Introduced in the 1995 ANSI M[UMPS] language standard.

This metalanguage symbol represents any of the 32 ASCII/M control characters. A control character can have internal code 0 through 31 or internal code 127.

To be modified in a future M[UMPS] language standard.

A control character is any character that matches the pattern code 1C.

digit

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents any of the 10 numeric characters (0 through 9).

eol

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents the internal encoding for “end of line” within a routine. Although the standard does not specify how a routine should be stored internally in a system, the standard does specify that the data stream created for routine interchange between implementations should encode the “end of line” as a Carriage Return followed by a Line Feed.

graphic

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents any of the 95 ASCII printable characters, including the character “Space”, often represented as SP, SP or “ ”.

Modified in the 1995 ANSI M[UMPS] language standard.

A graphic character is any character in the ASCII/M character set that does not have internal code 0 through 31 or internal code 127.

To be modified in a future M[UMPS] language standard.

A graphic character is any character that does not match the pattern code 1C.

ident

Introduced in the 1995 ANSI M[UMPS] language standard.

This metalanguage symbol represents any character that may occur in an identifier (in a name). The characters from the ASCII/M character set with internal codes 65 through 90 and 97 through 122 are always valid characters for identifiers. Additional characters can be defined through ^$CHARACTER(characterset,"IDENT",algorithm).

Note: While the definition of name allows for any identifier characters, the portability section prohibits the use of lower case characters in names.

name

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents the sequence of characters that establishes the name of an entity. Note that the sequence of characters that are described by the metalanguage symbol name does not include the prefixed characters for the names of certain special entities (^ for routines and global variables, $ for intrinsic functions and special variables, $$ for extrinsic functions and extrinsic variables or ^$ for structured system variables).

A name can start with either an alphabetic character or a percent sign (%); any further characters should be alphabetic characters or digits.

While the definition of name allows for any alphabetic characters, the portability section prohibits the use of lower case characters in names.

Only the first 8 characters in a name are interpreted by a M[UMPS] system.

Tricky detail about the term “name”: when used colloquially, the prefix characters (^, $, etcetera) are usually included, when used as a metalanguage symbol, these characters are not included. I.e. these prefix characters do not count when determining the length of the name.

Modification in the 1995 ANSI M[UMPS] language standard.

A new metalanguage symbol is defined (ident) which represents “any character that may be used in a name”. This addition allows for the inclusion of non-ASCII alphabetic characters in names.

A name can start with either an ident character or a percent sign (%); any further characters should be ident characters or digits.

Modifications in a future M[UMPS] language standard.

The characters that are eligible to be used in portable names are no longer restricted to upper case only. A M[UMPS] system is guaranteed to interpret the first 31 characters of a name. Implementations may allow for even longer names to be unique.

In addition, characters beyond the implementation’s maximum limit for the length of a name are no longer ignored: an error (M56) will occur when too many characters are used in a name.

routinehead

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents the header of a routine. This header consists of a text string that is equal to the name of the routine, followed by an “end-of-line” marker (see metalanguage symbol eol.

routinename

Introduced in the 1977 ANSI M[UMPS] language standard.

This metalanguage symbol represents the name of a routine.

Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

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, 10:17:28.

For comments, contact Ed de Moel (demoel@jacquardsystems.com)