Az MPD programozási nyelv

Absztrakt adattípusok

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