DIGITAL Software Product Description ___________________________________________________________________ PRODUCT NAME: DEC Pascal for OpenVMS SPD 25.11.43 This SPD describes two products: o DEC Pascal Version 5.6 for OpenVMS Alpha Systems o DEC Pascal Version 5.5 for OpenVMS VAX Systems DESCRIPTION DEC Pascal is an implementation of the Pascal[*] language that accepts programs compatible with either level of the ISO specification for Pro- gramming languages - Pascal ([ISO 7185-1987]) as well as (ANSI/IEEE 770X3.97-1987). DEC Pascal also meets the Federal Information Processing Standard Publication ((FIPS-109)) requirements by accepting programs conforming to the ANSI standard. DEC Pascal also accepts many features from the Extended Pascal standard ((ANSI/IEEE 770X3.160-1989) and (ISO 10206)). The compiler has been validated for both levels of the ISO unextended Pascal standard and for conforming to FIPS-109. Containing extensions to the standards, DEC Pascal generates optimized, shareable code that takes full advantage of the VAX and Alpha hardware floating point and character instruction sets and the virtual memory capabilities of the OpenVMS VAX or OpenVMS Alpha Operating Systems. The language contains control statements, data types, and predeclared procedures and functions. ____________________ K.Jensen and N. Wirth ,Pascal User Manual and Report,2nd.ed., Spring- Verlag, New York 1974. August 1997 Major Pascal Language Elements: o INTEGER, REAL, CHAR, BOOLEAN, enumerated, and subrange data types o ARRAY, RECORD, SET, and FILE structured data types o Schemata type denoting families of types o STRING schema denoting variable-length character strings up to 65,535 characters o FOR, REPEAT, and WHILE repetitive control statements o CASE, IF-THEN, and IF-THEN-ELSE conditional statements o BEGIN...END compound statement o User-defined procedures and functions that can return structured types (other than file types) o GET, PUT, READ, WRITE, READLN, and WRITELN input and output procedures o Concatenation operator and set of predefined character string functions including INDEX, LENGTH, and SUBSTR o Standard set of functions, procedures, and operators o Module initialization and finalization o Initial state specification o Enhanced structured value constructors o Implementation characteristics (MAXCHAR, MINREAL, MAXREAL, EPSREAL) o OTHERWISE clause and case ranges for CASE statement and variant records o Date and Time functions and procedures o Short Circuit Boolean Operators (AND_THEN and OR_ELSE) o Non-Decimal representation of numbers o Exponentiation operator (**) 2 Pascal Extensions: o DOUBLE (VAX D_floating, VAX G_floating, IEEE T_floating) data type that supports the Alpha double range and double precision floating point architectureal features o QUADRUPLE (VAX H_floating on OpenVMS VAX and IEEE X_floating on OpenVMS Alpha) data type that supports the Alpha extended range and extended precision floating point architectural features o Support for null-terminated strings via the C_STR_T predefined type and the MALLOC_C_STR, C_STR, PAS_STRCPY, and PAS_STR predefined functions (OpenVMS Alpha only) o VARYING data type denoting variable-length character strings up to 65,535 characters o Language elements providing sequential and random access to RMS relative files, and sequential and keyed access to RMS multikey indexed files o Optional attributes specification on constants, variables, types, type identifiers, routines, routine parameters, schema discriminants, and compilation units o MODULE capability for combining procedures, functions, and other declarations for compilation separate from the main program o ENVIRONMENT and INHERIT attributes to control separate and independent compilation o UNSIGNED, CARDINAL, INTEGER_ADDRESS, INTEGERnn, UNSIGNEDnn, POINTER, and SINGLE predefined types o VALUE initialization section and optional value initialization in declaration section program level o External procedure and function declarations o Nonpositional passing of parameters o RETURN, BREAK, CONTINUE, EXIT, and NEXT statements o Default values for parameters 3 o Double-quoted character strings with backslash constants o 31-character identifiers that can include dollar sign ($) and underscore (_) As a native-mode language, DEC Pascal is integrated into the Common Language Environment. This integration provides DEC Pascal users with: o Support for OpenVMS interlanguage calling standard o Access to all OpenVMS system services o Access to the facilities of the OpenVMS Symbolic Debugger o Callable interfaces to the OpenVMS Common Run-time Library o Oracle CDD/Repository support o Support for the Language-Sensitive Editor/Source Code Analyzer to provide error diagnostics to Language-Sensitive Editor component, cross reference information for Source Code Analyzer component, and support for low-level program design, including the processing of pseudocode. In addition, DEC Pascal for OpenVMS VAX Systems also supports the extraction of design information from comments. o Ability for functions to return structured types (other than file types) Options available to Pascal users at compile time include: o Run-time checks for array, character string, and subrange bounds o Run-time checks for arithmetic overflow, valid case selector values, and null pointer variables o Run-time checks for invalid declarations and illegal GOTO usage o Generation of information for use by the OpenVMS Symbolic Debugger and the run-time error traceback mechanism o Creation of an environment file facilitating separate compilation o Cross-reference listing 4 o Creating in the listing file a representation of the object code generated by the compiler o Printing of information-level messages including flagging uses of extensions to the ISO and ANSI Pascal standards SOURCE CODE INFORMATION The following source code modules are provided on all available dis- tribution media for this product: KITINSTAL.COM, LIBDEF.PAS, MTHDEF.PAS, PASCAL$IVP.PAS, PASCAL.CLD, PASCAL.HLP, PASDEF.PAS, PASSTATUS.PAS, SIGDEF.PAS, VUE$COMPILE.COM, BACK.PAS, DTK_MODULES.DAT, FRONT.PAS, LIB_MODULES.DAT, MTH_MODULES.DAT, NCS_MODULES.DAT, OTS_MODULES.DAT, PASCAL$D_FLOAT.PAS, PASCAL$G_FLOAT.PAS, PASCAL$CMA ROUTINES.PAS, PASCAL$CVT ROUTINES.PAS, PASCAL$DTK_ROUTINES.PAS, PASCAL$LIB_ROUTINES.PAS, PASCAL$MTH_ROUTINES.PAS, PASCAL$NCS_ROUTINES.PAS, PASCAL$OTS_ROUTINES.PAS, PASCAL$PPL_ROUTINES.PAS, PASCAL$SMG_ROUTINES.PAS, PASCAL$SOR_ROUTINES.PAS, PASCAL$STR_ROUTINES.PAS, PASSTR$IVP.PAS, PPL_MODULES.DAT, RMSUSR.PAS, SDLPASCAL.EXE, SMG_MODULES.DAT, SOR_MODULES.DAT, STARLET.PAS, STARLET_MODULES.DAT, STR_MODULES.DAT, CONSTRUCTOR_1.PAS, FUNCTION_CALLS.PAS, HANDLER.PAS, HELLOWORLD.PAS, IMPLEMENTATION_MODULE.PAS, INITIAL_STATE_1.PAS, INITIAL_STATE_2.PAS, 5 INTERFACE_MODULE.PAS,LIB$FIND_FILE.PAS, MAIN_PROGRAM.PAS, RFA_READ.PAS, SCHEMA_PARAMETERS.PAS, SMG_EXAMPLE.PAS, SYS$ASCTIM_AND_GETTIM.PAS, SYS$CHECK_ACCESS.PAS, SYS$DCLEXH.PAS, SYS$DEVICE_SCAN.PAS, SYS$FAO.PAS, SYS$GETDVI.PAS, SYS$GETJPI.PAS, SYS$GETQUI.PAS, SYS$GETSYI.PAS, SYS$GETUAI.PAS, SYS$PROCESS_SCAN.PAS, SYS$PUTMSG.PAS, SYS$SNDJBC.PAS, SYS$TRNLNM.PAS, USE_XABDAT.PAS PASCAL$ACLEDIT_ROUTINES.PAS PASCAL$CLI_ROUTINES.PAS PASCAL$CONV_ROUTINES.PAS PASCAL$DCX_ROUTINES.PAS PASCAL$EDT_ROUTINES.PAS PASCAL$FDL_ROUTINES.PAS PASCAL$LBR_ROUTINES.PAS PASCAL$MAIL_ROUTINES.PAS PASCAL$PSM_ROUTINES.PAS PASCAL$SMB_ROUTINES.PAS PASCAL$TPU_ROUTINES.PAS PASCAL$SHOW_VERSIONS.COM PASCAL$SET_VERSION.COM PASCAL$DEFAULT_VERSION.COM The source code modules are provided in order to install and describe the product. Modules include sample test program, help file, example files, and system definition inclusion files. This source code is provided on an "AS IS" basis without any warranty of any kind either express or implied. Run-Time Library Redistribution The DEC Pascal kit may include updated Pascal Run-Time Library shareable images. DIGITAL grants the user a nonexclusive royalty-free worldwide right to reproduce and distribute the executable version of the Run-Time Library designated as PASRTL.EXE and PASMSG.EXE (VAX) or PAS$RTL.EXE and PAS$MSG.EXE (Alpha) (the "RTLs") provided that the user: 6 o Distributes the RTLs only in conjunction with and as a part of the user's software application product which is designed to operate in the OpenVMS environment; o Does not use DIGITAL's name, logo, or trademarks to market the user's software application product; o Includes DIGITAL's copyright notice for DEC Pascal on the user's product disk label and/or on the title page of the documentation for software application product; o Agrees to indemnify, hold harmless, and defend DIGITAL from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of the software application product. Except as expressly provided herein, DIGITAL grants no implied or express license under any of its patents, copyrights, trade secrets, trademarks or any license or other proprietary interests and rights. HARDWARE REQUIREMENTS Processors Supported: ALPHA AlphaServer 300 Products AlphaServer 400 Products AlphaServer 1000 Products AlphaServer 1000A Products AlphaServer 2000 Products AlphaServer 2100 Products AlphaServer 2100A Products AlphaServer 2100A LP Products AlphaServer 4000 Products AlphaServer 4100 Products AlphaServer 8200 Products AlphaServer 8400 Products DIGITAL 2100 Server Products 7 AlphaStation 200 Products AlphaStation 250 Products AlphaStation 255 Products AlphaStation 400 Products AlphaStation 500 Products AlphaStation 600 Products DEC 2000 Models 300/500 DEC 3000 Models 300, 300L, 300LX, 300X DEC 3000 Models 400, 400S DEC 3000 Models 500, 500S, 500X DEC 3000 Models 600, 600S DEC 3000 Models 700, 700LX DEC 3000 Models 800, 800S DEC 3000 Models 900, 900LX DEC 4000 Model 600 DEC 4000 Model 700 DEC 7000 Model 600 DEC 10000 Model 600 Processors Supported: VAX VAXft: VAXft 3000 Processors VAX: VAX 4000 Model 50 VAX 4000 Model 100, 100A, 105A, 106A, 108 VAX 4000 Model 200 VAX 4000 Model 300 VAX 4000 Model 500, 500A, 505A 8 VAX 4000 Model 600, 600A VAX 4000 Model 700A, 705A VAX 6000 Series Model 210, 220, 230, 240 VAX 6000 Series Model 310, 320, 330, 340, 360 VAX 6000 Series Model 410, 420, 430, 440, 450, 460 VAX 6000 Series Model 510, 520, 530, 540, 550, 560 VAX 6000 Series Model 610, 620, 630, 640, 650, 660 VAX 7000 Model 610, 620, 630, 640, 650, 660 VAX 7000 Model 710, 720, 730, 740, 750, 760 VAX 7000 Model 810, 820, 830, 840, 850, 860 VAX 8200, VAX 8250 VAX 8300, VAX 8350 VAX 8530, VAX 8550 VAX 8600, VAX 8650 VAX 8700 VAX 8800, VAX 8810, VAX 8820, VAX 8830, VAX 8840 VAX 8842, VAX 8974, VAX 8978 VAX 9000 Model 110, 110VP VAX 9000 Model 210, 210VP VAX 9000 Model 310, 310VP VAX 9000 Model 320, 320VP VAX 9000 Model 330, 330VP VAX 9000 Model 340, 340VP VAX 9000 Model 410, 410VP VAX 9000 Model 420, 420VP VAX 9000 Model 430, 430VP VAX 9000 Model 440, 440VP VAX 10000 Model 610, 620, 630, 640, 650, 660 9 MicroVAX: MicroVAX II MicroVAX 2000 MicroVAX 3100 Model 10/10E, 20/20E, 30, 40, MicroVAX 3100 Model 80, 85, 88, 90, 95, 96, 98 MicroVAX 3200, MicroVAX 3300 MicroVAX 3400, MicroVAX 3500 MicroVAX 3600, MicroVAX 3800, MicroVAX 3900 VAXstation: VAXstation II/GPX, VAXstation II/QVSS VAXstation 2000 VAXstation 2000/GPX VAXstation 2000/MFB VAXstation 3100 Model 30, 38, 40, 48, 76 VAXstation 3100/GPX Model 38, 48, 76 VAXstation 3100/SPX Model 38, 48, 76 VAXstation 3200 VAXstation 3500, VAXstation 3520, VAXstation 3540 VAXstation 4000 Model 60, 90, 95, 96, VLC VAXserver: VAXserver 3100 Model 10, 10E, 20, 20E VAXserver 3200, 3300, 3400 VAXserver 3500, 3600, 3800, 3900 VAXserver 4000 Model 200, 300, 400, 500, 600 VAXserver 6000 Model 210, 220 VAXserver 6000 Model 310, 320 VAXserver 6000 Model 410, 420 VAXserver 6000 Model 510, 520 VAXserver 8200, 8250 VAXserver 8300, 8350 10 VAXserver 8530, 8550 VAXserver 8600, 8650 VAXserver 8700 VAXserver 8800, 8810, 8820, 8830, 8840 Processors Not Supported: MicroVAX I VAXstation I VAXstation 8000 VAX-11/725, VAX-11/730 VAX-11/750, VAX-11/751 VAX-11/780, VAX-11/782, VAX-11/785 11 Processor Restrictions: A TK50 Tape Drive is required for standalone MicroVAX 2000 and VAXstation 2000 systems. Disk Space Requirements (Block Cluster Size = 1) For DEC Pascal for OpenVMS Alpha Systems: DEC Pascal Compiler: Disk space required for 12,500 blocks installation: (6.4 MB) Disk space required for 12,000 blocks permanent use: (6.2 MB) Starlet Library Files: Disk space required for 11,500 blocks installation: Disk space required for 10,000 blocks permanent use: DEC Pascal Example Files: Disk space required for 150 blocks installation: Disk space required for 150 blocks permanent use: For DEC Pascal for OpenVMS VAX Systems: 12 DEC Pascal Compiler: Disk space required for 3,500 blocks installation: Disk space required for 3,000 blocks permanent use: Starlet Library Files: Disk space required for 11,500 blocks installation: Disk space required for 10,000 blocks permanent use: DEC Pascal Example Files: Disk space required for 150 blocks installation: Disk space required for 150 blocks permanent use: These block counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options selected. OPTIONAL HARDWARE Floating point intensive applications should be run on configurations with the appropriate hardware support for the floating point data types being used. Consult the Base Operating System Software Product Description for the Floating Point Accelerator or other floating point hardware appropriate for your configuration. 13 CLUSTER ENVIRONMENT This layered product is fully supported when installed on any valid and licensed VAXcluster* configuration without restrictions. The HARDWARE REQUIREMENTS section of this product's Software Product Description detail any special hardware required by this product. * V5.x VAXcluster configurations are fully described in the VAXcluster Software Product Description (29.78.xx) and include CI, Ethernet, and Mixed Interconnect configurations. SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha Operating System Version 6.1 - Version 7.1 For VAX Systems: o OpenVMS VAX Operating System Version 5.5 - Version 7.0 OpenVMS Tailoring The following OpenVMS classes are required for full functionality of this layered product: o OpenVMS Required Saveset o Programming Support o Utilities OPTIONAL SOFTWARE For VAX Systems: o Oracle CDD/Repository for OpenVMS o Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for OpenVMS VAX V4.4 (included in DECset Release 12.1 for OpenVMS VAX, SPD 27.07.xx) 14 For Alpha Systems: o Oracle CDD/Repository for OpenVMS o Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for OpenVMS Alpha V4.4 (included in DECset Release 12.1 for OpenVMS Alpha, SPD 42.29.xx) GROWTH CONSIDERATIONS The minimum hardware/software requirements for any future version of this product may be different from the requirements for the current version. DISTRIBUTION MEDIA For Alpha Systems: This product is available on the DIGITAL CD-ROM Software Library for OpenVMS Alpha (QA-03XAA-H8). Documentation in hardcopy format can be ordered separately. For VAX Systems: 9-track 1600 BPI Magtape, TK50 Streaming Tape This product is also available as part of the OpenVMS Consolidated Software Distribution on CD-ROM (QA-VWJ8A-A8). The software documentation for this product is also available as part of the OpenVMS Online Documentation Library on CD-ROM (QA-VWJ8A-A8). ORDERING INFORMATION For DEC Pascal for OpenVMS Alpha Systems: 15 Software Licenses Personal Use: QL-126AA-2B Concurrent Use: QL-126AA-3* Unlimited System Use: QL-098A*-** Software Media/Documentation (CD-ROM): QA-03XAA-H8 Software Documentation (Hard Copy): QA-098AA-GZ Software Product Services: QT-098A*-** For DEC Pascal for OpenVMS VAX Systems: Software Licenses Personal Use: QL-126AA-2B Concurrent Use: QL-126AA-3* Unlimited System Use: QL-126A*-** Software Media/Documentation: QA-126AA-H* Software Documentation (Hard Copy): QA-126AA-GZ Software Product Services: QT-126A*-** * Denotes variant fields. For additional information on available licenses, services, and media, refer to the appropriate price book. SOFTWARE LICENSING This software is furnished only under a license. For more information about DIGITAL's licensing terms and policies, contact your local DIGITAL office. License Management Facility Support This layered product supports the OpenVMS License Management Facility. License units for this product are allocated on an Unlimited System Use plus Personal and Concurrent Use basis. Each Personal Use license allows one identified individual to use the layered product. Each Concurrent Use license allows any one individual at a time to use the layered product. 16 For more information on the OpenVMS License Management Facility, refer to the appropriate OpenVMS Operating System SPD or documentation. SOFTWARE PRODUCT SERVICES A variety of service options are available from DIGITAL. For more information, contact your local DIGITAL office. SOFTWARE WARRANTY Warranty for this software product is provided by DIGITAL with the purchase of a license for the product. This means that DIGITAL will remedy any nonconformance when it is reported to DIGITAL by the customer during the warranty period. The warranty period is one year. It begins when the software is installed or thirty days after delivery to the end user, whichever occurs first and expires one year later. All warranty related support for this software will end one year after release of the subsequent versions. Warranty is provided in the country of purchase. DIGITAL will provide a service location which will accept reporting (in format prescribed by DIGITAL) of a nonconformance problem caused when using the licensed software under normal condtions as defined by this SPD. DIGITAL will remedy a nonconformance problem in the current unaltered release of the licensed software by issuing a correction information such as: correction documentation, corrected code; or a notice of availability of corrected code; or a restriction or a bypass. The customer will be responsible for the preparation and submission of the problem report to the service location. WARRANTY EXCLUSION DIGITAL does not warrant that the software licensed to customer shall be error free, that the software shall operate with any hardware and software other than as specified in this SPD, that the software shall satisfy customer's own specific requirements, or that copies of the 17 software other than those provided or authorized by DIGITAL shall conform to the SPD. DIGITAL makes no warranties with respect to the fitness and operability of modifications not made by DIGITAL. If the software fails to function for reasons stated above, the customer's warrranty will be invalidated and all service calls will be billable at the prevailing per call rates. This Software Warranty is effective for licensed software products ordered in the United States after October 1988 and supersedes all prior versions. The above information is valid at time of release. Please contract your local DIGITAL office for the most up-to-date information. [TM] Alpha, DEC, DEC Pascal, DIGITAL, OpenVMS, RMS, VAX, and the DIGITAL Logo, are trademarks of Digital Equipment Corporation. [TM] Oracle is a registered trademark and Oracle CDD/Repository and Oracle CDD/Administrator are trademarks of Oracle Corporation. ©1997 Digital Equipment Corporation. All Rights Reserved. 18