Modula-2 (programozási nyelv)

A Wikipédiából, a szabad enciklopédiából
Modula-2
Paradigma imperatív, strukturált, moduláris, adat és methodus elrejtés
Megjelent 1978
Tervező Niklaus Wirth
Típusosság erősen típusos, statikus kötés
Dialektusok PIM2, PIM3, PIM4, ISO
Megvalósítások

Niklaus Wirth által írt ETH compiler ,

Hatással volt rá Modula, Mesa, Pascal, Algol-W
Befolyásolt nyelvek Modula-3, Oberon, Ada, Fortran 90, Lua, Zonnon, Modula-GM


A Modula-2 objektumorientált, eljáráselvű programozási nyelv.

Története[szerkesztés | forrásszöveg szerkesztése]

Az első, és legnépszerűbb strukturált programnyelvek között szerepelt a Pascal, amelyet Niklaus Wirth professzor (ETH – Zürich) dolgozott ki, és valósított meg. Könnyen elsajátítható programnyelvnek bizonyult, ezen kívül előnyös volt algoritmus és adatszervezés szempontjából. Sok jó tulajdonsága mellett csak strukturáltságot tartalmazott, ami idővel kevésnek bizonyult.

Legnagyobb hátrányai: nem tartalmazza a moduláris programozás tulajdonságait. Alacsony szintű programozási nyelv formájának hiánya, nehéz hozzáférés az operációs rendszer függvényeihez.

Wirth 1975-ben kifejlesztette a Modula nevű moduláris programnyelvet. 1977-ben kezdett dolgozni a Modula-2 nevű programnyelven. Az első megvalósított verzió futtatása egy PDP-11-es számítógépen történt 1979-ben.

Wirth a Pascal előnyeit a Modula-2 -be szintén bevezette, ezen kívül kibővítette a moduláris és alacsony szintű programozás lehetőségeivel. A Modula-2 egy strukturált, moduláris programozási nyelv – magas szintű programozási nyelv.

Szintaktika[szerkesztés | forrásszöveg szerkesztése]

Fenntartott szavak[szerkesztés | forrásszöveg szerkesztése]

A Modula-2 fenntartott szavainak listája. Ezeket nem definiálhatjuk újra, és nem használhatjuk fel az általunk létrehozott, programban szereplő egységek elnevezéseire.

AND  ARRAY  BEGIN  BY  CASE
CONST  DEFINITION  DIV  DO
ELSE  ELSIF  END  EXIT EXPORT
FOR  FORWARD  FROM  IF  IMPLEMENTATION
IMPORT  IN  LOOP  MOD  MODULE  NOT
OF  OR  POINTER  PROCEDURE  QUALIFIED
RECORD  REPEAT  RETURN  SET  THEN  TO
TYPE  UNTIL  VAR  WHILE  WITH

Kulcsszavak[szerkesztés | forrásszöveg szerkesztése]

A Modula-2 standard, könyvtári függvényei. Újradefiniálhatók, felhasználhatók az általunk létrehozott, programban szereplő egységek elnevezéseire. Ez azonban nem ajánlott.

ABS  ADR  ADDRESS  BITSET
BOOLEAN  BYTE  CAP  CARDINAL
CHAR  CHR  DEC  EXCL FALSE  FLOAT
HALT  HIGH  INC  INCL  INTEGER
LONGCARD  LONGINT  LONGREAL  MAX  MIN
NIL  ODD ORD  PROC  REAL  SIZE  TRUE
TRUNC  VAL  WORD

A Modula-2 program struktúrája[szerkesztés | forrásszöveg szerkesztése]

MODULE modulNeve;
FROM modulNeve IMPORT objNeve;
(* Importált objektumok listája - használhatjuk FROM és modulNeve nélkül is,
ilyenkor a modulNeve az IMPORT után következik. A programban szereplő modulNeve
 modulból származó objektumot pedig így használjuk: modulNeve.objNeve; *)
 
(* Deklarációk *)
TYPE
tipusNeve = tipusDef; (* típusok *)
 
CONST
konstNeve = konstKifejez; (* konstansok *)
 
VAR
valtozoNeve : tipusNeve; (* változók *)
 
BEGIN (* A program törzse itt kezdődik *)
 
utasitasok;
 
END modulNeve.

Dokumentáció[szerkesztés | forrásszöveg szerkesztése]

  • A Modula-2 hivatalos honlapja: [1]
  • Niklaus Wirth: MODULA-2 [2]
  • Modula-2 referencia kezdőknek: [3]
  • Modula-2 referencia haladóknak: [4]
  • Zoran Budimac, Mirjana Ivanović, Đura Paunić: Uvod u programiranje i programski jezik Modula-2. 2004, Fejlton, Novi Sad, ISBN 86-499-0032-1