Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

Modula-2

Z Wikipedii, wolnej encyklopedii

Modula 2język programowaniawysokiego poziomu stworzony przezNiklausa Wirtha.

Historia

[edytuj |edytuj kod]

JęzykModula 2 stworzony został podczas prac badawczych wInstytucie Informatyki Politechniki w Zurichu. Prace nad językiem rozpoczęto w 1977 r., a ich efektem była pierwszaimplementacja tego języka zrealizowana w 1979 r. na komputerzePDP-11.Definicja języka opublikowana została w 1980 r.

Język wywodzi się zPascala iModuli. Zawiera w sobie wszystkie mechanizmy Pascala oraz rozszerzenia o ważne pojęcia modułu i mechanizmy wieloprogramowości. Składnię języka oparto na składni Moduli (po zrealizowaniuModuli 2 i innych, językModula czasem określano – dla jednoznaczności – jakoModula 1). Należy podkreślić, że kolejne cyfry nie oznaczają kolejnych wersji rozwojowych, lecz osobne języki budowane na tych samych wzorcach, lecz o różniących się założeniach i przeznaczeniu.

Składnia

[edytuj |edytuj kod]

Każdy program składa się zmodułu lub wielu modułów. Moduły zewnętrzne mogą byćkompilowane niezależnie. Moduły mogą być zgłębione w innych modułach. Moduł ma postać:

pre MODULEnazwa;listy_importowedeklaracje BEGINinstrukcje ENDnazwa.

Moduły dzielą się na:

  • moduły programu
  • moduły definiujące :pre=DEFINITION
  • moduły implementujące :pre=IMPLEMENTATION

Instrukcja IMPORTlisty_importowej pozwala importować obiekty z innych modułów. Do udostępniania własnych obiektów służy instrukcja EXPORT.
Obiekt nie jest tu używany w sensieprojektowania obiektowego.

Język wyposażony został winstrukcje strukturalne wzorowane na instrukcjach Pascala z pewnymi rozszerzeniami. Zasadnicza różnica, wywodząca się z Moduli 1, to słowo kluczowe END zamykające każdąinstrukcję strukturalną, co eliminuje konieczność stosowana instrukcji grupującej (jak begin…end w Pascalu, czy {…} wjęzyku C). Ponadto rozszerzono postać instrukcji IF i FOR oraz wprowadzono instrukcję pętli LOOP dla programowaniawspółbieżnego.

 IFw1 THENsi1[ELSIFw2 THENsi2[ELSIFw3 THENsi3]][ELSEsi-else] END
 CASEwyr OFw1 :si1 |[w2 :si2[ | …]][ELSEsi_else] END
 WHILEw DOsi END
 REPEATsi UNTILw
 FORi:=w TOw2 [BYw3] DOsi END
 LOOPsi END

Współbieżność

[edytuj |edytuj kod]

JęzykModula 2 udostępnia mechanizmy do programowania procesówwspółbieżnych – zarówno procesów:

  • luźno związanych (ang.loosely coupled), jak i
  • silnie związanych (ang.tightly coupled).

WModuli 2 mechanizmy współbieżności oparto na rozwiązaniach znanych z językówModula iConcurrent Pascal. Komunikacja między procesami odbywa się za pomocą zmiennych współdzielonych i sygnałów.

Inne właściwości

[edytuj |edytuj kod]

W języku wprowadzono również dla potrzeb programowania systemowego mechanizmy niskiego poziomu pozwalające na ominięcie reguł związanych ze ścisłą kontrolą typów obowiązującą w tym języku.

Zobacz też

[edytuj |edytuj kod]

Bibliografia

[edytuj |edytuj kod]
Języki programowania
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
istrukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
Źródło: „https://pl.wikipedia.org/w/index.php?title=Modula-2&oldid=75472154
Kategoria:
Ukryta kategoria:

[8]ページ先頭

©2009-2025 Movatter.jp