4.3BSD-Tahoe/usr/man/cat1/pc.0

Compare this file to the similar file:
Show the results in this format:




PC(1)		    UNIX Programmer's Manual		    PC(1)



NNAAMMEE
     pc - Pascal compiler

SSYYNNOOPPSSIISS
     ppcc [ option ] [ --ii name ...  ] name ...

DDEESSCCRRIIPPTTIIOONN
     _P_c is a Pascal compiler.  If given an argument file ending
     with ..pp, it will compile the file and load it into an exe-
     cutable file called, by default, _a._o_u_t.

     A program may be separated into more than one ..pp file.  _P_c
     will compile a number of argument ..pp files into object files
     (with the extension ..oo in place of ..pp).  Object files may
     then be loaded into an executable _a._o_u_t file.  Exactly one
     object file must supply a pprrooggrraamm statement to successfully
     create an executable a.out file.  The rest of the files must
     consist only of declarations which logically nest within the
     program.  References to objects shared between separately
     compiled files are allowed if the objects are declared in
     iinncclluuddeed header files, whose names must end with ..hh.  Header
     files may only be included at the outermost level, and thus
     declare only globally available objects.  To allow ffuunnccttiioonns
     and pprroocceedduurrees to be declared, an eexxtteerrnnaall directive has
     been added, whose use is similar to the ffoorrwwaarrdd directive
     but restricted to appear only in ..hh files.  FFuunnccttiioonn and
     pprroocceedduurree bodies may not appear in ..hh files.  A binding
     phase of the compiler checks that declarations are used con-
     sistently, to enforce the type checking rules of Pascal.

     Object files created by other language processors may be
     loaded together with object files created by _p_c.  The ffuunncc--
     ttiioonns and pprroocceedduurrees they define must have been declared in
     ..hh files included by all the ..pp files which call those rou-
     tines.  Calling conventions are as in C, with vvaarr parameters
     passed by address.

     See the Berkeley Pascal User's Manual for details.

     The following options have the same meaning as in _c_c(1) and
     _f_7_7(1).  See _l_d(1) for load-time options.

     --cc    Suppress loading and produce `.o' file(s) from source
	   file(s).

     --gg    Have the compiler produce additional symbol table
	   information for _d_b_x(1).

     --ww    Suppress warning messages.

     --pp    Prepare object files for profiling, see _p_r_o_f(1).




Printed 7/9/88		 April 29, 1985                         1






PC(1)		    UNIX Programmer's Manual		    PC(1)



     --OO    Invoke an object-code improver.

     --SS    Compile the named program, and leave the assembler-
	   language output on the corresponding file suffixed
	   `.s'.  (No `.o' is created.).

     --oo output
	   Name the final output file _o_u_t_p_u_t instead of _a._o_u_t.

     The following options are peculiar to _p_c.

     --CC    Compile code to perform runtime checks, verify aasssseerrtt
	   calls, and initialize all variables to zero as in _p_i.

     --bb    Block buffer the file _o_u_t_p_u_t.

     --ii    Produce a listing for the specified procedures, func-
	   tions and iinncclluuddee files.

     --ll    Make a program listing during translation.

     --ss    Accept standard Pascal only; non-standard constructs
	   cause warning diagnostics.

     --tt directory
	   Use the given _d_i_r_e_c_t_o_r_y for compiler temporary files.

     --zz    Allow execution profiling with _p_x_p by generating
	   statement counters, and arranging for the creation of
	   the profile data file _p_m_o_n._o_u_t when the resulting
	   object is executed.

     Other arguments are taken to be loader option arguments,
     perhaps libraries of _p_c compatible routines.  Certain flags
     can also be controlled in comments within the program as
     described in the _B_e_r_k_e_l_e_y _P_a_s_c_a_l _U_s_e_r'_s _M_a_n_u_a_l.

FFIILLEESS
     file.p		      pascal source files
     /usr/lib/pc0	      compiler
     /lib/f1		      code generator
     /usr/lib/pc2	      runtime integrator (inline
     expander)
     /lib/c2		      peephole optimizer
     /usr/lib/pc3	      separate compilation consistency
     checker
     /usr/lib/pc2.*strings    text of the error messages
     /usr/lib/how_pc	      basic usage explanation
     /usr/lib/libpc.a	      intrinsic functions and I/O library
     /usr/lib/libm.a	      math library
     /lib/libc.a	      standard library, see _i_n_t_r_o(3)




Printed 7/9/88		 April 29, 1985                         2






PC(1)		    UNIX Programmer's Manual		    PC(1)



SSEEEE AALLSSOO
     Berkeley Pascal User's Manual
     pi(1), pxp(1), pxref(1), sdb(1)

DDIIAAGGNNOOSSTTIICCSS
     For a basic explanation do

	  ppcc

     See _p_i(1).  for an explanation of the error message format.
     Internal errors cause messages containing the word SNARK.

AAUUTTHHOORRSS
     Charles B. Haley, William N. Joy, and Ken Thompson
     Retargetted to the second pass of the portable _C compiler by
     Peter Kessler
     Runtime library and inline optimizer by M. Kirk McKusick
     Separate compilation consistency checking by Louise Madrid

BBUUGGSS
     The keyword ppaacckkeedd is recognized but has no effect.

     The binder is not as strict as described here, with regard
     to the rules about external declarations only in `.h' files
     and including `.h' files only at the outermost level.  It
     will be made to perform these checks in its next incarna-
     tion, so users are warned not to be sloppy.

     The --zz flag doesn't work for separately compiled files.

     Because the --ss option is usurped by the compiler, it is not
     possible to pass the strip option to the loader.  Thus pro-
     grams which are to be stripped, must be run through _s_t_r_i_p(1)
     after they are compiled.





















Printed 7/9/88		 April 29, 1985                         3