.\" Copyright (c) 1980, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" %sccs.include.redist.roff% .\" .\" @(#)px.1 6.7 (Berkeley) 05/09/91 .\" .Dd .Dt PX 1 .Os BSD 3.0 .Sh NAME .Nm \&px .Nd Pascal interpreter .Sh SYNOPSIS .Nm \&px .Op Ar obj Op Ar argument ... .Sh DESCRIPTION .Nm \&Px interprets the abstract machine code generated by .Xr pi 1 . The first argument is the file to be interpreted, and defaults to .Ar obj ; remaining arguments are available to the Pascal program using the built-ins .Ar argv and .Ar argc . .Nm \&Px is also invoked by .Nm pix when running `load and go'. .Pp If the program terminates abnormally an error message and a control flow backtrace are printed. The number of statements executed and total execution time are printed after normal termination. The .Cm p option of .Nm \&pi suppresses all of this except the message indicating the cause of abnormal termination. .Sh FILES .Bl -tag -width pmon.out -compact .It Pa obj default object file .It Pa pmon.out profile data file .El .Sh SEE ALSO .Xr pi 1 , .Xr pix 1 .Rs .%T "Berkeley Pascal User's Manual" .Re .Sh DIAGNOSTICS Most run-time error messages are self-explanatory. Some of the more unusual ones are: .Bl -tag -width indent .It Reference to an inactive file A file other than .Ar input or .Ar output was used before a call to .Ar reset or .Ar rewrite . .It Statement count limit exceeded The limit of 500,000 executed statements (which prevents excessive looping or recursion) has been exceeded. .It Bad data found on integer read .It Bad data found on real read Usually, non-numeric input was found for a number. For reals, Pascal requires digits before and after the decimal point so that numbers like `.1' or `21.' evoke the second diagnostic. .It panic: Em Some message Indicates an internal inconsistency detected in .Nm \&px probably due to a Pascal system bug. .El .Sh HISTORY .Nm \&Px appeared in .Bx 3.0 . .Sh BUGS Post-mortem traceback is not limited; infinite recursion leads to almost infinite traceback.