
VSI OpenVMS VSI Pascal for OpenVMS User Manual Document Number: DO-DPASUM-01A Publication Date: May 2020 This manual contains information about selected programming tasks using the VSI Pascal for OpenVMS programming language. Revision Update Information: This is a new manual. Operating System and Version: VSI OpenVMS I64 Version 8.4-1H1 VSI OpenVMS Alpha Version 8.4-2L1 Software Version: VSI Pascal Version 6.2 for OpenVMS I64 VSI Pascal Version 6.2-125 for OpenVMS Alpha VMS Software, Inc., (VSI) Bolton, Massachusetts, USA VSI Pascal for OpenVMS User Manual Copyright © 2020 VMS Software, Inc. (VSI), Bolton, Massachusetts, USA Legal Notice Confidential computer software. Valid license from VSI 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. The information contained herein is subject to change without notice. The only warranties for VSI products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. VSI shall not be liable for technical or editorial errors or omissions contained herein. HPE, HPE Integrity, HPE Alpha, and HPE Proliant are trademarks or registered trademarks of Hewlett Packard Enterprise. Intel, Itanium and IA64 are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java, the coffee cup logo, and all Java based marks are trademarks or registered trademarks of Oracle Corporation in the United States or other countries. Kerberos is a trademark of the Massachusetts Institute of Technology. Microsoft, Windows, Windows-NT and Microsoft XP are U.S. registered trademarks of Microsoft Corporation. Microsoft Vista is either a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries. Motif is a registered trademark of The Open Group UNIX is a registered trademark of The Open Group. The VSI OpenVMS documentation set is available on CD. ii VSI Pascal for OpenVMS User Manual Preface ................................................................................................................................... vii 1. Intended Audience ........................................................................................................ vii 2. Document Structure ...................................................................................................... vii 3. Related Documents ...................................................................................................... viii 4. VSI Encourages Your Comments .................................................................................. viii 5. How to Order Additional Documentation ...................................................................... viii 6. Typographical Conventions .......................................................................................... viii Chapter 1. Compiling VSI Pascal for OpenVMS Programs ............................................. 1 1.1. PASCAL Command ..................................................................................................... 1 1.1.1. PASCAL Command Examples ........................................................................... 2 1.1.2. PASCAL Qualifiers ........................................................................................... 2 1.1.3. Contents of the Compilation Listing File ........................................................... 18 1.1.3.1. Table of Contents (OpenVMS VAX systems) ......................................... 18 1.1.3.2. Source Code ......................................................................................... 19 1.1.3.3. Cross-Reference Section ........................................................................ 19 1.1.3.4. Machine Code Section .......................................................................... 19 1.1.3.5. Structured Layout Section ..................................................................... 19 1.1.3.6. Inline Summary (OpenVMS VAX systems) ............................................ 19 1.1.3.7. Compilation Statistics ........................................................................... 20 1.1.4. Text Libraries .................................................................................................. 20 1.1.4.1. Using the %INCLUDE Directive for Text Libraries ................................ 20 1.1.4.2. Specifying Text Libraries on the Command Line .................................... 21 1.1.4.3. Defining Default Libraries ..................................................................... 22 1.2. LINK Command ........................................................................................................ 22 1.2.1. LINK Command Examples .............................................................................. 23 1.2.2. LINK Qualifiers .............................................................................................. 24 1.2.3. Object Module Libraries .................................................................................. 26 1.3. RUN Command ......................................................................................................... 26 1.4. Error Messages .......................................................................................................... 27 Chapter 2. Separate Compilation ...................................................................................... 29 2.1. ENVIRONMENT, HIDDEN, and INHERIT Attributes ................................................ 29 2.2. Interfaces and Implementations ................................................................................... 33 2.3. Data Models .............................................................................................................. 37 2.4. Separate Compilation Examples .................................................................................. 39 Chapter 3. Program Correctness, Optimization, and Efficiency .................................... 43 3.1. Compiler Optimizations .............................................................................................. 43 3.1.1. Compile-Time Evaluation of Constants ............................................................. 44 3.1.2. Elimination of Common Subexpressions ........................................................... 45 3.1.3. Elimination of Unreachable Code ..................................................................... 46 3.1.4. Code Hoisting from Structured Statements ........................................................ 46 3.1.5. Inline Code Expansion for Predeclared Functions .............................................. 47 3.1.6. Inline Code Expansion for User-Declared Routines ........................................... 47 3.1.7. Testing for Inline Expansion on OpenVMS VAX Systems .................................. 47 3.1.8. Operation Rearrangement ................................................................................. 48 3.1.9. Partial Evaluation of Logical Expressions ......................................................... 48 3.1.10. Value Propagation .......................................................................................... 49 3.1.11. Strength Reduction (VSI OpenVMS I64 and VSI OpenVMS Alpha systems) .................................................................................................................... 49 3.1.12. Split Lifetime Analysis (VSI OpenVMS I64 and VSI OpenVMS Alpha systems) .................................................................................................................... 50 iii VSI Pascal for OpenVMS User Manual 3.1.13. Code Scheduling (VSI OpenVMS I64 and VSI OpenVMS Alpha systems) ........ 50 3.1.14. Loop Unrolling (VSI OpenVMS I64 and VSI OpenVMS Alpha systems) .......... 50 3.1.15. Alignment of Compiler-Generated Labels ....................................................... 51 3.1.16. Error Reduction Through Optimization ........................................................... 51 3.1.17. Software Pipelining (VSI OpenVMS I64 and VSI OpenVMS Alpha systems) .................................................................................................................... 51 3.1.18. Processor Selection and Tuning (VSI OpenVMS Alpha systems) ...................... 52 3.1.19. Compiling for Optimal Performance ............................................................... 53 3.2. Programming Considerations ...................................................................................... 53 3.3. Implementation-Dependent Behavior ........................................................................... 54 3.3.1. Subexpression Evaluation Order ....................................................................... 55 3.3.2. MAXINT and MAXINT64 Predeclared Constants ............................................. 55 3.3.3. Pointer References ........................................................................................... 55 3.3.4. Variant Records ............................................................................................... 56 3.3.5. Atomicity, Granularity, Volatility, and Write Ordering ........................................ 57 3.3.6. Debugging Considerations ...............................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages238 Page
-
File Size-