djsalomon@watdragon.waterloo.edu (Daniel J. Salomon) (03/05/88)
While writing test programs for a compiler course, I came across this
Pascal program that sends Berkeley Pascal into a deep recursive sleep.
Running the version of Berkeley Pascal that came with 4.3 BSD on a
Microvax II, it took 420 CPU seconds to compile this program. Adding
one more level of parentheses doubles the compile time. Here is the
program:
--------------------------------------------------------------------
program nest (output);
var
i, j, k : integer;
begin
j:=5; i:=-5; k:=2;
k := i+(j+(k+(i+(j+(k+(i+(j+(k+(i+(j+(k+(i+(j+(k+(i+(j+(k+i
) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) );
writeln (i, k);
end.wsiebeck@rmi.UUCP (Wolfgang Siebeck) (03/10/88)
In this article Daniel J. Salomon writes:
:
[--]
: Running the version of Berkeley Pascal that came with 4.3 BSD on a
: Microvax II, it took 420 CPU seconds to compile this program. Adding
: one more level of parentheses doubles the compile time. Here is the
: program:
[- 9 lines of Pascal source deleted -]
I tried TURBO-Pascal V 4.0 on your program. The test was run on a
Bullet-286ii, operating @ 7.7 MHz.
Turbo Pascal Version 4.0 Copyright (c) 1987 Borland International
NEST.PAS(9)
9 lines, 0.1 seconds, 2320 bytes code, 591 bytes data.
===========
The output of the program is:
-57
The resulting executable file has 2384 bytes.
Well, what should I say??