!************************************************************************* ! * ! © Copyright 2005 Hewlett-Packard Development Company, L.P. * ! * ! Confidential computer software. Valid license from HP required for * ! possession, use or copying. Consistent with FAR 12.211 and 12.212, * ! Commercial Computer Software, Computer Software Documentation, and * ! Technical Data for Commercial Items are licensed to the U.S. * ! Government under vendor's standard commercial license. * ! * !************************************************************************* !++ ! Facility: ! Extended LSE (XLSE) ! ! Abstract: ! This module defines the MMS language attributes, templates ! and placeholders. ! ! Author: ! W. Ward Clark, LinkWorks Project ! ! Creation Date: 6-Oct-88 ! ! Modification History: ! X1.3 WWC 15-Jan-89 normalize LSE command syntax ! 1988 --> 1989 ! X3.0 WWC 1-Jan-90 upgrade to LSE V3.0 ! 1989 --> 1990 ! X3.0-1 WWC 28-Jan-90 add PDF definitions ! X3.1 WWC 29-Oct-91 1990 --> 1991 ! X4.0a WWC 24-Feb-93 make modification-id an optional placeholder ! X4.0a-1 WWC 24-Feb-93 1991 --> 1993 !-- ! !+ ! MMS Language Definition !- DELETE LANGUAGE mms DEFINE LANGUAGE mms - /COMMENT=( - ASSOCIATED_IDENTIFIER = PREVIOUS, - NOBEGIN, - NOEND, - NOFIXED, - LINE=("!","#"), - NOTRAIL) - /CAPABILITIES=NODIAGNOSTICS - /COMPILE_COMMAND="" - /EXPAND_CASE=AS_IS - /FILE_TYPES=(.MMS) - /HELP_LIBRARY="SYS$HELP:HELPLIB.HLB" - /IDENTIFIER_CHARACTERS= - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%$_0123456789" - /INITIAL_STRING="[module]" - /LEFT_MARGIN=CONTEXT_DEPENDENT - /OVERVIEW_OPTIONS=( - MINIMUM_LINES=1, - TAB_RANGE=(4,8)) - /PLACEHOLDER_DELIMITERS=( - REQUIRED= ("{","}"), - REQUIRED_LIST= ("{","}..."), - OPTIONAL= ("[","]"), - OPTIONAL_LIST= ("[","]..."), - PSEUDOCODE= ("«","»")) - /PUNCTUATION_CHARACTERS=",:;()""" - /NOQUOTED_ITEM - /RIGHT_MARGIN=80 - /TAB_INCREMENT=4 - /TOPIC_STRING="MMS Desc" - /NOWRAP - /VERSION="(XLSE X4.0a)" SET LANGUAGE mms DELETE PLACEHOLDER * DELETE TOKEN * ! !+ ! Language-independent definitions !- DELETE PLACEHOLDER "lse$block_comment" DEFINE PLACEHOLDER "lse$block_comment" - /TYPE=NONTERMINAL "! {tbs}" "!" END DEFINE DELETE PLACEHOLDER "lse$generic" DEFINE PLACEHOLDER "lse$generic" - /TYPE=NONTERMINAL "{tbs}" END DEFINE DELETE PLACEHOLDER "lse$line_comment" DEFINE PLACEHOLDER "lse$line_comment" - /TYPE=NONTERMINAL "! {tbs}" END DEFINE DEFINE PLACEHOLDER "tbs" - /DESCRIPTION="field to be specified" - /TYPE=TERMINAL "to be specified" END DEFINE DEFINE TOKEN "tbs" - /DESCRIPTION="to-be-specified" "[tbs]" END DEFINE DEFINE PLACEHOLDER "module" - /DESCRIPTION="MMS Language Module" - /TOPIC="" - /TYPE=NONTERMINAL "![module-level-comments]" " " "!" "! MMS processing options" "!" "[.SILENT directive]" "[.IGNORE directive]" "!" "! Included description files" "!" "[.INCLUDE directive]..." "!" "! Revised precedence of file types" "!" "[.SUFFIXES directive]..." "!" "! Local rules" "!" "[user-defined-rule]..." " " "!" "! Local macros" "!" "[macro-definition]..." "!" "! Default action" "!" "[.DEFAULT directive]" "!" "! Initialization actions" "!" "[.FIRST directive]" " " "!" "! Dependency rules" "!" "[dependency-rule]..." " " "!" "! Completion actions" "!" "[.LAST directive]" END DEFINE DEFINE TOKEN module /PLACEHOLDER=module DEFINE PLACEHOLDER "module-level-comments" - /TYPE=NONTERMINAL "++" " Facility:" " {tbs}" " " " Abstract:" " {tbs}" " " " Author:" " {tbs}" " " " Creation Date: {tbs}" " " " Modification History:" "--" END DEFINE !+ ! Modification History definitions !- DEFINE TOKEN "new_modification" - /DESCRIPTION="modification history entry" "! [modification-id] {your-initials} {modification-date} {modification-remark}" END DEFINE DEFINE PLACEHOLDER "modification-id" - /DESCRIPTION="modification identification number" - /TYPE=TERMINAL "modification identification number" END DEFINE DEFINE PLACEHOLDER "your-initials" - /DESCRIPTION="your initials" - /TYPE=TERMINAL "your initials" END DEFINE DEFINE PLACEHOLDER "modification-date" - /DESCRIPTION="modification date" - /TYPE=TERMINAL "modification date (dd-mmm-yy)" END DEFINE DEFINE PLACEHOLDER "modification-remark" - /DESCRIPTION="brief description of a modification" - /TYPE=TERMINAL "brief description of the modification" END DEFINE ! !+ ! MMS-specific language definitions !- DEFINE PLACEHOLDER "rule" - /DESCRIPTION="MMS rule" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=MENU "user-defined-rule" /PLACEHOLDER "dependency-rule" /PLACEHOLDER "double-dependency-rule" /PLACEHOLDER END DEFINE DEFINE TOKEN "rule" /PLACEHOLDER="rule" DEFINE PLACEHOLDER "user-defined-rule" - /DESCRIPTION="User-defined rule" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".{source-file-type}.{target-file-type}" " {action-line}..." "" END DEFINE DEFINE TOKEN "user_defined_rule" /PLACEHOLDER="user-defined-rule" DEFINE PLACEHOLDER "source-file-type" - /DESCRIPTION="Source file type" - /TOPIC="" - /TYPE=TERMINAL "Enter the file type of a source" END DEFINE DEFINE PLACEHOLDER "target-file-type" - /DESCRIPTION="Target file type" - /TOPIC="" - /TYPE=TERMINAL "Enter the file type of a target" END DEFINE DEFINE PLACEHOLDER "dependency-rule" - /DESCRIPTION="Dependency rule" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "{target}... : [source]..." " [action-line]..." "" END DEFINE DEFINE TOKEN "dependency" /PLACEHOLDER="dependency-rule" DEFINE PLACEHOLDER "double-dependency-rule" - /DESCRIPTION="Double (colon) dependency rule" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "{target}... :: [source]..." " [action-line]..." "" END DEFINE DEFINE TOKEN "double_dependency" /PLACEHOLDER="double-dependency-rule" DEFINE PLACEHOLDER "target" - /DESCRIPTION="target specification" - /DUPLICATION=HORIZONTAL - /SEPARATOR="," - /TOPIC="" - /TYPE=TERMINAL "Enter a VMS file-spec or a mnemonic name" END DEFINE DEFINE PLACEHOLDER "source" - /DESCRIPTION="source specification" - /DUPLICATION=HORIZONTAL - /SEPARATOR="," - /TOPIC="" - /TYPE=MENU "file-spec" /PLACEHOLDER "CMS-element" /PLACEHOLDER "CDD-record" /PLACEHOLDER END DEFINE DEFINE PLACEHOLDER "CMS-element" - /DESCRIPTION="Element in a CMS Library" - /TOPIC="" - /TYPE=NONTERMINAL "{file-spec}~" END DEFINE DEFINE TOKEN "CMS_element" /PLACEHOLDER="CMS-element" DEFINE PLACEHOLDER "CDD-record" - /DESCRIPTION="Record in the CDD" - /TOPIC="" - /TYPE=NONTERMINAL "{CDD-path-name}^" END DEFINE DEFINE TOKEN "CDD_record" /PLACEHOLDER="CDD-record" DEFINE PLACEHOLDER "CDD-path-name" - /DESCRIPTION="Path name of a CDD record description" - /TOPIC="" - /TYPE=TERMINAL "Enter a CDD path name (e.g., CDD$TOP.A.B.C)" END DEFINE DEFINE PLACEHOLDER "action-line" - /DESCRIPTION="Command to be executed" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "[@][-] {DCL-command}" END DEFINE DEFINE TOKEN "action" /PLACEHOLDER="action-line" DEFINE PLACEHOLDER "@" - /DESCRIPTION="Silent action-line prefix" - /TOPIC="" - /TYPE=NONTERMINAL "@" END DEFINE DEFINE PLACEHOLDER "-" - /DESCRIPTION="Ignore action-line prefix" - /TOPIC="" - /TYPE=NONTERMINAL "-" END DEFINE DEFINE PLACEHOLDER "DCL-command" - /DESCRIPTION="Command to be executed" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=TERMINAL "Enter a DCL command" END DEFINE DEFINE PLACEHOLDER "macro-definition" - /DESCRIPTION="MMS macro definition" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL "{macro-name} = {replacement-string}" END DEFINE DEFINE TOKEN "macro" /PLACEHOLDER="macro-definition" DEFINE PLACEHOLDER "macro-name" - /DESCRIPTION="Name of macro being defined" - /TOPIC="" - /TYPE=TERMINAL "Enter a string of characters (except for space, tab, return, =)" END DEFINE DEFINE PLACEHOLDER "replacement-string" - /DESCRIPTION="Macro replacement string" - /TOPIC="" - /TYPE=TERMINAL "Enter the macro replacement string" END DEFINE DEFINE PLACEHOLDER "macro-invocation" - /DESCRIPTION="Macro invocation" - /TOPIC="" - /TYPE=NONTERMINAL "$({macro name})" END DEFINE DEFINE TOKEN "$" /PLACEHOLDER="macro-invocation" DEFINE PLACEHOLDER "macro name" - /DESCRIPTION="Name of a defined macro" - /TOPIC="" - /TYPE=MENU "MMS$xxx macro name" /PLACEHOLDER "default macro name" /PLACEHOLDER "user macro name" /PLACEHOLDER END DEFINE DEFINE PLACEHOLDER "MMS$xxx macro name" - /DESCRIPTION="Name of an MMS special macro" - /TOPIC="" - /TYPE=MENU "MMS$TARGET" /DESCRIPTION="target file-spec" "MMS$TARGET_NAME" /DESCRIPTION="target file-name" "MMS$SOURCE" /DESCRIPTION="source file-spec" "MMS$SOURCE_LIST" /DESCRIPTION="list of source files" "MMS$CHANGED_LIST" /DESCRIPTION="list of changed source files" "MMS$LIB_ELEMENT" /DESCRIPTION="VMS library-spec(module-name)" "MMS$CMS_ELEMENT" /DESCRIPTION="CMS element-spec" "MMS$CMS_GEN" /DESCRIPTION="CMS generation of a source file" "MMS$CMS_LIBRARY" /DESCRIPTION="CMS library-spec" END DEFINE DEFINE PLACEHOLDER "default macro name" - /DESCRIPTION="Name of an MMS default macro" - /TOPIC="" - /TYPE=MENU "ANLFLAGS" "AS" "BASIC" "BASFLAGS" "BLISS" "BLISS16" "BFLAGS" "BLIBFLAGS" "CC" "CFLAGS" "CDDFLAGS" "CLDFLAGS" "CMS" "CMSCOMMENT" "CMSFLAGS" "COBOL" "COBFLAGS" "DIBOL" "DBLFLAGS" "FMS" "FMSFLAGS" "FORT" "FFLAGS" "LIBR" "LIBRFLAGS" "LINK" "LINKFLAGS" "MACRO" "MFLAGS" "MSGFLAGS" "PASCAL" "PENVFLAGS" "PFLAGS" "PLI" "PLIFLAGS" "RPG" "RPGFLAGS" "RUNOFF" "RFLAGS" END DEFINE DEFINE PLACEHOLDER "user macro name" - /DESCRIPTION="Name of a user-defined macro" - /TOPIC="" - /TYPE=TERMINAL "Enter a string of characters (except for space, tab, return, =)" END DEFINE DEFINE PLACEHOLDER "MMS-directive" - /DESCRIPTION="MMS directives" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=MENU ".IGNORE directive" /PLACEHOLDER /DESCRIPTION="" ".SILENT directive" /PLACEHOLDER /DESCRIPTION="" ".DEFAULT directive" /PLACEHOLDER /DESCRIPTION="" ".SUFFIXES directive" /PLACEHOLDER /DESCRIPTION="" ".INCLUDE directive" /PLACEHOLDER /DESCRIPTION="" ".FIRST directive" /PLACEHOLDER /DESCRIPTION="" ".LAST directive" /PLACEHOLDER /DESCRIPTION="" ".IFDEF-.ELSE-.ENDIF directives" /PLACEHOLDER /DESCRIPTION="" END DEFINE DEFINE TOKEN "directive" /PLACEHOLDER="MMS-directive" DEFINE TOKEN "." /PLACEHOLDER="MMS-directive" DEFINE PLACEHOLDER ".IGNORE directive" - /DESCRIPTION=".IGNORE directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".IGNORE" END DEFINE DEFINE TOKEN "IGNORE" /PLACEHOLDER=".IGNORE directive" DEFINE PLACEHOLDER ".SILENT directive" - /DESCRIPTION=".SILENT directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".SILENT" END DEFINE DEFINE TOKEN "SILENT" /PLACEHOLDER=".SILENT directive" DEFINE PLACEHOLDER ".DEFAULT directive" - /DESCRIPTION=".DEFAULT directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".DEFAULT" " {action-line}..." "" END DEFINE DEFINE TOKEN "DEFAULT" /PLACEHOLDER=".DEFAULT directive" DEFINE PLACEHOLDER ".SUFFIXES directive" - /DESCRIPTION=".SUFFIXES directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".SUFFIXES .[file-type]..." END DEFINE DEFINE TOKEN "SUFFIXES" /PLACEHOLDER=".SUFFIXES directive" DEFINE PLACEHOLDER "file-type" - /DESCRIPTION="Recognized file types" - /LEADING="." - /SEPARATOR=" ." - /TOPIC="" - /TYPE=TERMINAL "Enter a file type (e.g., NEW, XYZ)" END DEFINE DEFINE PLACEHOLDER ".INCLUDE directive" - /DESCRIPTION=".INCLUDE directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".INCLUDE {file-spec}" END DEFINE DEFINE TOKEN "INCLUDE" /PLACEHOLDER=".INCLUDE directive" DEFINE PLACEHOLDER "file-spec" - /DESCRIPTION="File specification" - /TOPIC="" - /TYPE=TERMINAL "Enter a VMS file specification" END DEFINE DEFINE PLACEHOLDER ".FIRST directive" - /DESCRIPTION=".FIRST directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".FIRST" " {action-line}..." "" END DEFINE DEFINE TOKEN "FIRST" /PLACEHOLDER=".FIRST directive" DEFINE PLACEHOLDER ".LAST directive" - /DESCRIPTION=".LAST directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".LAST" " {action-line}..." "" END DEFINE DEFINE TOKEN "LAST" /PLACEHOLDER=".LAST directive" DEFINE PLACEHOLDER ".IFDEF-.ELSE-.ENDIF directives" - /DESCRIPTION=".IFDEF-.ELSE-.ENDIF directives" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".IFDEF {macro name}" "[tbs]" "[.ELSE directive]" ".ENDIF" END DEFINE DEFINE TOKEN "IF" /PLACEHOLDER=".IFDEF-.ELSE-.ENDIF directives" DEFINE TOKEN "IFDEF" /PLACEHOLDER=".IFDEF-.ELSE-.ENDIF directives" DEFINE PLACEHOLDER ".ELSE directive" - /DESCRIPTION=".ELSE directive" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".ELSE" "[tbs]" END DEFINE DEFINE TOKEN "ELSE" /PLACEHOLDER=".ELSE directive" DEFINE PLACEHOLDER ".IFDEF-.ENDIF directives" - /DESCRIPTION=".IFDEF-.ENDIF directives" - /DUPLICATION=VERTICAL - /TOPIC="" - /TYPE=NONTERMINAL ".IFDEF {macro name}" "[tbs]" ".ENDIF" END DEFINE DEFINE TOKEN "IFTHEN" /PLACEHOLDER=".IFDEF-.ENDIF directives"