89 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
.sp 2
 | 
						|
.NH
 | 
						|
Comparison with the Pascal-VU compiler
 | 
						|
.nh
 | 
						|
 | 
						|
.LP
 | 
						|
In this chapter, the differences with the Pascal-VU compiler [IM2] are listed.
 | 
						|
The points enumerated below can be used as improvements to the compiler (see
 | 
						|
also Chapter 11).
 | 
						|
.sp
 | 
						|
.NH 2
 | 
						|
Deviations
 | 
						|
.LP
 | 
						|
.sp
 | 
						|
- large labels
 | 
						|
.in +3m
 | 
						|
only labels in the closed interval 0..9999 are allowed, as opposed to the
 | 
						|
Pascal-VU compiler. The Pascal-VU compiler allows every unsigned integer
 | 
						|
as label.
 | 
						|
.in -3m
 | 
						|
 | 
						|
- goto
 | 
						|
.in +3m
 | 
						|
the new compiler conforms to the standard as opposed to the old one. The
 | 
						|
following program, which contains an illegal jump to label 1, is accepted
 | 
						|
by the Pascal-VU compiler.
 | 
						|
 | 
						|
.nf
 | 
						|
\fBprogram\fR illegal_goto(output);
 | 
						|
\fBlabel\fR 1;
 | 
						|
\fBvar\fR i : integer;
 | 
						|
\fBbegin\fR
 | 
						|
	\fBgoto\fR 1;
 | 
						|
	\fBfor\fR i := 1 \fBto\fR 10 \fBdo\fR
 | 
						|
	\fBbegin\fR
 | 
						|
		1 : writeln(i);
 | 
						|
	\fBend\fR;
 | 
						|
\fBend\fR.
 | 
						|
.fi
 | 
						|
 | 
						|
This program is rejected by the new compiler.
 | 
						|
.in -3m
 | 
						|
 | 
						|
.NH 2
 | 
						|
Extensions
 | 
						|
.LP
 | 
						|
.sp
 | 
						|
The extensions implemented by the Pascal-VU compiler are listed in
 | 
						|
Chapter 5 of [IM2].
 | 
						|
.sp
 | 
						|
- separate compilation
 | 
						|
.ti +3m
 | 
						|
the new compiler only accepts programs, not modules.
 | 
						|
 | 
						|
- assertions
 | 
						|
.ti +3m
 | 
						|
not implemented.
 | 
						|
 | 
						|
- additional procedures
 | 
						|
.ti +3m
 | 
						|
the procedures \fIhalt, mark\fR and \fIrelease\fR are not available.
 | 
						|
.bp
 | 
						|
- UNIX\(tm interfacing
 | 
						|
.ti +3m
 | 
						|
the \-c option is not implemented.
 | 
						|
.FS
 | 
						|
\(tm UNIX is a Trademark of Bell Laboratories.
 | 
						|
.FE
 | 
						|
 | 
						|
- double length integers
 | 
						|
.ti +3m
 | 
						|
integer size can be set with the \-V option, so the additional type \fIlong\fR
 | 
						|
is not implemented.
 | 
						|
 | 
						|
 | 
						|
.NH 2
 | 
						|
Compiler options
 | 
						|
.LP
 | 
						|
.sp
 | 
						|
The options implemented by the Pascal-VU compiler are listed in
 | 
						|
Chapter 7 of [IM2].
 | 
						|
.sp
 | 
						|
The construction "{$....}" is not recognized.
 | 
						|
 | 
						|
The options: \fIa, c, d, s\fR and \fIt\fR are not available.
 | 
						|
 | 
						|
The \-l option has been changed into the \-L option.
 | 
						|
 | 
						|
The size of reals can be set with the \-V option.
 |