Ugrás a tartalomhoz

Modula-2 (programozási nyelv)

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
Modula-2
Paradigmaimperatív, strukturált, moduláris, adat és methodus elrejtés
Megjelent1978
TervezőNiklaus Wirth
FejlesztőNiklaus Wirth
Típusosságerősen típusos, statikus kötés
DialektusokPIM2, PIM3, PIM4, ISO
MegvalósításokNiklaus Wirth által írt ETH compiler ,
Hatással volt ráModula, Mesa, Pascal, Algol-W
Befolyásolt nyelvekModula-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]

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]

Fenntartott szavak

[szerkesztés]

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]

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]
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]
  • A Modula-2 hivatalos honlapja: [1]
  • Niklaus Wirth: MODULA-2 [2] Archiválva 2009. december 22-i dátummal a Wayback Machine-ben
  • 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