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.