
!*************************************************************************
!									 *
! © 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 ULTRIX Shell Script 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
!--
!

! SHELL Language Definition
!
DELETE LANGUAGE shell
DEFINE LANGUAGE shell -
    /COMMENT=( -
	ASSOCIATED_IDENTIFIER = PREVIOUS, -
	NOBEGIN, -
	NOEND, -
	NOFIXED, -
	NOLINE, -
	TRAILING=("#+","#-","#")) -
    /CAPABILITIES=NODIAGNOSTICS -
    /COMPILE_COMMAND="" -
    /EXPAND_CASE=AS_IS -
    /FILE_TYPES=(.script) -
    /HELP_LIBRARY="" -
    /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=",;()""" -
    /QUOTED_ITEM=(QUOTES="""") -
    /RIGHT_MARGIN=80 -
    /TAB_INCREMENT=4 -
    /TOPIC_STRING="" -
    /NOWRAP -
    /VERSION="(XLSE X4.0a)"

! Delete any language definitions
!
SET LANGUAGE shell

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" -
    /TOPIC="" -
    /TYPE=TERMINAL

    "to be specified"

    END DEFINE

DEFINE PLACEHOLDER MODULE -
    /DESCRIPTION="Shell Language Module" -
    /TOPIC="" -
    /TYPE=NONTERMINAL

    "#[module-level-comments]"
    ""
    "[statement]..."

    END DEFINE

DEFINE TOKEN module /PLACEHOLDER=module

DEFINE PLACEHOLDER module-level-comments -
    /DESCRIPTION="" -
    /DUPLICATION=VERTICAL -
    /TOPIC="" -
    /TYPE=NONTERMINAL

    "++"
    " Facility:"
    "   {tbs}"
    " "
    " Abstract:"
    "   {tbs}"
    " "
    " Author:"
    "   {tbs}"
    " "
    " Creation Date: {tbs}"
    " "
    " Modification History:"
    "--"

    END DEFINE

! Modification History definitions
!
DEFINE TOKEN "tbs" -
    /DESCRIPTION="to-be-specified"
    "[tbs]"
    END DEFINE

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" -
    /TOPIC="" -
    /TYPE=TERMINAL

    "modification identification number"

    END DEFINE

DEFINE PLACEHOLDER your-initials -
    /DESCRIPTION="your initials" -
    /TOPIC="" -
    /TYPE=TERMINAL

    "your initials"

    END DEFINE

DEFINE PLACEHOLDER modification-date -
    /DESCRIPTION="modification date" -
    /TOPIC="" -
    /TYPE=TERMINAL

    "modification date (dd-mmm-yy)"

    END DEFINE

DEFINE PLACEHOLDER modification-remark -
    /DESCRIPTION="brief description of a modification" -
    /TOPIC="" -
    /TYPE=TERMINAL

    "brief description of the modification"

    END DEFINE

DEFINE PLACEHOLDER statement -
    /DESCRIPTION="Shell Language statement" -
    /DUPLICATION=VERTICAL -
    /TOPIC="" -
    /TYPE=TERMINAL

    "one Shell Language statement"

    END DEFINE
