Hello,
Consider this little program:
--------------------------------------------------------------
program main(input,output);
var
o, z: set of 1..15;
begin
o := [1];
z := [];
if o < z then
writeln('o < z');
if o <= z then
writeln('o <= z');
if o = z then
writeln('o = z');
if o <> z then
writeln('o <> z');
if o >= z then
writeln('o >= z');
if o > z then
writeln('o > z');
if z < o then
writeln('z < o');
if z <= o then
writeln('z <= o');
if z = o then
writeln('z = o');
if z <> o then
writeln('z <> o');
if z >= o then
writeln('z >= o');
if z > o then
writeln('z > o');
if o < o then
writeln('o < o');
if o <= o then
writeln('o <= o');
if o = o then
writeln('o = o');
if o <> o then
writeln('o <> o');
if o >= o then
writeln('o >= o');
if o > o then
writeln('o > o');
if z < z then
writeln('z < z');
if z <= z then
writeln('z <= z');
if z = z then
writeln('z = z');
if z <> z then
writeln('z <> z');
if z >= z then
writeln('z >= z');
if z > z then
writeln('z > z');
end.
--------------------------------------------------------------
GPC fails to compile this:
t19.p: In function Program_Main':
t19.p:7: invalid operands to binary <
t19.p:17: invalid operands to binary >
t19.p:19: invalid operands to binary <
t19.p:29: invalid operands to binary >
t19.p:31: invalid operands to binary <
t19.p:41: invalid operands to binary >
t19.p:43: invalid operands to binary <
t19.p:53: invalid operands to binary >
ISO 7185 sec. 6.7.1 suggests that this should work.
The correct output should be:
o <> z
o >= z
o > z
z < o
z <= o
z <> o
o <= o
o = o
o >= o
z <= z
z = z
z >= z
Greetings,
JanJaap
---
The nice thing about standards is that there are so many to choose from
-
Andrew Tanenbaum