Resumen del contenido incluido en la página 1
Pascal 4.0 User’s Guide
A Sun Microsystems, Inc. Business
2550 Garcia Avenue
Mountain View, CA 94043
U.S.A.
Part No.: 802-2943-10
Revision A, November 1995
Resumen del contenido incluido en la página 2
© 1995 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. ® Portions of this product may be derived from the UNIX system and from the Berkeley 4.3 BSD
Resumen del contenido incluido en la página 3
Contents Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Pascal Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resumen del contenido incluido en la página 4
Compiling the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Running the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Renaming the Executable File . . . . . . . . . . . . . . . . . . . . . . . . 9 An Interactive Pascal Program. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Compiling the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Running the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 R
Resumen del contenido incluido en la página 5
–c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 -calign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 –cg89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 –cg92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 -cond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 –config . .
Resumen del contenido incluido en la página 6
–L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 –l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 -Ldirectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 -libmieee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 –libmil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 –llib. . . .
Resumen del contenido incluido en la página 7
-R path[:dir] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 -Rw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 –S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 –s[level] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 –sb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 –sbfast
Resumen del contenido incluido en la página 8
-xlibmieee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 -xlibmil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 -xlibmopt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 –xlicinfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 –xMerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 -xnolib . . . . . . . . . . . . . . .
Resumen del contenido incluido en la página 9
Sharing Variables Between Units. . . . . . . . . . . . . . . . . . . . . . 71 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5. Separate Compilation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Working with Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Using Program Units. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Using Module Units . . . . . . . . . . . . .
Resumen del contenido incluido en la página 10
Function Return Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Parameters That Are Pointers to Procedures . . . . . . . . . . . . 131 Procedures and Functions as Parameters . . . . . . . . . . . . . . . . . . 132 Global Variables in C and Pascal . . . . . . . . . . . . . . . . . . . . . . . . . 133 File-Passing Between Pascal and C . . . . . . . . . . . . . . . . . . . . . . . 134 7. The C++–Pascal Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 S
Resumen del contenido incluido en la página 11
General Parameter-Passing in FORTRAN and Pascal. . . . . . . . 167 Procedure Calls: FORTRAN-Pascal . . . . . . . . . . . . . . . . . . . . . . . 168 Variable Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Value Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Function Return Values. . . . . . . . . . . . . . . . . . . . . . . . .
Resumen del contenido incluido en la página 12
Thescalar Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Procedure and Function Type Errors. . . . . . . . . . . . . . . . . . . 211 Scalar Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Expression Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Type Equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Unreachable Statements . . . . . . . . . . . . . . . . . . . . . . . .
Resumen del contenido incluido en la página 13
An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Sample Translation of an XView Function to Pascal . . . . . . 229 Sample Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Menu Demo Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 11. Math Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Contents of the Math Libraries. . . . . . . . . . .
Resumen del contenido incluido en la página 14
xiv Pascal 4.0 User’s Guide
Resumen del contenido incluido en la página 15
Figures Figure 3-1 Organization of Pascal Compilation. . . . . . . . . . . . . . . . . . . . . . 19 Figure 3-2 Options in Program Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 10-1 A Sample Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 xv
Resumen del contenido incluido en la página 16
xvi Pascal 4.0 User’s Guide
Resumen del contenido incluido en la página 17
Tables Table 3-1 File Name Suffixes Recognized by Pascal . . . . . . . . . . . . . . . . . 20 Table 3-2 Options That Can Be Passed in Program Text . . . . . . . . . . . . . 21 Table 3-3 The-xarch Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Table 3-4 The-xcache Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 3-5 The-xchip Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Table 3-6 The-xprofile
Resumen del contenido incluido en la página 18
Table 10-1 C Declarations to Pascal Declarations . . . . . . . . . . . . . . . . . . . . 228 Table 11-1 Contents of Math Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 xviii Pascal 4.0 User’s Guide
Resumen del contenido incluido en la página 19
Preface This manual describes the Pascal 4.0 compiler from SunSoft™. The purpose of this manual is to help you begin writing and compiling Pascal programs on a SPARCstation™. In a previous major release, this Pascal compiler also ran on Solaris 1.x. Some features remain in the documentation as being for Solaris 1.x only. TheREADME file that accompanies the product contains other release-specific information, Note – All references to Pascal in this manual refer to the Pascal 4.0 compiler unless ot
Resumen del contenido incluido en la página 20
Audience This guide was prepared for software engineers who write Pascal programs on a SPARCstation. It assumes you are familiar with ISO standard Pascal and the Solaris™ operating system. Organization This guide contains the following chapters: • Chapter 1, “Introduction,” gives basic information about the Pascal compiler and related program development tools. • Chapter 2, “Pascal Programs,” describes how to write, compile, and run a Pascal program. • Chapter 3, “The Pascal Compiler,” describe