Pristine Ack-5.5
[Ack-5.5.git] / doc / pascal / compar.doc
1 .sp 2
2 .NH
3 Comparison with the Pascal-VU compiler
4 .nh
5
6 .LP
7 In this chapter, the differences with the Pascal-VU compiler [IM2] are listed.
8 The points enumerated below can be used as improvements to the compiler (see
9 also Chapter 11).
10 .sp
11 .NH 2
12 Deviations
13 .LP
14 .sp
15 - large labels
16 .in +3m
17 only labels in the closed interval 0..9999 are allowed, as opposed to the
18 Pascal-VU compiler. The Pascal-VU compiler allows every unsigned integer
19 as label.
20 .in -3m
21
22 - goto
23 .in +3m
24 the new compiler conforms to the standard as opposed to the old one. The
25 following program, which contains an illegal jump to label 1, is accepted
26 by the Pascal-VU compiler.
27
28 .nf
29 \fBprogram\fR illegal_goto(output);
30 \fBlabel\fR 1;
31 \fBvar\fR i : integer;
32 \fBbegin\fR
33         \fBgoto\fR 1;
34         \fBfor\fR i := 1 \fBto\fR 10 \fBdo\fR
35         \fBbegin\fR
36                 1 : writeln(i);
37         \fBend\fR;
38 \fBend\fR.
39 .fi
40
41 This program is rejected by the new compiler.
42 .in -3m
43
44 .NH 2
45 Extensions
46 .LP
47 .sp
48 The extensions implemented by the Pascal-VU compiler are listed in
49 Chapter 5 of [IM2].
50 .sp
51 - separate compilation
52 .ti +3m
53 the new compiler only accepts programs, not modules.
54
55 - assertions
56 .ti +3m
57 not implemented.
58
59 - additional procedures
60 .ti +3m
61 the procedures \fIhalt, mark\fR and \fIrelease\fR are not available.
62 .bp
63 - UNIX\(tm interfacing
64 .ti +3m
65 the \-c option is not implemented.
66 .FS
67 \(tm UNIX is a Trademark of Bell Laboratories.
68 .FE
69
70 - double length integers
71 .ti +3m
72 integer size can be set with the \-V option, so the additional type \fIlong\fR
73 is not implemented.
74
75
76 .NH 2
77 Compiler options
78 .LP
79 .sp
80 The options implemented by the Pascal-VU compiler are listed in
81 Chapter 7 of [IM2].
82 .sp
83 The construction "{$....}" is not recognized.
84
85 The options: \fIa, c, d, s\fR and \fIt\fR are not available.
86
87 The \-l option has been changed into the \-L option.
88
89 The size of reals can be set with the \-V option.