I really need help in trying to understand what the "dat:table" is in this procedure,

and how to translate it to Java.

procedure Taylor(var dat: table ; cd: integer; h: real);

begin

for i:=2 to cd + 1 do

begin

dat[i,1] := dat[i,1] + (i-1)*h;

x := dat[i-1,1]; y := dat[i-1,2];

result := h * (x*exp(ln(y)/3)) +

(sqr(h)/2) * ((sqr(x)/3) * exp(-ln(y)/3 + exp(ln(y)/3)) +

((h*h*h)/6) * (-(x*x*x/9)/y) + x *exp(-ln(y)/3)) +

(sqr(h) *sqr(h)/24) * (((sqr(x)*sqr(x)/9) * exp((-5/3)*ln(y))) -

((2/3) * sqr(x)/y + exp(-ln(y)/3) );

dat[i,2] := dat[i-1,2] + result;

end;

end;

Is the table an array? i need to write a complete program using this algorithm.

Any help would be much appreciated