A MUMPS programozási nyelv

Példaprogramok

Hello World

A következő program a klasszikus "Hello World!" program egy lehetséges megvalósítása egy rutinnal.

HELLO ; C. MacKenzie ; 3/30/2001 ; "Hello World" routine WRITE "Hello World",! QUIT

Az előző kód még tömörebben leírható:

HELLO W "Hello World",! Q

Sőt akár egy sorba is írható:

HELLO W "Hello World",! Q

Az első 10 szám négyzete

Az alábbi program az első tíz szám négyzetét adja eredményül szóközökkel elválasztva.

SQUARES F I=1:1:10 W I*I," " W ! Q

Listázó program

Készítette: Csík Norbert

A program egy egyszerű listázó program, ami egy többindexes adathalmaz megfelelő értékeit jeleníti meg a képernyőn, és a kulcsok váltásánál rövid összegzést ad.

LISTA ; Listázó program - nORBERT - 2001.07.22 14:32 N S (UV,HE,BKOD)="" S (OSSZ,OSSZUV,OSSZHE)=0 C1 S UV=$O(^ADAT(UV)) I UV="" G VEGE C2 S HE=$O(^ADAT(UV,HE)) I HE="" D VALTUV G C1 C3 S BKOD=$O(^ADAT(UV,HE,BKOD) I BKOD="" D VALTHE G C2 S ADAT=^ADAT(UV,HE,BKOD) W "NEV: "_$P(ADAT,"|",3),! W "CIM: "_$P(ADAT,"|",10),! W " "_$P(ADAT,"|",11),! S DATUM=$O(^MENNY(UV,HE,BKOD,""),-1) S MENNY=$P(^MENNY(UV,HE,BKOD,DATUM),"|",5) W "MENNYISEG: "_$J(MENNY,10),! S OSSZHE=OSSZHE+MENNY G C3 VALTHE W !,"HELYSEG OSSZESEN: "_$J(OSSZHE,10),! S OSSZUV=OSSZUV+OSSZHE S OSSZHE=0 Q VALTUV W !,"HELYSEG OSSZESEN: "_$J(OSSZHE,10),! S OSSZ=OSSZ+USSZUV S OSSZUV=0 Q VEGE W "OSSZESEN: "_$J(OSSZ,10),# Q

Extrém példa

A program beállítja egy x változó értékét az "x x" értékre, majd elindul és rekurzív ("végtelen") futásba kezd, ezáltal pedig stack overflow-t idéz elő. A program jól példázza a MUMPS nyelv tömörségét, hiszen az egész program csupán 13 karakter (whitespace-ekkel együtt).

s x="x x" x x