Metalanguage, letter P

packagename patatom, patcode, patgrp, patnonY, patnonYZ, patnonZ, patsetdest, pattern, pbuttoncode, pensize, piecedelimiter, place, platformname, platformversion, pos, positionformat, postcond, processid, processparameters


packagename

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

This metalanguage symbol represents the name of a package that contains external resources.


patatom

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

This metalanguage symbol represents one part of a pattern to be matched. A specification consists of either a number (intlit) or a period followed by either a string literal or a pattern code (patcode).

Valid specifications are:

1"string"
9"THIS SPECIFIC TEXT"
3E
.A
5N

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

Ranges of occurrences are introduced.

Valid specifications are:

1.5N
2.7"This String"
.3A
6.N

Additions in a future ANSI M[UMPS] language standard.

Alternative options for one pattern atom are introduced (see metalanguage symbol alternation.

Valid specifications look like:

1.5(2A,3N,1"Xyz")

A pattern-match operation may also be used to extract the value of the sub-string that matches a specific pattern and store the value of this sub-string into a variable. In this context, a pattern atom may end with a name of a variable, enclosed in parentheses, e.g. IF X?4N(ITEM)3A.


patcode

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

This metalanguage symbol represents a code that identifies a certain class of characters. Valid codes are A, C, E, L, N, P and U.

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

Implementors and applications can define their own pattern codes by supplying a pattern-check algorithm in the structured system variable ^$CHARACTER(charset,"PATTERN",newcode).

Additions in a future ANSI M[UMPS] language standard.

Patterns may also be "negated", i.e. a string that matches a negated pattern matches anything but the pattern that is being negated.

A pattern code may also be 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.


patgrp

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

This metalanguage symbol represents a group of pattern-atoms.

Such a group may occur in the context of an alternation, which is a specification of a number of patterns, one of which should be matched by the string that is being compared to this list of possible patterns.


patnonY

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

This metalanguage symbol represents any character that is valid in an identifier (see the metalanguage symbol ident) and that is not the character Y ($CHAR(89) or "Y").


patnonYZ

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

This metalanguage symbol represents any character that is valid in an identifier (see the metalanguage symbol ident) and that is not one of the the character Y ($CHAR(89) or "Y") or Z ($CHAR(90) or "Z").


patnonZ

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

This metalanguage symbol represents any character that is valid in an identifier (see the metalanguage symbol ident) and that is not the character Z ($CHAR(90) or "Z").


patstr

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

This metalanguage symbol represents either a string literal or a "negated" string literal. This metalanguage symbol was added to facilitate the definition of "negated pattern matching".

A string literal is "negated" when it is preceded by the unary operator "not" (apostrophe).


patsetdest

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

This metalanguage symbol represents the destination where the value of a sub-string may be stored. Such a destination looks like the name of a variable, enclosed in parentheses.

A pattern-match operation may be used to extract the value of the sub-string that matches a specific pattern and store the value of this sub-string into a variable. In this context, a pattern atom may end with a name of a variable, enclosed in parentheses, e.g. IF X?4N(ITEM)3A.


pattern

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

This metalanguage symbol represents the specification of a text pattern. A pattern specification is either an indefinite repetition of patttern atoms (see the metalanguage symbol patatom), or an indirection operator followed by an expression that evaluates to a pattern specification.


pbuttoncode

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

This metalanguage symbol represents pointer button codes. Such codes can by any sequence of characters, except for commas.

To be modified in a future ANSI M[UMPS] Windowing Application Programmer's Interface.

Pointer button codes occur as an expression that evaluates to one of the values "PB1", "PB2" or "PB3" or to an implementation-specific value (starts with "Z").


pensize

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

This metalanguage symbol represents a numeric value that indicates the diameter of a (round) pen that is used for drawing. If the pen size is 0 (zero), no visible drawing is done with the pen.


piecedelimiter

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

This metalanguage symbol represents a parameter of the intrinsic function $DPIECE. This parameter corresponds to the string that separates the various pieces in a data record that is being manipulated by the function.


place

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

This metalanguage symbol represents the line in a M[UMPS] program where an error occurred.

Examples:

LABEL+12^|"HERE"|ROUTINE
@
+12
LABEL
^|"HERE"|ROUTINE
LABEL^|"HERE"|ROUTINE

Note: The environment part is the only part that is not optional.


platformname

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

This metalanguage symbol represents a code for the type of windowing application. This metalanguage symbol occurs as an expression that evaluates to either one of the values "MAC", "MSWIN", "PM", "X/MTF" or "X/OPNLNK", or to an implementation-specific value (starts with "Z").


platformversion

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

This metalanguage symbol represents the name of a specific version of a windowing application. This metalanguage symbol occurs as an expression that evaluates to a string that consists of two pieces, separated by a comma. The first piece identifies the windowing application system (see platformname), the second piece identifies the specific version and may contain any characters, except for the comma.


pos

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

This metalanguage symbol represents a position in a window. This metalanguage symbol occurs as an expression that evaluates to a string consisting of two or three pieces, separated by commas. The first piece identifies the horizontal position, the second piece identifies the vertical position. The optional third piece identifies the unit of measure.


positionformat

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

This metalanguage symbol represents a format item that may occur in an argument of a READ or a WRITE command.

Such format items may be form-feeds, line-feeds or tabulations.


postcond

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

This metalanguage symbol represents a condition that specifies whether or not a command or argument is to be executed. Since this syntaxctical element follows the entity on which it operates, it is called a "post-conditional expression".

All commands, except ELSE, FOR and IF may have a post-conditional expression. The arguments in the DO, GOTO and XECUTE commands may have post-conditional expressions.

Note: The metalanguage definition of postcond includes the colon that separates the post-conditional expression from the entity on which it operates.


processid

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

This metalanguage symbol represents an expression that evaluates to a job number.


processparameters

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

This metalanguage symbol represents any implementation-specific parameters to be passed to the process being created. The implementation-specific parameters may be either a single expression, or a list of expressions (separated by colons), enclosed in parentheses.


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 "P" 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.