|
|
1.1 root 1: {TEST 6.6.3.4-2, CLASS=CONFORMANCE}
2:
3: { This program tests that the environment of procedure
4: parameters is as stated in the Pascal Standard.
5: The compiler fails if the program does not compile, or
6: the program states that this is so. }
7:
8: program t6p6p3p4d2(output);
9: var
10: globalone, globaltwo : integer;
11: procedure p(procedure f(procedure a; procedure b);procedure g);
12: var
13: localtop : integer;
14: procedure r;
15: begin
16: if globalone=1 then
17: begin
18: if (globaltwo<>2) or (localtop<>1) then
19: writeln(' FAIL1...6.6.3.4-2')
20: end
21: else
22: if globalone=2 then
23: begin
24: if (globaltwo<>2) or (localtop<>2) then
25: writeln(' FAIL2...6.6.3.4-2')
26: else
27: writeln(' PASS...6.6.3.4-2')
28: end
29: else
30: writeln(' FAIL3...6.6.3.4-2');
31: globalone:=globalone+1;
32: end; { of r }
33: begin { of p }
34: globaltwo:=globaltwo+1;
35: localtop:=globaltwo;
36: if globaltwo=1 then
37: p(f,r)
38: else
39: f(g,r)
40: end; { of p }
41: procedure q(procedure f; procedure g);
42: begin
43: f;
44: g
45: end;
46: procedure dummy;
47: begin
48: writeln(' FAIL4...6.6.3.4-2')
49: end;
50:
51: begin
52: globalone:=1;
53: globaltwo:=0;
54: p(q,dummy)
55: end.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.