requires some attention.
Some hints may be useful:
.IP -
-The c-option {$c+} allows you to declare zero-terminated string
+The c-option {$c+} allows declaration of zero-terminated string
constants in Pascal like "/etc/passwd".
Moreover, the identifier \fIstring\fP is then defined as type identifier for
a pointer to these zero-terminated strings.
.IP -
-The d-option {$d+} allows you to use double precision integers (longs).
+The d-option {$d+} allows the use of double precision integers (longs).
The lseek system call, for instance, needs a long argument and returns a long result.
.IP -
If the system call requires a pointer as argument use a \fIvar\fP parameter.
Initialize a file for output on the diagnostic output stream (fd=2).
Output is not buffered.
.IP pcreat
-The same as rewrite(f), except that you must provide the filename yourself.
+The same as rewrite(f), except that the file name must be provided.
The name must be zero terminated. Only text files are allowed.
.IP popen
-The same as reset(f), except that you must provide the filename yourself.
+The same as reset(f), except that the file name must be provided.
The name must be zero terminated. Only text files are allowed.
.IP pclose
-Gives you the opportunity to close files hidden in records or arrays.
+To close files hidden in records or arrays.
All other files are closed automatically.
.PD
.PP
.RS
.IP strbuf 10
Type conversion from character array to string.
-It is your own responsibility that the string is zero terminated.
+It is the responsibility of the user that the string is zero terminated.
.PD 0
.IP strtobuf
Copy string into buffer until the string terminating zero byte
.RE
Trap handling:
.RS
-These routines allow you to handle almost all
-the possible error situations yourself.
-You may define your own trap handler, written in Pascal, instead of the
+These routines allow for user-level handling off almost
+all possible error situations.
+Trap handlers may be user-defined,
+written in Pascal, replacing the
default handler that produces an error message and quits.
-You may also generate traps yourself.
+Also, traps can be generated by the user.
.IP trap 10
Trap generates the trap passed as argument (0..252).
The trap numbers 128..252 may be used freely. The others are reserved.
If, during the execution of \fIp\fP, a trap occurs,
then \fIq\fP is called with the trap number as parameter.
For the duration of \fIq\fP the previous trap handler is restored, so that
-you may handle only some of the errors in \fIq\fP. All the other errors must
+it is possible to only handle some of the errors in \fIq\fP. All the other errors must
then be raised again by a call to \fItrap\fP.
.br
-Encapsulations may be nested: you may encapsulate a procedure while executing
+Encapsulations may be nested: a procedure may be encapsulated while executing
an encapsulated routine.
.br
Jumping out of an encapsulated procedure (non-local goto) is dangerous,
because the previous trap handler must be restored.
-Therefore, you may only jump out of procedure \fIp\fP from inside \fIq\fP and
-you may only jump out of one level of encapsulation.
-If you want to exit several levels of encapsulation, use traps.
+Therefore, it is only allowed to jump out of procedure \fIp\fP from inside \fIq\fP and
+it is only allowed to jump out of one level of encapsulation.
+To exit several levels of encapsulation, the use of traps is required.
See pc_prlib(7) for lists of trap numbers
for EM machine errors and Pascal run time system errors.
Note that \fIp\fP may not have parameters.
.RE
Debugging facilities:
.RS
-The compiler allows you to verify assertions.
+The compiler allows for the verification of assertions.
It generates a call to the routine _ass to check the assertion at runtime.
-Another feature of the compiler is that it enables you to trace the
+Another feature of the compiler is that it enables the user to trace the
procedure calling sequence. If the correct option is turned on, then
a call to the procedure \fIprocentry\fP is generated at the start of each
compiled procedure or function. Likewise, the routine \fIprocexit\fP is called
.RS
.PP
Most of the runtime routines are needed for file handling.
-For each file in your Pascal program a record of type file, as described
-above, is allocated, static if your file is declared in the outermost block,
+For each file in the Pascal program a record of type file, as described
+above, is allocated, static if this file is declared in the outermost block,
dynamic if it is declared in inner blocks.
The fields in the file record are used for:
.IP bufadr 10
.IP _wdw
Return the current pointer to the file window.
.IP _efl
-Test if you reached end of file.
+Test if end of file is reached.
Is always true for output files.
.PD
.PP