VAX DIBOL User's Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction

  1.1     The VAX DIBOL Language Product

  1.2     DIBOL Language Statements

  1.3     Program Structure
    1.3.1      Data Types
    1.3.2      Subroutine Libraries
    1.3.3      Utilities

  1.4     Program Development

  2      Creating a Program

  2.1     VAX DIBOL File Specifications
    2.1.1      VAX Language-Sensitive Editor File Types

  2.2     VAX Language-Sensitive Editor
    2.2.1      Entering LSE
    2.2.2      Placeholders
    2.2.3      Tokens
    2.2.4      LSE Commands
      2.2.4.1      EXPAND
      2.2.4.2      GOTO PLACEHOLDER/FORWARD
      2.2.4.3      GOTO PLACEHOLDER/REVERSE
      2.2.4.4      ERASE PLACEHOLDER/FORWARD
      2.2.4.5      HELP/LANGUAGE

  2.3     Switching Templates
    2.3.1      Exiting LSE

  3      Compiling a Program

  3.1     The DIBOL Compiler
    3.1.1      The Compiler Command
    3.1.2      Command and File Specification Qualifiers
    3.1.3      Specifying Output Files
    3.1.4      Contents of the Listing File
      3.1.4.1      The Program Listing
      3.1.4.2      The Symbol Table
      3.1.4.3      The Label Table
      3.1.4.4      The Error Report
      3.1.4.5      The Cross-Reference Listing
      3.1.4.6      A Listing File
    3.1.5      Error Messages

  4      VAX DIBOL DECWindows Compiler Interface

  4.1     Invoking the VAX DIBOL DECwindows Compiler Interface

  4.2     Compiling a DIBOL Program Using the DECwindows Compiler Interface
    4.2.1      Listing Options
    4.2.2      Tool Options
    4.2.3      Source Interpretation Options
    4.2.4      Object Code Options
    4.2.5      Menu Generation Options
    4.2.6      Common Data Dictionary Options

  5      Linking and Executing a Program

  5.1     Link VAX DIBOL Components
    5.1.1      Linking Components of the DIBOL Run-Time Library
    5.1.2      User Subroutines
    5.1.3      The Universal External Subroutine Library (UESL)
    5.1.4      The Operating System Specific Library (OSSL)
    5.1.5      The Run-Time System Library (RTSL)
    5.1.6      The User's Library
    5.1.7      The Order of Object File and Library Specification

  5.2     Program Execution

  6      VMS Symbolic Debugger (DEBUG)

  6.1     Preparing for DEBUG
    6.1.1      Compiling with DEBUG
    6.1.2      Linking with DEBUG
    6.1.3      DEBUG Operation
      6.1.3.1      Running with DEBUG
      6.1.3.2      Specifying a Terminal for DEBUG

  6.2     DEBUG Commands

  7      Non-DIBOL Subroutines; Shareable Libraries

  7.1     Introduction
    7.1.1      XCALL Extensions

  7.2     Calling Non-DIBOL Routines
    7.2.1      Calling System Services
    7.2.2      Calling VMS Run-Time Library Routines
    7.2.3      Calling VAX DATATRIEVE
    7.2.4      Calling VAX DBMS

  7.3     Building a Shareable Subroutine Library

  8      Sort/Merge (SORT)

  8.1     Characteristics of SORT
    8.1.1      Chapter Organization
    8.1.2      Error Messages

  8.2     SORT Commands and Parameters
    8.2.1      ASSIGN (Optional)
      8.2.1.1      Advantages of the ASSIGN Command
    8.2.2      CHAIN (Optional)
    8.2.3      COUNT (Optional)
    8.2.4      DETACH (Optional)
    8.2.5      DIBOL (Optional)
    8.2.6      END (Required)
    8.2.7      FLAGS (Optional)
    8.2.8      IDENT (Optional)
      8.2.8.1      The Effect of IDENT on Error Messages
    8.2.9      INPUT (Required)
    8.2.10     ISAM (Optional)
    8.2.11     KEYS (Required)
    8.2.12     LOCKCC (Optional)
    8.2.13     MESSAGE (Optional)
    8.2.14     OUTPUT (Required)
    8.2.15     PAD (Optional)
    8.2.16     RECLEN (Required)
    8.2.17     SPACE (Optional)
    8.2.18     TAGS (Optional)
    8.2.19     TEMP (Optional)
    8.2.20     TTNUM (Optional)
    8.2.21     VERSION (Optional)
    8.2.22     WORK (Optional)
    8.2.23     The SORT Command Summary

  8.3     Development and Execution of SORT
    8.3.1      Interactive Input
    8.3.2      Command File Input
    8.3.3      Message Input
    8.3.4      Stopping SORT

  8.4     Examples of Sort Operations

  9      Message Manager (DBLMSGMGR)

  9.1     Overview of the Message Manager

  9.2     Starting and Stopping the Message Manager

  9.3     Message Manager Errors

  10     Status (DBLSTATUS)

  10.1    Overview
    10.1.1     Chapter Organization

  10.2    Starting and Running DBLSTATUS

  10.3    Error Messages

  10.4    Options
    10.4.1     Option D
    10.4.2     Option K
    10.4.3     Option KA
    10.4.4     Option M
    10.4.5     Option MA
    10.4.6     Option WA
    10.4.7     Option S
    10.4.8     Option X

  11     Miscellaneous VAX DIBOL Concerns

  11.1    VAX DIBOL Implementation
    11.1.1     LPQUE
    11.1.2     Job Numbers
    11.1.3     Terminal Numbers
    11.1.4     Detached Programs
    11.1.5     Fatal Program Specification
    11.1.6     Formatting Symbols
    11.1.7     The WAIT Subroutine (UESL)
    11.1.8     The DIBOL Statements SEND and RECV
    11.1.9     The TTSTS (Terminal Status) Subroutine
    11.1.10    The SLEEP Statement
    11.1.11    Event Flags

  11.2    RMS Attributes Set by VAX DIBOL

  11.3    Handling Terminal Key Escape Sequences in VAX DIBOL

  11.4    Internal Function Implementation Notes

  11.5    Foreign Terminal Support for Terminal Attributes

  11.6    Binding Programs
    11.6.1     Notes on Binding

  11.7    VAX Performance and Coverage Analyzer (PCA)

  12     VAX DIBOL Interface with VAX CDD/Plus

  12.1    Overview

  12.2    A CDD/Plus Record

  12.3    Using VAX CDD/Plus From VAX DIBOL
    12.3.1     Specifying a CDD/Plus Pathname
    12.3.2     Selecting a Top-level Structure
    12.3.3     Choosing a New Name
    12.3.4     Using the Redefinition Character

  12.4    Pieces Tracking Using VAX DIBOL

  12.5    Generating History Records for Entities Accessed by the VAX DIBOL Compiler

  12.6    Using CDD/Plus Built-in Functions

  12.7    Supported Data Structures and Data Types

  12.8    Using the /ENABLE=DICTIONARY=D83 Switch

  13     The DIBOL Menu Subsystem

  13.1    Chapter Organization
    13.1.1     Error Messages

  13.2    General Description of Menus

  13.3    Selecting Options
    13.3.1     Sequential Selection
    13.3.2     Direct Selection

  13.4    Keyboards and Special Keys

  13.5    The Menu Development Cycle
    13.5.1     The Menu Source File
      13.5.1.1     Menu Source File Characteristics
      13.5.1.2     COLUMN2
      13.5.1.3     GROUP
      13.5.1.4     INCLUDE
      13.5.1.5     MENU
      13.5.1.6     SKIP
      13.5.1.7     TASK
      13.5.1.8     TEXT
      13.5.1.9     Summary of Source Statements

  13.6    The Menu Generator

  13.7    Program Development and the Use of Menu External Subroutines
    13.7.1     DBLMENU$EXIT
    13.7.2     DBLMENU$INIT
    13.7.3     DBLMENU$MESSAGE
    13.7.4     DBLMENU$PARAMS
    13.7.5     DBLMENU$PAUSE
    13.7.6     DBLMENU$RESUME
    13.7.7     DBLMENU$SELECT

  A   Indexed File Utility (DBLISMUTL)

  A.1     Using DBLISMUTL

  A.2     DBLISMUTL Requirements
    A.2.1      REORG
    A.2.2      STATUS
    A.2.3      Auto-CREATE

  EXAMPLES

  7-1        USE of %XTRNL, System Service Calls

  7-2        Calling the VMS Run-Time Library (RTL)

  7-3        DATATRIEVE Access Block

  7-4        DATATRIEVE Example Program and Output

  7-5        DBMS Utility Generated Data Definitions (PARTSDEF)

  7-6        DBMS Bill-of-Material Explosion Program and Output

  8-1        Interactive Input

  8-2        Command File Input of a SORT Control File

  8-3        Command File Input of a DBLSORTG Control File

  8-4        Command Input as a Message Sent from a Program

  11-1       Using an ACCEPT to a Numeric Field

  11-2       Using an ACCEPT to an Alphanumeric Field

  11-3       Using a READS Statement

  11-4       Two Main Programs (AP and POST) Bound into a Single Image

  11-5       Using the VAX Performance and Coverage Analyzer

  12-1       Conversion of a Data Dictionary RECORD to a VAX DIBOL RECORD

  13-1       Main Menu Program

  A-1        Sample Program to Perform a REORG Function Request

  A-2        Sample Program to Perform a STATUS Function Request

  A-3        Sample Program to Perform an Auto-CREATE Function Request

  A-4        Sample Auto-CREATE Answer File

  FIGURES

  4-1        FileView Pop-Up Verb Menu

  4-2        Compile a DIBOL Program Menu

  4-3        Compile a DIBOL Program Commands Menu

  4-4        Compile a DIBOL Program Options Menu

  4-5        Compile a DIBOL Program Help Menu

  4-6        Listing Options Menu

  4-7        Listing Options Menu Activated

  4-8        Tool Options Menu

  4-9        Source Interpretation Options Menu

  4-10       Object Code Options Menu

  4-11       MENU Options Menu

  4-12       Common Data Dictionary Options Menu

  7-1        VMS Argument Passing Mechanisms

  7-2        VAX DIBOL Descriptor Format

  12-1       Relationship of FILE Entity and Included Definitions to the COMPILED_MODULE Entity

  13-1       General Menu Format

  13-2       The VT100 Series Keyboard

  13-3       The VT200-VT400 Series Keyboards

  13-4       General Layout of a Menu Source File

  13-5       Generation and Use of the Menu File

  TABLES

  2-1        File Specification Element Default Values

  3-1        DIBOL Compiler Command Qualifiers and System Defaults

  3-2        Options for the /BIND Qualifier

  3-3        Options for the /CHECK qualifier

  3-4        Options for the /COMMON Qualifier

  3-5        Options for the /DEBUG Qualifier

  3-6        Choices for the /ENABLE Qualifier

  3-7        Contents of the Symbol Table

  3-8        Contents of Label Table

  6-1        VMS DEBUG Commands

  6-2        Commands Defined by DBLDBGINI.COM

  7-1        Program Sections and Their Contents

  8-1        Data Type and Range

  11-1       RMS Control Block Fields

  12-1       CDD/Plus Entities and Their Equivalent VAX DIBOL Structures

  12-2       The Data Dictionary and VAX CDD/Plus to VAX DIBOL Data Types

  13-1       Effect of Arrow Keys on Cursor Position in Single-Column and Double-Column Lists

  13-2       Special Function Keys on the VT100-Series and VT200-VT400 Series Keyboards

  13-3       Keys Available While Using Interactive Help

  13-4       Source Statements

  13-5       Menu Subroutine Names and Their Functions