Модула-2
Модула-2 (нем. Modula-2) је императивни програмски језик опште намене. Његов аутор Никлаус Вирт га је сматрао директним наследником далеко познатијег програмског језика Паскал, чији је аутор такође. У односу на Паскал, језик Модула-2 поседује нека упрошћења и следећа главна проширења:
- Могућност растављања изворног кода програма на независне делове који самостално могу да буду преведени и потом увезани. Ова могућност је подржана кроз концепт модула.
- Нешто измењена синтакса код које свака структура поседује сопствене заграде у облику резервисаних речи.
- Директно подржано мултипрограмирање кроз концепт процеса.
- Додати елементи ниског нивоа који додатно проширују могућности креирања нових типова података и омогућавају системско програмирање. Ови елементи и њихова употреба су јасно одвојени од остатка језика.
- Процедурални тип података који омогућава да процедура буде додељена променљивој као вредност у току извршавања програма.
Садржај |
Настанак [уреди]
Језик Модула-2 је, по речима аутора, дефинисан и експериментално имплементиран 1975. године по први пут. Надовезује се на коцепте Паскал језика и језика Модула по коме је добио име.
Особине језика [уреди]
Програм у програмском језику Модула-2 се састоји из једног модула највишег нивоа који може да врши увоз (из) једног или више других модула. Сваки увезени модул може да увози из других модула.
Здраво свете [уреди]
Пример програма који се састоји из једног модула највишег нивоа. Програм исписује "Zdravo svete!":
MODULE Pozdrav;
FROM InOut IMPORT WriteString, WriteLn;
BEGIN
WriteString("Zdravo svete!");
WriteLn
END Pozdrav.
Овде програм, који обавезно почиње резервисаном речи MODULE, има име Pozdrav. Он из другог модула, са именом InOut, увози две процедуре WriteString и WriteLn које затим користи за испис текста.
Двоструки поздрав [уреди]
Следећи програм исписује два реда текста. У првом реду исписује "Zdravo svete!", а у следећем "Pozdrav iz Modula 'DrugiPozdrav'!!".
MODULE DvaPozdrava;
FROM InOut IMPORT WriteString, WriteLn;
FROM DrugiPozdrav IMPORT pozdrav;
BEGIN
WriteString("Zdravo svete!");
WriteLn;
pozdrav
END DvaPozdrava.
Да би обавио свој посао модул DvaPozdrava, између осталог, увози процедуру pozdrav из модула DrugiPozdrav, чији код следи:
DEFINITION MODULE DrugiPozdrav;
PROCEDURE pozdrav;
END DrugiPozdrav.
IMPLEMENTATION MODULE DrugiPozdrav;
FROM InOut IMPORT WriteString, WriteLn;
PROCEDURE pozdrav;
BEGIN
WriteString("Pozdrav iz Modula 'DrugiPozdrav'!!");
WriteLn
END pozdrav;
END DrugiPozdrav.
Ради се, у ствари, о два модула који су међу собом повезани. Први, дефинициони модул, говори о томе шта модул ради, док други, имплементациони модул са истим именом, одређује како ће то да се уради. Дефинициони модул одређује шта модул извози; у овом случају једино процедуру pozdrav.
Спољашње везе [уреди]
- Интернет локација посвећена програмском језику Модула-2
- Прстен повезаних интернет локација око језика Модула-2
- Збирка често постављаних питања у вези језика Модула-2
- Лилит и Модула-2
- Слободно доступни материјали и новости у вези језика Модула-2
- Изворни код писан у језику Модула-2 и Оберон-2
|
|||||
| Овај незавршени чланак Модула-2 везан је за рачунарство. Користећи правила Википедије, можете га проширити. |