Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

PX(UCB)  —  UNIX Programmer’s Manual

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

objdefault object file
pmon.outprofile data file

SEE ALSO

Berkeley Pascal User’s Manual
pi(UCB), pix(UCB)

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. 

7th Edition  —  4/8/79

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026