Annotation of 43BSDTahoe/man/man1/pc.1, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)pc.1        6.1 (Berkeley) 4/29/85
                      6: .\"
                      7: .TH PC 1 "April 29, 1985"
                      8: .UC 4
                      9: .SH NAME
                     10: pc \- Pascal compiler
                     11: .SH SYNOPSIS
                     12: .B pc
                     13: [ option ] [
                     14: .B \-i
                     15: name ...
                     16: ] name ...
                     17: .SH DESCRIPTION
                     18: .I Pc
                     19: is a Pascal compiler.
                     20: If given an argument file ending with
                     21: .BR .p ,
                     22: it will compile the file 
                     23: and load it
                     24: into an executable file called, by default,
                     25: .IR a.out .
                     26: .PP
                     27: A program may be separated into more than one 
                     28: .B .p
                     29: file.
                     30: .I Pc
                     31: will compile a number of argument
                     32: .B .p
                     33: files into object files (with
                     34: the extension
                     35: .B .o
                     36: in place of
                     37: .BR .p ).
                     38: Object files may then be loaded 
                     39: into an executable
                     40: .I a.out
                     41: file.
                     42: Exactly one object file must supply a 
                     43: .B program
                     44: statement to successfully create an executable a.out file.
                     45: The rest of the files must consist only of 
                     46: declarations which logically nest within the program.
                     47: References to objects shared between separately compiled files
                     48: are allowed if the objects are declared in
                     49: .BR include d
                     50: header files, whose names must end with
                     51: .BR .h .
                     52: Header files may only be included at the outermost level,
                     53: and thus declare only globally available objects.
                     54: To allow
                     55: .BR function s
                     56: and
                     57: .BR procedure s
                     58: to be declared, an
                     59: .B external
                     60: directive has been added, whose use is similar to the
                     61: .B forward
                     62: directive but restricted to appear only in
                     63: .B .h
                     64: files.
                     65: .B Function
                     66: and 
                     67: .B procedure
                     68: bodies may not appear in
                     69: .B .h
                     70: files.
                     71: A binding phase of the compiler checks that declarations
                     72: are used consistently, to enforce the type checking rules of Pascal.
                     73: .PP
                     74: Object files 
                     75: created by other language processors may be loaded together with
                     76: object files created by 
                     77: .IR pc .
                     78: The
                     79: .BR function s
                     80: and
                     81: .BR procedure s
                     82: they define must have been declared
                     83: in
                     84: .B .h
                     85: files included by all the
                     86: .B .p
                     87: files which call those
                     88: routines.
                     89: Calling conventions are as in C,
                     90: with
                     91: .B var
                     92: parameters passed by address.
                     93: .PP
                     94: See the Berkeley Pascal User's Manual for details.
                     95: .PP
                     96: The following options have the same meaning as in
                     97: .IR cc (1)
                     98: and
                     99: .IR f77 (1).
                    100: See
                    101: .IR ld (1)
                    102: for load-time options.
                    103: .TP 6
                    104: .B \-c
                    105: Suppress loading and produce `.o' file(s) from source file(s).
                    106: .TP 6
                    107: .B \-g
                    108: Have the compiler produce additional symbol table information for
                    109: .IR dbx (1).
                    110: .TP 6
                    111: .BR \-w
                    112: Suppress warning messages.
                    113: .TP 6
                    114: .B \-p
                    115: Prepare object files for profiling, see
                    116: .IR  prof (1).
                    117: .TP 6
                    118: .SM
                    119: .B \-O
                    120: Invoke an
                    121: object-code improver.
                    122: .TP 6
                    123: .SM
                    124: .B \-S
                    125: Compile the named program, and leave the
                    126: assembler-language output on the corresponding file suffixed `.s'.
                    127: (No `.o' is created.).
                    128: .TP 6
                    129: .BR \-o " output"
                    130: Name the final output file
                    131: .I output
                    132: instead of
                    133: .I a.out.
                    134: .PP
                    135: The following options are peculiar to
                    136: .IR pc .
                    137: .TP 6
                    138: .B \-C
                    139: Compile code to perform runtime checks,
                    140: verify
                    141: .B assert
                    142: calls,
                    143: and initialize all variables to zero as in
                    144: .IR pi .
                    145: .TP 6
                    146: .B  \-b
                    147: Block buffer the file
                    148: .I output.
                    149: .TP 6
                    150: .B  \-i
                    151: Produce a listing for
                    152: the specified procedures, functions and
                    153: .B include
                    154: files.
                    155: .TP 6
                    156: .B  \-l
                    157: Make a program listing during translation.
                    158: .TP 6
                    159: .B  \-s
                    160: Accept standard Pascal only;
                    161: non-standard constructs cause warning diagnostics.
                    162: .TP 6
                    163: .BR \-t " directory"
                    164: Use the given
                    165: .I directory
                    166: for compiler temporary files.
                    167: .TP 6
                    168: .B  \-z
                    169: Allow execution profiling with
                    170: .I pxp
                    171: by generating statement counters, and arranging for the
                    172: creation of the profile data file
                    173: .I pmon.out
                    174: when the resulting object is executed.
                    175: .PP
                    176: Other arguments
                    177: are taken
                    178: to be loader option arguments,
                    179: perhaps libraries of
                    180: .IR pc
                    181: compatible routines.
                    182: Certain flags can also be controlled in comments within the program
                    183: as described in the
                    184: .I "Berkeley Pascal User's Manual."
                    185: .SH FILES
                    186: .ta 2.5i
                    187: file.p pascal source files
                    188: .br
                    189: /usr/lib/pc0   compiler
                    190: .br
                    191: /lib/f1        code generator
                    192: .br
                    193: /usr/lib/pc2   runtime integrator (inline expander)
                    194: .br
                    195: /lib/c2        peephole optimizer
                    196: .br
                    197: /usr/lib/pc3   separate compilation consistency checker
                    198: .br
                    199: /usr/lib/pc2.*strings  text of the error messages
                    200: .br
                    201: /usr/lib/how_pc        basic usage explanation
                    202: .br
                    203: /usr/lib/libpc.a       intrinsic functions and I/O library
                    204: .br
                    205: /usr/lib/libm.a        math library
                    206: .br
                    207: /lib/libc.a    standard library, see \fIintro\fP(3)
                    208: .SH "SEE ALSO"
                    209: Berkeley Pascal User's Manual
                    210: .br
                    211: pi(1),
                    212: pxp(1),
                    213: pxref(1),
                    214: sdb(1)
                    215: .SH DIAGNOSTICS
                    216: For a basic explanation do
                    217: .IP
                    218: .B pc
                    219: .PP
                    220: See 
                    221: .IR pi (1).
                    222: for an explanation of the error message format.
                    223: Internal errors cause messages containing the word SNARK.
                    224: .SH AUTHORS
                    225: Charles B. Haley, William N. Joy, and Ken Thompson
                    226: .br
                    227: Retargetted to the second pass of the portable
                    228: .IR C
                    229: compiler by Peter Kessler
                    230: .br
                    231: Runtime library and inline optimizer by M. Kirk McKusick
                    232: .br
                    233: Separate compilation consistency checking by Louise Madrid
                    234: .SH BUGS
                    235: The keyword
                    236: .B packed
                    237: is recognized but has no effect.
                    238: .PP
                    239: The binder is not as strict as described here,
                    240: with regard to the rules about external declarations only
                    241: in `.h' files and including `.h' files only at the outermost level.
                    242: It will be made to perform these checks in its next incarnation,
                    243: so users are warned not to be sloppy.
                    244: .PP
                    245: The
                    246: .B \-z
                    247: flag doesn't work for separately compiled files.
                    248: .PP
                    249: Because the
                    250: .B \-s
                    251: option is usurped by the compiler,
                    252: it is not possible to pass the strip option to the loader.
                    253: Thus programs which are to be stripped, must be run through 
                    254: .IR strip (1)
                    255: after they are compiled.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.