[mod.std.mumps] Format control sequences

hokey%plus5@plus5.UUCP (09/21/85)

Distribution:
Volume-Issue: 2.1

There has been much discussion regarding the inclusion of Ansi 3.64
format mnemonics into the Mumps language.  Several vendors have already
added this capability into their implementatons.

Interest has also been expressed in providing capability to use mnemonics
to perform I/O based on other standards (GKS, ISO, 3270, etc.).

This "proposal" is an attempt to provide a mechanism which will support
an arbitrary number of different "mnemonic spaces" in a manner which will
be compatible with existing implementations.

The current proposals seem to look like:

	format ::=	| <old stuff>			|
			| / mnemonic [ : expr ] ...	|

			| alpha |
	mnemonic ::=	|	| ...
			| digit	|

Dan Souder's implementation uses:

		/ mnemonic [ ( L expr ) ]

I don't know why the current proposals went to a : separated list in favor
of Dr. Dan's method.

Using Dan's implementation as a base for my proposed extension:

	format ::=	| <old stuff>
			| / [ mnemonicspace : ] mnemonic [ ( L expr ) ]
			| / mnemonicspace :

			  | alpha |
	mnemonicspace ::= | digit | ...
			  |   .   |	(note: dot)
			  |   -   |	(note: hyphen)

where the initial default mnemonicspace would be "ANSIX3.64-19xx", where xx
is replaced by the appropriate digits.

The form " / mnemonicspace : " would be used to set the current default
mnemonicspace.

The form " / mnemonicspace : mnemonic [ ( L expr ) ] " would perform the
appropriate mnemonic based on the specified mnemonicspace, without changing
the default mnemonicspace.

Functional mapping between different mnemonicspaces should be provided where
possible.  For example, it should be possible to take software written for
X3.64 and run it without change on a 3270 compatible terminal.  Likewise,
software written with a mnemonicspace of 3270 should run on X3.64 terminals.

This proposed mnemonicspace syntax can easily be changed to fit the syntax used
in whatever proposal is finally supported to provide for IO mnemonics.