BGNM, LANGUAGES, Common-sources tool for messages and documentationThis is GNM V2.3.DThe GNM compiler allow you to have a common source file for both an COpenVMS message file (.MSG) and for DOCUMENT (.SDML) documentation.EGNM V2.0 was an overhaul of previous GNM versions, with improvements Din the tool and its operations. The command operations also differ Dfrom previous versions, and particularly with better diagnostics andGwith a single executable image now used for both .MSG and .SDML output.DV2.3 fixes various problems found since V2.0, and adds GNM_COMPONENTDlogical name translation, and includes support for building for bothBOpenVMS Alpha V7.3-2 and later, and for OpenVMS I64. (Please see 3the comments over in GNM.C for additional details.)DGNM makes extensive use of a finite-state parsing table based on theEOpenVMS lib$table_parse routine; the syntax and processing of the GNM/language is based entirely on this RTL routine.+Here is the basic foreign-command sequence: $ gnm :== $ddcu:[dir]gnm.exe; $ gnm gnm-in-file.gnm msg-out-file.msg sdml-out-file.sdmlDGNM converts a .GNM file into a standard OpenVMS message file, whichCcan then be processed by the MESSAGE compiler and then (optionally)Ewith MESSAGE/SDL (undocumented) and the SDL tool (Freeware) to createFlanguage-specific include files. GNM also converts the .GNM file into7an .SDML file for use with the TTI DECdocument package.:The .GNM file can be thought of as a series of directives:3 .NAME - The message symbol without the VDE$_5 .MESSAGE - The message text, it may be wrappedA .EXPLANATION - The description that appears in the documentG .USER_ACTION - The recovery section that appears in the document.; .BREAK - May be used to start a new paragraph in the$ .explanation or .user_actionH .DESTINATION - Which file the following appears in, parameters are both, messageE .SEVERITY - informational, success, warning, error, or fatalDThe first 4 directives: .name, .message, .explanation, .user_action,Boccur as a group in that order for each message. .explanation andA.user_action are optional. The FAO arguments within the .messageBare contained within <>. Within the <> there are 2 arguments, the@first is a word which will be emphasized in that position in theAdocument, the second is the FAO argument which will appear in the message file in that position. DThe .destination directive must appear between message groups and isBin effect until another .destination directive occurs. Thus, whenCone message is to goto the message file only a .destination messageBwill precede the message group and a .destination both will follow the group. E.FACILITY and .END frame the contents of the GNM file. The argumentsFon the .FACILITY directive indicate the facility name and the facilityEnumber, and the directive also accepts qualifiers to pass through to %the MESSAGE file .FACILITY directive.DUse spaces for the indentation of the message text and explanations.*The following is an example of a GNM file:(.facility facnam,facnum /PREFIX=prefix$_!,! Success messages go here. DO NOT REORDER.!.severity success.destination message.name SUCCESS1.message successful+.explanation This message indicates success.user_action None required!2! Informational messages go here. DO NOT REORDER.! .base 500.severity informational.destination both.name INFO1-.message information is displayedA.explanation This message informs you of something, and shows how6 to include some text in the message using a standard FAO directive..user_action None required!,! Warning messages go here. DO NOT REORDER.! .base 1000.severity warning.destination both.name WARNING1.message ambiguous ''D.explanation Cannot complete the command because '(text)' . is ambiguous in the context of this command..user_action None required!*! Error messages go here. DO NOT REORDER.! .base 1500.severity error.destination both.name ERROR12.message whoops, something unusual this way walked8.explanation a part of the magical unknown mystery tour,+ with seats still available.8.user_action Wave a rubber chicken over the application.> If that fails, upgrade to Rubber Chicken V2.0.!D! Fatal messages go here. DO NOT REORDER. Very few messages should! be of fatal severity.! .base 2000.severity fatal.destination both.name FATAL1..message a fatal crash has occured, film at 11(.explanation unknown fatal mystery error4.user_action Dance for the computer. It might help..end