!************************************************************************* ! * ! © 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 MAKE language attributes, tokens, ! and placeholders. ! ! Author: ! W. Ward Clark, LinkWorks Project ! ! Creation Date: 4-Mar-90 ! ! Modification History: ! 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 !-- ! ! MAKE Language Definition ! DELETE LANGUAGE make DEFINE LANGUAGE make - /COMMENT=( - ASSOCIATED_IDENTIFIER = PREVIOUS, - NOBEGIN, - NOEND, - NOFIXED, - LINE=("#"), - NOTRAIL) - /CAPABILITIES=NODIAGNOSTICS - /COMPILE_COMMAND="" - /EXPAND_CASE=AS_IS - /FILE_TYPES=(.MAKE) - /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="" - /NOWRAP - /VERSION="(XLSE X4.0a)" SET LANGUAGE make 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="MAKE Language Module" - /TOPIC="" - /TYPE=NONTERMINAL "#[module-level-comments]" " " "#" "# MAKE 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 ! ! MAKE-specific language definitions ! DEFINE PLACEHOLDER "rule" - /DESCRIPTION="MAKE 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 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="MAKE 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 "MAKE$xxx macro name" /PLACEHOLDER "default macro name" /PLACEHOLDER "user macro name" /PLACEHOLDER END DEFINE DEFINE PLACEHOLDER "MAKE$xxx macro name" - /DESCRIPTION="Name of an MAKE special macro" - /TOPIC="" - /TYPE=MENU "MAKE$TARGET" /DESCRIPTION="target file-spec" "MAKE$TARGET_NAME" /DESCRIPTION="target file-name" "MAKE$SOURCE" /DESCRIPTION="source file-spec" "MAKE$SOURCE_LIST" /DESCRIPTION="list of source files" "MAKE$CHANGED_LIST" /DESCRIPTION="list of changed source files" "MAKE$LIB_ELEMENT" /DESCRIPTION="VMS library-spec(module-name)" END DEFINE DEFINE PLACEHOLDER "default macro name" - /DESCRIPTION="Name of an MAKE default macro" - /TOPIC="" - /TYPE=MENU "ANLFLAGS" "AS" "BASIC" "BASFLAGS" "BLISS" "BLISS16" "BFLAGS" "BLIBFLAGS" "CC" "CFLAGS" "CLDFLAGS" "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 "MAKE-directive" - /DESCRIPTION="MAKE 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="MAKE-directive" DEFINE TOKEN "." /PLACEHOLDER="MAKE-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"