Library /sys$common/syshlp/LSE$CLIHELP.HLB  —  DEFINE  LANGUAGE
    Specifies the characteristics of a language.

    Format

      DEFINE LANGUAGE   language-name

1  –  Qualifiers

1.1    /CAPABILITIES

       /CAPABILITIES=DIAGNOSTICS
       /CAPABILITIES=NODIAGNOSTICS (D)

    Specifies whether the compiler can generate diagnostic files.

1.2    /COMMENT

       /COMMENT=(specifier, . . . )

    Specifies the character sequences of comments in the language. The
    specifiers are as follows:

    o  ASSOCIATED_IDENTIFIER=keyword

       Indicates the preferred association of comments to identifier.
       You can specify one of the following values:

       -  NEXT-Indicates that comments should be associated with the
          next identifier.

       -  PREVIOUS-Indicates that comments should be associated with
          the preceding identifier.

    o  BEGIN=list of quoted strings

       END=list of quoted strings

       Defines the character sequences that start and end bracketed
       comments. A bracketed comment begins and ends with explicit
       comment delimiters. (Note that the beginning and ending comment
       delimiters can be the same, but need not be.) The list provided
       with the specifiers BEGIN and END can be any of the following:

       -  A string that is the one open comment sequence for the
          language. You must enclose this in quotes.

       -  A parenthesized list of strings, each one of which can be
          an open comment sequence for the language. You must enclose
          each one in quotes.

       The list accompanying the BEGIN specifier must be consistent
       with the list accompanying the END specifier. If the BEGIN
       specifier lists a string, then the END specifier must also list
       a string.

       Bracketed comments are recognized by the formatting commands
       (see the ALIGN and FILL commands) and placeholder operations
       (see the ERASE PLACEHOLDER command and the /DUPLICATION
       qualifier of the DEFINE PLACEHOLDER command).

    o  TRAILING=list of quoted strings

       Defines the character sequence that introduces line-oriented
       comments. A line-oriented comment begins with a special
       character sequence (consisting of one or more characters)
       and ends at the end of the line. The list provided with the
       TRAILING specifier can be any of the following:

       -  A string that is the one-line comment sequence for the
          language.

       -  A list of strings enclosed in parentheses; each string can
          be a line-comment sequence for the language.

       Line comments are recognized by the formatting commands and
       placeholder operations, just as bracketed comments are.

    o  LINE=list of quoted strings

       Requires that the comment delimiter be the first character that
       is not blank on the line. The LINE specifier is particularly
       useful with block comments, such as the following:

              /*
              ** Here is the inside of a comment
              ** which has LINE="**" specified
              */

    o  FIXED=quoted string, column number

       Used for languages that require that a specific comment
       delimiter be placed in a specific column, such as FIXED=("*",1)
       for COBOL.

    Note that for the specifier you cannot use any character that you
    used in the /PLACEHOLDER delimiter-specification.

1.3    /COMPILE_COMMAND

       /COMPILE_COMMAND=string

    Specifies the default command string for the COMPILE command. (See
    the explanation of the command-string parameter in the COMPILE
    command entry.)

1.4    /EXPAND_CASE

       /EXPAND_CASE=AS_IS (D)
       /EXPAND_CASE=LOWER
       /EXPAND_CASE=UPPER

    Specifies the case of the text of the inserted template. AS_
    IS specifies that the inserted template be expanded according
    to the case in the token or placeholder definition. LOWER and
    UPPER specify that the inserted template be expanded lowercase or
    uppercase, respectively.

1.5    /FILE_TYPES

       /FILE_TYPES=(file-type[, . . . ])

    Specifies a list of file types that are valid for the language
    being defined. The file types must be enclosed in quoted strings.
    When LSE reads a file into a buffer, it sets the language for that
    buffer automatically if it recognizes the file type. For example,
    a FORTRAN file type (.FOR) sets the language to FORTRAN. Note that
    the period character must be included with the file type.

1.6    /FORTRAN

       /FORTRAN=ANSI_FORMAT
       /FORTRAN=NOANSI_FORMAT (D)

    Specifies special processing for ANSI FORTRAN. Note that some
    commands behave differently when you use the /FORTRAN qualifier.
    Specifying NOANSI_FORMAT causes LSE to insert templates in non-
    ANSI (tab) format.

1.7    /HELP_LIBRARY

       /HELP_LIBRARY=file-spec
       /NOHELP_LIBRARY (D)

    Specifies the HELP library where you can find help text for
    placeholders and tokens defined in this language. LSE applies
    the default file specification SYS$HELP:HELPLIB.HLB. If you want
    to access some HELP library other than SYS$HELP, you must supply
    an explicit device name.

1.8    /IDENTIFIER_CHARACTERS

       /IDENTIFIER_CHARACTERS=string

    Specifies the characters that may appear in token and alias names
    in that language. This list of characters is used in various
    contexts for the /INDICATED qualifier.

    The list of identifier characters also determines what LSE
    considers to be a word. A word is a sequence of identifier
    characters, possibly followed by one or more blanks. All nonblank,
    nonidentifier characters are considered to be distinct words.

    If you do not specify the /IDENTIFIER_CHARACTERS qualifier, LSE
    supplies the following values by default:

      "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%$_0123456789"

1.9    /INITIAL_STRING

       /INITIAL_STRING=string

    Specifies the initial text that is to appear in a newly created
    buffer.

1.10    /LEFT_MARGIN

       /LEFT_MARGIN=n
       /LEFT_MARGIN=1 (D)
       /LEFT_MARGIN=CONTEXT_DEPENDENT

    Specifies the left margin setting that is to be associated with
    the language.

    If you specify CONTEXT_DEPENDENT as the column number, then LSE
    uses the indentation of the current line to determine the left
    margin when you use the /WRAP qualifier. When you use the FILL
    command, LSE uses the indentation of the first line of each
    selected paragraph to determine the left margin.

1.11    /OVERVIEW_OPTIONS

       /OVERVIEW_OPTIONS=(MINIMUM_LINES=m, TAB_RANGE=(t1,t2))

    Specifies both the minimum number of lines an overview line must
    hide and the range of acceptable tab increments.

    The specifiers are as follows:

    o  MINIMUM_LINES=m

       Specifies the minimum number of lines an overview line must
       hide. The default is 1. For example, if the value of the
       parameter on MINIMUM_LINES is 5, then a line hides other lines
       only if there are at least five lines to hide. This specifier
       helps the user to avoid having very small source-line groups,
       and thus to avoid many expansion levels.

    o  TAB_RANGE=(t1,t2)

       The TAB_RANGE specifier indicates the range of tab values for
       which the adjustment definitions are valid. The default is
       (4,8). The second value must be at least twice the first value;
       both values must be positive. For example, if the tab range
       is (4,8), then LSE assumes that the adjustment definitions
       will work for any DEFINE LANGUAGE/TAB_INCREMENT value from 4
       to 8 inclusive. If you specify a /TAB_INCREMENT value outside
       the tab range, then LSE recomputes indentation to make the
       adjustments work.

       For best performance, it is recommended that you avoid
       recomputation by choosing a range that covers reasonable
       values. The numbers specified for the DEFINE ADJUSTMENT/CURRENT
       and DEFINE ADJUSTMENT/SUBSEQUENT commands must work for any tab
       increment value in the tab range.

1.12    /PLACEHOLDER_DELIMITERS

       /PLACEHOLDER_DELIMITERS=(delimiter-specification[, . . . ])

    Specifies starting and ending strings that delimit placeholders.
    Placeholders can specify single constructs or lists of constructs.
    The delimiters for each type of placeholder are specified as
    a pair of quoted strings separated by commas and enclosed in
    parentheses.

    The format of a delimiter specification is as follows:

    keyword=(starting-string,ending-string)

    Possible keywords are REQUIRED, REQUIRED_LIST, OPTIONAL, OPTIONAL_
    LIST, or PSEUDOCODE. If you do not use the PSEUDOCODE keyword, the
    default is NOPSEUDOCODE. The maximum length of these strings is
    seven characters.

    The following is an example of a complete set of placeholder
    delimiter specifications:

      /PLACEHOLDER_DELIMITERS = ( -
       REQUIRED =("{<",">}"), -
       REQUIRED_LIST=("{<",">}..."), -
       OPTIONAL =("[<",">]"), -
       OPTIONAL_LIST=("[<",">]..."), -
       PSEUDOCODE=("«" , "»"))

    If any of the five keywords are not specified with the
    /PLACEHOLDER_DELIMITERS qualifier, LSE applies the following
    defaults:

      /PLACEHOLDER_DELIMITERS = ( -
       REQUIRED =("{","}"), -
       REQUIRED_LIST=("{","}..."), -
       OPTIONAL =("[","]"), -
       OPTIONAL_LIST=("[","]..."), -
       NOPSEUDOCODE)

    The placeholder delimiters that are accepted by each compiler are
    as follows:

    ADA: { } , { }... , [ ] , [ ]... , « » , <| |>

    BASIC: { } , { }... , [ ] , [ ]... , « » , << >>

    BLISS: {~ ~} , {~ ~}... , [~ ~] , [~ ~]... , «» , <~ ~>

    C: {@ @} , {@ @}... , [@ @] , [@ @]... , «» , <@ @>

    COBOL: { } , { }... , [ ] , [ ]... , « » , << >>

    FORTRAN: { } , { }... , [ ] , [ ]... , « » , << >>

    PASCAL: %{ }% , %{ }%... , %[ ]% , %[ ]%... , « » , %< >%

    PL1: { } , { }... , [ ] , [ ]... , « » , << >>

    Note that for the specifier you cannot use any character that you
    used in the /COMMENT specifier.

1.13    /PUNCTUATION_CHARACTERS

       /PUNCTUATION_CHARACTERS=string
       /PUNCTUATION_CHARACTERS=",;()" (D)

    Specifies the characters that are considered punctuation marks,
    or delimiters, in the language. When a placeholder name and its
    enclosing brackets are deleted, preceding white space is also
    deleted if there are punctuation characters to delimit the program
    constructs.

1.14    /QUOTED_ITEM

       /QUOTED_ITEM=(QUOTES=string [,ESCAPES=string])
       /NOQUOTED_ITEM (D)

    Describes the syntax of certain language elements, such as
    strings, that require special handling for proper text formatting.
    LSE uses the /QUOTED_ITEM qualifier to detect comments properly.
    LSE does not acknowledge comment strings that occur within quoted
    items, nor does it acknowledge quoted elements that occur within
    comments.

    The value of the /QUOTED_ITEM qualifier indicates the syntax of a
    quoted item. This value must be a keyword list. The keywords are
    as follows:

    o  QUOTES

       This keyword is required and must have an explicit value.
       The value must be a quoted string denoting all of the quote
       characters in the language. LSE assumes that quoted items begin
       and end with the same character.

    o  ESCAPES

       This keyword is optional. If given, then the value is required
       and must be a quoted string containing the escape characters
       for quoted items. Some languages use escape characters to
       insert quote characters into strings. For example, C uses
       the backslash (\)  as an escape character. If you omit this
       keyword, then LSE assumes that the language inserts quote
       characters into strings by doubling them.

1.15    /RIGHT_MARGIN

       /RIGHT_MARGIN=n
       /RIGHT_MARGIN=80 (D)

    Specifies the right margin setting that is to be associated with
    the language. By default, the right margin is set at column 80.

1.16    /TAB_INCREMENT

       /TAB_INCREMENT=n
       /TAB_INCREMENT=4 (D)

    Specifies that tab stops be set every n columns, beginning with
    column 1.

1.17    /TAG_TERMINATORS

       /TAG_TERMINATORS=(string[, . . . ])
       /TAG_TERMINATORS=(":") (D)

    Specifies the character sequences that you an use to terminate a
    tag. You can use each string in the list of strings to terminate
    a tag. When you use the /DESIGN=COMMENTS qualifier to compile
    programs, the compiler uses this information to detect tags inside
    of comments.

    You must not specify a string that ends in whitespace (space
    characters or tabs). Compilers always allow whitespace between a
    tag name and the tag terminator characters. If you want to require
    whitespace between the tag and the tag terminator string, use
    a space character as the first character of the tag terminator
    string. HP does not recommend the use of embedded whitespace.

1.18    /TOPIC_STRING

       /TOPIC_STRING=string

    Specifies a prefix string to be concatenated to the /TOPIC_
    STRING qualifier specified in a placeholder or token definition
    before LSE looks up the help text for that placeholder or token.
    (Typically, this is the name of the language in the HELP library.)

1.19    /VERSION

       /VERSION=string

    Specifies a string that represents the version number of the
    tokens and placeholders associated with this language. You use
    the SHOW LANGUAGE command to display this string.

1.20    /WRAP

       /WRAP
       /NOWRAP (D)

    Specifies whether text should be wrapped to a new line when you
    are typing beyond the right margin of the current line. The
    /NOWRAP qualifier disables such text wrapping.

2  –  Parameter

 language-name
    Specifies the name of the language whose characteristics are to be
    defined.
Close Help