Multidimensional conformant arrays
Wed, 15 Oct 1997 23:02:30 +0200
I think I found a bug with conformant arrays.
Are conformant arrays supposed to work in multiple dimensions at all?
If so, the following program gives the wrong result "3 2 1 2" instead of
"1 2 3 4"; if not, it doesn't generate a necessary error message...
program x;
procedure p(var a:array[b..c:integer;d..e:integer] of integer);
begin
writeln(b,' ',c,' ',d,' ',e)
end;
var a:array[1..2,3..4] of integer;
begin
p(a)
end.
The corresponding program using a schema type works.
BTW: Wouldn't it seem reasonable to allow the "with" statement also for
schema types, as in the following example:
program x;
type t(a:integer)=array[1..a] of integer;
procedure p(var v:t);
begin
with v do writeln(a)
end;
begin
end.
And one little detail: The next program gives the error message
x.p:6: request for member `X' in something not
x.p:6: a record, schema or object
which is not completely correct since v is a schema, but x is not a field
of v.
program x;
type t(a:integer)=array[1..a] of integer;
procedure p(var v:t);
begin
writeln(v.x)
end;
begin
end.
Greetings,
Frank
--
Frank Heckenbach, Erlangen, Germany
heckenb@mi.uni-erlangen.de
http://home.pages.de/~fjf/links.htm
Frank Heckenbach (heckenb@mi.uni-erlangen.de)
HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada -
Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es