Absztrakt adattípusok
Szintaxis
Saját adattípus megvalósítására szolgál a resource és a global kulcsszó.
Az elõbbi dinamikusan hozható létre a create paranccsal(megadható az is, hogy melyik virtuális gépen jöjjön létre a példány),
az utóbbi pedig egy adott virtuális gépen belül látható, statikus.
Mindkettõ tartalmazhat adattagokat, mûveleteket, valamint folyamatokat.
Minden program tartalmaz legalább egy resource-ot, melyek közül az utolsó lesz automatikusan a fõprogram.
Példa : mátrixszorzás
global defs
const int SIZE = 8
end
resource matrix_mult()
import defs
real a[ SIZE, SIZE ] = ([SIZE] ([SIZE] 1.0))
real b[ SIZE, SIZE ] = ([SIZE] ([SIZE] 1.0))
real c[ SIZE, SIZE ]
procedure inner( int i, int j ) return real sum
# belsõ szorzat számítása: a[i,*] * b[*,j]
{
sum = 0.0;
for [ k = 1 to SIZE ]
{
sum += a[i,k] * b[k,j]
}
}
for [ i = 1 to SIZE, j = 1 to SIZE ]
{
c[i,j] = inner(i,j)
}
for [ i = 1 to SIZE ]
# az eredmény kiírása
{
for [ j = 1 to SIZE ]
{
writes( c[i,j], " " );
}
write(); # új sor
}
end
Láthatósági szabályok