Metalanguage, letter C

cattribute, charcode, chars, charset, charsetexpr, charspec, ckeyword, closeargument, colattribute, colkeyword, color, commacode, command, commands, comment, control, controlmnemonic, CR, cs, curstr


cattribute

Introduced in the 1995 ANSI M[UMPS] Windowing Application Programmer's Interface standard.

This metalanguage symbol represents a choice attribute. Such a choice is identified by an expression that evaluates to one of "ACCELERATOR", "ACTIVE", "AID", "EVENT", "MARKER", "SEPARATOR" or "SUBMENU", or is equal to an implementation-specific value (starts with "Z"), or is equal to an application-specific value (starts with "Y").

Modifed in a future ANSI M[UMPS] Windowing Application Programmer's Interface standard.

Added "RESOURCE" as a possible value for choice attribute codes.


charcode

Approved for inclusion in a future ANSI M[UMPS] Windowing Application Programmer's Interface.

This metalanguage symbol represents the an identification of a key on the keyboard. This symbol occurs as an expression that evaluates to the identification of one of: a single key that is not a comma, the string "COMMA", the name of a function key, or an implementation-specific value (starts with "Z"). This list is optionally preceded by a list of modifier-keys (separated by plus-signs). If there are any modifier-keys, there is a plus-sign between the name of the last modifier-key and the name of the key that is being modified.


chars

Introduced in the 1995 M[UMPS] Windowing Application Programmer's Interface.

This metalanguage symbol represents a sequence of zero or more characters.


charset

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

This metalanguage symbol represents the name of a character set.

The initial definition of charset allows only ident characters and digits.

Approved for addition in a future ANSI M[UMPS] language standard.

More characters are allowed in the name of a character set. The first character may be a "%", and "-" (hyphen), "_" (underscore), "%", "*", ".", "/", "+", ":", "$", "!" and "@" are added to the list of allowable characters.


charsetexpr

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

This metalanguage symbol represents an expression that evaluates to the name of a character set.


charspec

Approved for inclusion in a future ANSI M[UMPS] language standard.

This metalanguage symbol represents a "pattern range". A pattern range is indicated by a specification enclosed in square brackets. Such a specification looks like either a single constant, or two constants separated by a colon. A constant, in this context, is either a string literal, or a reference to the intrinsic function $CHAR.


ckeyword

Introduced in the 1995 ANSI M[UMPS] Windowing Application Programmer's Interface standard.

This metalanguage symbol represents an expression that evaluates to the value "CHOICE".


closeargument

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

This metalanguage symbol represents an occurrence of an argument of the CLOSE command. Examples of valid arguments for the CLOSE command appear in an earlier section. The argument of the CLOSE command is either an expression, optionally followed by a list of expressions (separated by colons) enclosed in parentheses, or an indirection operator (@) followed by an expression that evaluates to a list (separated by commas) of such arguments.


colattribute

Approved for inclusion in a future ANSI M[UMPS] Windowing Application Programmer's Interface standard.

This metalanguage symbol represents an expression that evaluates to the value "COLWIDTH" or to an implementation-specific value (starts with "Z").


colkeyword

Approved for inclusion in a future ANSI M[UMPS] Windowing Application Programmer's Interface standard.

This metalanguage symbol represents an expression that evaluates to the value "COL".


color

Introduced in the 1995 M[UMPS] Windowing Application Programmer's Interface.

This metalanguage symbol represents the specification of a color. A color specification is an expression that evaluates to a list (separated by commas) of three integer values; the first value represents the level of the red component of the color, the second value represents the level of the green component of the color, the third value represents the level of the blue component of the color. Each level is an integer value (0 value 65,535).


commacode

Approved for inclusion in a future ANSI M[UMPS] Windowing Application Programmer's Interface.

This metalanguage symbol occurs as an expression that evaluates to the string "COMMA". This symbol is used in lists, when a comma is needed as a character in a list element, while the comma-character would act as a list element separator.


command

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

This metalanguage symbol represents the general syntax of a command.

Note that for all commands (except FOR), a certain equivelance holds. Assuming that "verb" replaces the actual command name:

verb arg1 verb arg2 verb arg3 ...

is defined to be equivalent to

verb arg1,arg2,arg3,...


commands

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

This metalanguage symbol represents one or more commands.


comment

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

This metalanguage symbol represents a segment of source code that is ignored while executing a M[UMPS] program. A comment starts with a semicolon, which must occur in a position where any M[UMPS] command could occur, and ends with the "end of line" marker that designates the end of the line on which the comment occurs. A comment may contain any printable graphic characters.

Note: the ability to use of tabulation characters in comments may be an extension that almost all implementations offer, but it is a non-portable extension.


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 ANSI M[UMPS] language standard.

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


controlmnemonic

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

This metalanguage symbol represents the name of a device control function. The meaning and effect of device control functions is described in the definition of the mnemonicspace (function library) of which these control functions are a part.

A controlmnemonic can start with either an alphabetic character or a question mark (?); any further characters should be alphabetic characters or digits.


CR

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

This metalanguage symbol represents the special character "Carriage Return". Since this character is normally not visible in printed text, the representation CR is used in the ANSI M[UMPS] language standard to indicate that this special character is present in a specific location.

Starting from the 1990 ANSI M[UMPS] language standard, this symbol is spelled as CR (underscored).


cs

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

This metalanguage symbol represents the white space between commands. This amount of white space between commands may be one or more space characters.

Approved for addition in a future ANSI M[UMPS] language standard:

Spaces may occur at the end of a line.
___SET_X=1___WRITE_"Hello."___


curstr

Approved for inclusion in a future ANSI M[UMPS] language standard.

This metalanguage symbol represents the value of one of the directives of the FORMAT library function. The value represented by this metalanguage symbol is the "currency string", a string that is used to display the name of a currency at the appropriate place in the formatted result.


This document is © Ed de Moel, 1995-2005.
It is part of a book by Ed de Moel that is published under the title "M[UMPS] by Example" (ISBN 0-918118-42-5).
Printed copies of the book are no longer available.

This document describes the various metalanguage terms starting with the letter "C" that are used throughout the M[UMPS] standards, as well as some other terms that may not be obvious to all readers of the M[UMPS] language standards.

The information in this document is NOT authoritative and subject to be modified at any moment.
Please consult the appropriate (draft) language standard for an authoritative definition.

In this document, information is included that will appear in future standards.
The MDC cannot guarantee that these 'next' standards will indeed appear.