|
@@ -634,7 +634,7 @@ eof(f) is true just before the call to get(f).
|
|
|
read error, trap 103, fatal:
|
|
|
.br
|
|
|
unlikely to happen. Probably caused by hardware problems
|
|
|
-or by errors elsewhere in your program that destroyed
|
|
|
+or by errors elsewhere in the program that destroyed
|
|
|
the file information maintained by the run time system.
|
|
|
.ti -5
|
|
|
truncated, trap 99, fatal:
|
|
@@ -846,7 +846,7 @@ changed instead of many Pascal programs.
|
|
|
.PP
|
|
|
Another advantage is that these library modules may be written in a different
|
|
|
language, for instance C or the EM assembly language.
|
|
|
-This is useful if you want to use some specific EM instructions not generated
|
|
|
+This is useful for accessing some specific EM instructions not generated
|
|
|
by the Pascal compiler. Examples are the system call routines and some
|
|
|
floating point conversion routines.
|
|
|
Another motive could be the optimization of some time-critical program parts.
|
|
@@ -914,8 +914,8 @@ by parameters, even the files input and output.
|
|
|
Access to a variable declared in a module is only possible
|
|
|
using the procedures and functions declared in that same module.
|
|
|
By giving the correct procedure/function heading followed by the
|
|
|
-directive 'extern' you may use procedures and functions declared in
|
|
|
-other units.
|
|
|
+directive 'extern' procedures and functions declared in
|
|
|
+other units may be used.
|
|
|
.sp
|
|
|
.ti -3
|
|
|
3.~\
|
|
@@ -955,7 +955,7 @@ Three additional standard procedures are available:
|
|
|
.IS
|
|
|
.ti -8
|
|
|
halt:~~~a call of this procedure is equivalent to jumping to the
|
|
|
-end of your program. It is always the last statement executed.
|
|
|
+end of the program. It is always the last statement executed.
|
|
|
The exit status of the program may be supplied
|
|
|
as optional argument. If not, it will be zero.
|
|
|
.ti -8
|
|
@@ -978,10 +978,10 @@ UNIX interfacing.
|
|
|
.sp
|
|
|
If the c-option is turned on, then some special features are available
|
|
|
to simplify an interface with the UNIX environment.
|
|
|
-First of all, the compiler allows you to use a different type
|
|
|
+First of all, the compiler allows for a different type
|
|
|
of string constants.
|
|
|
These string constants are delimited by double quotes ('"').
|
|
|
-To put a double quote into these strings, you must repeat the double quote,
|
|
|
+To put a double quote into these strings, the double quote must be repeated,
|
|
|
like the single quote in normal string constants.
|
|
|
These special string constants are terminated by a zero byte (chr(0)).
|
|
|
The type of these constants is a pointer to a packed array of characters,
|
|
@@ -990,7 +990,7 @@ with lower bound 1 and unknown upper bound.
|
|
|
Secondly, the compiler predefines a new type identifier 'string' denoting
|
|
|
this just described string type.
|
|
|
.PP
|
|
|
-The only thing you can do with these features is declaration of
|
|
|
+These features are only useful for declaration of
|
|
|
constants and variables of type 'string'.
|
|
|
String objects may not be allocated on the heap and string pointers
|
|
|
may not be de-referenced.
|
|
@@ -1062,7 +1062,7 @@ Ack-Pascal deviates from the standard proposal in the following ways:
|
|
|
.ti -3
|
|
|
1.~\
|
|
|
Standard procedures and functions are not allowed as parameters in Ack-Pascal.
|
|
|
-You can obtain the same result with negligible loss of performance
|
|
|
+The same result can be obtained with negligible loss of performance
|
|
|
by declaring some user routines like:
|
|
|
.EQ
|
|
|
function sine(x:real):real;
|
|
@@ -1091,14 +1091,14 @@ at run time. Default +.
|
|
|
.sp
|
|
|
.ti -8
|
|
|
c~+/-~~~\
|
|
|
-this option, if on, allows you to use C-type string constants
|
|
|
+this option, if on, allows the use of C-type string constants
|
|
|
surrounded by double quotes.
|
|
|
Moreover, a new type identifier 'string' is predefined.
|
|
|
Default -.
|
|
|
.sp
|
|
|
.ti -8
|
|
|
d~+/-~~~\
|
|
|
-this option, if on, allows you to use variables of type 'long'.
|
|
|
+this option, if on, allows the use of variables of type 'long'.
|
|
|
Default -.
|
|
|
.sp
|
|
|
.ti -8
|
|
@@ -1112,7 +1112,7 @@ The default value is wordsize-1.
|
|
|
l~+/-~~~\
|
|
|
if + then code is inserted to keep track of the source line number.
|
|
|
When this flag is switched on and off, an incorrect line number may appear
|
|
|
-if the error occurs in a part of your program for which this flag is off.
|
|
|
+if the error occurs in a part of the program for which this flag is off.
|
|
|
These same line numbers are used for the profile, flow and count options
|
|
|
of the EM interpreter em [5].
|
|
|
Default +.
|
|
@@ -1125,7 +1125,7 @@ Default +.
|
|
|
.sp
|
|
|
.ti -8
|
|
|
s~+/-~~~\
|
|
|
-if + then the compiler will hunt for places in your program
|
|
|
+if + then the compiler will hunt for places in the program
|
|
|
where non-standard features are used, and for each place found
|
|
|
it will generate a warning. Default -.
|
|
|
.sp
|
|
@@ -1168,8 +1168,8 @@ Of course, if debug is a variable nothing can be removed.
|
|
|
A disadvantage of Pascal, the lack of preinitialized data, can be
|
|
|
diminished by making use of the possibilities of the EM optimizer.
|
|
|
For instance, initializing an array of reserved words is sometimes
|
|
|
-optimized into 3 EM instructions. To maximize this effect you must initialize
|
|
|
-variables as much as possible in order of declaration and array entries
|
|
|
+optimized into 3 EM instructions. To maximize this effect
|
|
|
+variables must be initialized as much as possible in order of declaration and array entries
|
|
|
in order of decreasing index.
|
|
|
.CH "References"
|
|
|
.in +5
|