DEC OPS5 Compatibility and Migration Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Upward Compatibility and Migration

  1.1     Upward Compatibility
    1.1.1      Executable Images on VMS Systems
    1.1.2      Object Modules on VMS Systems
    1.1.3      Source Files on All Systems
    1.1.4      Considerations for the Development Environment
    1.1.5      Quote Filter Program
      1.1.5.1      Using the Quote Filter Program on VMS Systems
      1.1.5.2      Using the Quote Filter Program on ULTRIX and DEC OSF/1 Systems

  1.2     Migration
    1.2.1      Steps in the Migration Process
    1.2.2      CE Variable Filter Program
      1.2.2.1      Using the CE Variable Filter Program on VMS Systems
      1.2.2.2      Using the CE Variable Filter Program on ULTRIX and DEC OSF/1 Systems

  2      Summary of Obsolescent Features and Replacements

  3      Diagnostic Messages for Obsolescent Features

  3.1     Controlling Obsolescent Messages on VMS Systems
    3.1.1      Disabling Messages on VMS Systems
    3.1.2      Enabling Messages by Category on VMS Systems
    3.1.3      Changing the Severity Level of Messages on VMS Systems

  3.2     Controlling Obsolescent Messages on ULTRIX and DEC OSF/1 Systems
    3.2.1      Disabling Messages on ULTRIX and DEC OSF/1 Systems
    3.2.2      Enabling Messages by Category on ULTRIX and DEC OSF/1 Systems
    3.2.3      Changing the Severity Level of Messages on ULTRIX and DEC OSF/1 Systems

  4      Changes to WMEs

  4.1     Old-Style WMEs and New-Style Objects

  4.2     LITERAL and LITERALIZE Declarations

  4.3     VECTOR-ATTRIBUTE Declaration

  4.4     Numeric Fields for Attributes

  4.5     LITVAL Function

  4.6     SUBSTR Function

  4.7     ACCEPT Function

  4.8     ACCEPTLINE Function

  4.9     Global Attribute Names

  4.10    Unique Identifier INSTANCE-ID in ^$ID Attribute

  4.11    Debugging Support for Migration
    4.11.1     CS Command
    4.11.2     MATCHES Command
    4.11.3     PPWM Command
    4.11.4     WATCH Command
    4.11.5     WBREAK Command
    4.11.6     WM Command
    4.11.7     WMHISTORY Command

  4.12    Potential Problems Related to Changes in WME Structures

  5      Changes to External Routines

  5.1     When to Make Required Changes
    5.1.1      Parameter Passing for Scalar Values and Entire WMEs
    5.1.2      Parameter Passing for Vector Attributes
    5.1.3      Body of an External Routine

  5.2     EXTERNAL Declaration

  5.3     CALL Action and Command

  5.4     Changes Related to Function Parameter Passing

  5.5     Changes Related to Subroutine Parameter Passing
    5.5.1      Eliminating the Parameter Passing Support Routines
    5.5.2      Passing a Fixed Number of Scalar Values
    5.5.3      Passing a Variable Number of Scalar Values
    5.5.4      Passing Vector Attributes
    5.5.5      Passing Entire WMEs

  5.6     Changing the Body of the External Routine
    5.6.1      Atom Table Routines
    5.6.2      Working Memory Modification Routines
    5.6.3      Working Memory Query Routines
    5.6.4      Declaration Testing Routines
    5.6.5      Execution Control Routines
    5.6.6      Input/Output Routines
    5.6.7      Routines that Work with WMEs and Objects
    5.6.8      Considerations for Combining Old and New Routines

  5.7     Considerations for C Language Routines

  5.8     Linking with External Routines

  6      Changes to Rules

  6.1     Attribute Operator ( ^ ) in BIND, CALL, and WRITE

  6.2     BIND Action
    6.2.1      Multiple Values
    6.2.2      No Value

  6.3     CBIND Action

  6.4     COMPUTE Function

  6.5     Disjunction of Values

  6.6     Element Variables

  6.7     Duplicate Variable Names

  6.8     Integer Element Designators

  6.9     Changes in Matching

  6.10    MODIFY Action

  6.11    REMOVE Action

  6.12    COPY Action

  6.13    Changes in Conflict Resolution

  7      Miscellaneous Changes

  7.1     %INCLUDE Compiler Directive

  7.2     Class and Attribute Names Beginning with a Dollar Sign ($)

  7.3     New Synonym for (p

  8      Replacing Programming Idioms with New Syntax

  8.1     Compound Attributes

  8.2     Object Class Inheritance

  8.3     Improved Call-Out

  8.4     FOR-EACH Action

  8.5     Using an INSTANCE-ID as an Identifier

  8.6     COPY Action

  8.7     CE Disjunction

  A   Obsolescent Actions, Commands, Declarations, and Functions

  ACCEPT

  ACCEPTLINE

  CALL

  CBIND

  COMPUTE

  EXTERNAL

  LITERAL

  LITERALIZE

  LITVAL

  SUBSTR

  VECTOR-ATTRIBUTE

  B   Obsolescent Support Routines

  OPS$ACCEPT

  OPS$ACCEPTLINE

  OPS$ASSERT

  OPS$ATOM

  OPS$CANCEL_RUN

  OPS$CLEAR

  OPS$COMPLETION

  OPS$CRLF

  OPS$CVAF

  OPS$CVAN

  OPS$CVFA

  OPS$CVNA

  OPS$EQL

  OPS$FLOATING

  OPS$GENATOM

  OPS$HALT

  OPS$IFILE

  OPS$INITIALIZE

  OPS$INTEGER

  OPS$INTERN

  OPS$LITBIND

  OPS$LITVAL

  OPS$OFILE

  OPS$PARAMETER

  OPS$PARAMETERCOUNT

  OPS$PNAME

  OPS$RESET

  OPS$RUN

  OPS$STARTUP

  OPS$SYMBOL

  OPS$TAB

  OPS$VALUE

  OPS$WARNING

  OPS$WRITE

  C   Sample Programs

  Glossary

  TABLES

  1-1        Summary of Digital-Supplied Filter Programs

  1-2        Migration Categories

  2-1        Obsolescent Constructs and Recommended Replacements

  3-1        Message Categories for VMS Systems

  3-2        Message Severity Levels for VMS Systems

  3-3        Options for ULTRIX and DEC OSF/1 Systems

  3-4        Message Categories for ULTRIX and DEC OSF/1 Systems

  3-5        Message Severity Levels for ULTRIX and DEC OSF/1 Systems

  4-1        Comparison of Old-Style WMEs and New-Style Objects

  4-2        SUBSTR Function and Its Replacements

  5-1        Old Atom Table Support Routines and Replacements

  5-2        New Atom Table Routines

  5-3        Old Working Memory Modification Routines and Recommended Replacements

  5-4        New Working Memory Modification Routines

  5-5        New Working Memory Query Routines

  5-6        New Declaration Testing Routines

  5-7        Old Execution Control Routines and Recommended Replacements

  6-1        Comparison of CE Variables, $ID Variables, and Instance Variables

  8-1        Comparison of Vector Attributes and Compound Attributes

  B-1        Summary of Support Routines