Modula-2
Овај чланак садржи списак литературе, сродне писане изворе или спољашње везе, али његови извори остају нејасни, јер нису унети у сам текст. |
Modula-2 (транскр. Модула-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.
Књиге
- Wirth, Niklaus (1988). Programming in Modula-2. ISBN 978-0-387-96051-7. doi:10.1007/978-3-642-83565-0.. Fourth Edition, 1988,
- K. N. King (1988). Modula-2. ISBN 0-669-11091-4..
- Richard J. Sutcliffe, "Modula-2: Abstractions for Data and Programming Structures Архивирано на веб-сајту Wayback Machine (12. јун 2018)," (Using ISO-Standard Modula-2) 2004–2005 Edition
- Richard Gleaves, ур. (1984). Modula-2 for Pascal Programmers. Springer Books on Professional Computing. ISBN 978-0-387-96051-7. doi:10.1007/978-1-4613-8531-8.
- Cooper, Doug (1991). Oh My! Modula-2: An Introduction to Programming. ISBN 0393961079.,
Спољашње везе
- Интернет локација посвећена програмском језику Модула-2
- Прстен повезаних интернет локација око језика Модула-2
- Збирка често постављаних питања у вези језика Модула-2
- Лилит и Модула-2
- Слободно доступни материјали и новости у вези језика Модула-2
- „Изворни код писан у језику Модула-2 и Оберон-2”. Архивирано из оригинала 29. 04. 2009. г. Приступљено 21. 05. 2009.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.