PX(1)

NAME
px - Pascal interpreter

SYNOPSIS
px [ obj [ argument ... ] ]

DESCRIPTION
Px interprets the abstract machine code generated by pi. The first argument is the file to be interpreted, and defaults to obj; remaining arguments are available to the Pascal program using the built-ins argv and argc. Px is also invoked by pix when running `load and go'.

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 p option of pi suppresses all of this except the message indicating the cause of abnormal termination.

FILES
obj    default object file
pmon.out    profile data file

SEE ALSO
Berkeley Pascal User's Manual
pi(1), pix(1)

DIAGNOSTICS
Most run-time error messages are self-explanatory. Some of the more unusual ones are:

Reference to an inactive file
A file other than input or output was used before a call to reset or rewrite.

Statement count limit exceeded
The limit of 500,000 executed statements (which prevents excessive looping or recursion) has been exceeded.

Bad data found on integer read

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.

panic: Some message
Indicates a internal inconsistency detected in px probably due to a Pascal system bug. Charles B. Haley, William N. Joy, and Ken Thompson

BUGS
Calls to the procedures dispose and linelimit are ignored.

Post-mortem traceback is not limited; infinite recursion leads to almost infinite traceback.

Because interrupts sometimes find the system in the middle of a procedure or function entry or exit, the error backtrace on an interrupt is occasionally meaningless. The current line is, however, always correct; only the call backtrace and the name of the current routine may be lost.