<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.multimediaexpo.cz/mmecz/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
		<id>http://www.multimediaexpo.cz/mmecz/index.php?action=history&amp;feed=atom&amp;title=Modula-2</id>
		<title>Modula-2 - Historie editací</title>
		<link rel="self" type="application/atom+xml" href="http://www.multimediaexpo.cz/mmecz/index.php?action=history&amp;feed=atom&amp;title=Modula-2"/>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Modula-2&amp;action=history"/>
		<updated>2026-07-31T00:04:36Z</updated>
		<subtitle>Historie editací této stránky</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.multimediaexpo.cz/mmecz/index.php?title=Modula-2&amp;diff=248229&amp;oldid=prev</id>
		<title>Sysop: 1 revizi</title>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Modula-2&amp;diff=248229&amp;oldid=prev"/>
				<updated>2013-07-25T16:12:10Z</updated>
		
		<summary type="html">&lt;p&gt;1 revizi&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 25. 7. 2013, 16:12&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sysop</name></author>	</entry>

	<entry>
		<id>http://www.multimediaexpo.cz/mmecz/index.php?title=Modula-2&amp;diff=248228&amp;oldid=prev</id>
		<title>Sysop: 1 revizi</title>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Modula-2&amp;diff=248228&amp;oldid=prev"/>
				<updated>2010-10-21T17:20:24Z</updated>
		
		<summary type="html">&lt;p&gt;1 revizi&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
'''Modula-2''' je v [[Informatika (počítačová věda)|informatice]] flexibilní [[Imperativní programování|procedurální jazyk]] [[programovací jazyk]] s podporou [[multiprogramování]]. V roce [[1978]] ho vytvořil [[Niklaus Wirth]] na [[ETH]] jako nástupce jazyka [[Modula]]. V roce [[1980]] byl jazyk implementován pro počítač [[Lilith]], který byl uveden na trh roku [[1982]] společností [[DISER]] (Data Image Sound Procesor and Emitter Receiver System) pod jmény mC1 a mC2 (po celém světě prodáno 120 kusů). Jazyk Modula-2 vycházel podobně jako [[Modula]] z jazyka [[Pascal (programovací jazyk)|Pascal]] stejného autora. Jazyk byl ovlivněn jazykem [[Mesa]] a novými programovacími možnostmi osobního počítače [[Xerox Alto]].&lt;br /&gt;
&lt;br /&gt;
== Popis ==&lt;br /&gt;
Modula-2 je systémově flexibilní [[Imperativní programování|procedurální jazyk]] s širokými možnostmi uplatnění. Značná část syntaxe je založena na Wirthově starším a více známém jazyce [[Pascal (programovací jazyk)|Pascal]]. Jazyk Modula-2 byl navržen tak, aby byl podobný jazyku Pascal, ale některé prvky z Pascalu byly odstraněny a některé prvky z konceptu Modula naopak přidány. Byla též přidána přímá podpora pro [[multiprogramování]].&lt;br /&gt;
&lt;br /&gt;
Programy v jazyce Modula-2 se skládají z jednotlivých modulů z nichž každý z nich se skládá ze dvou částí: definice modulu (část rozhraní, které obsahuje pouze ty části subsystému, které jsou viditelné pro ostatní moduly) a implementační modul (obsahuje zdrojový kód který je uvnitř modulu a není pro ostatní moduly viditelný). ''Modul'' Modula-2 může být použit k zapouzdření do souboru souvisejících podprogramů a datových struktur a omezit jejich viditelnost z jiných částí programu. &lt;br /&gt;
&lt;br /&gt;
Jazyk má přísnou kontrolu oblastí. Kromě standardních identifikátorů není žádný objekt viditelný uvnitř modulu, pokud není výslovně exportován.&lt;br /&gt;
&lt;br /&gt;
Předpokládejme že modul M1 má exportovány objekty a, b, c a P jako výčet identifikátorů v exportním listu:&lt;br /&gt;
&lt;br /&gt;
  DEFINITION MODULE M1;&lt;br /&gt;
    EXPORT QUALIFIED a, b, c, P;&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
Potom objekty a, b, c a P z modulu M1 jsou známe mimo modul M1 jako M1.a, M1.b, M1.c a M1.P. Exportní jméno objektu, tj. M1, je používán jako kvalifikátor následovaný jménem objektu. &lt;br /&gt;
&lt;br /&gt;
Předpokládejme modul M2 obsahující následující IMPORT deklarací:&lt;br /&gt;
&lt;br /&gt;
  MODULE M2;&lt;br /&gt;
    IMPORT M1;&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
To znamená, že objekty exportované modulem M1 do svého programu, mohou být nyní použity i uvnitř modulu M2. Jsou potom odkazované ''kvalifikovaným'' způsobem takto: M1.a, M1.b, M1.c, a M1.P. Například:&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
    M1.a := 0; M1.c := M1.P (M1.a + M1.b);&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
Kvalifikovaný export zabraňuje střetům ve jménech. Například, pokud by jiný modul M3 měl také objekt nazvaný P, pak můžeme ještě rozlišit dva objekty, protože M1.P se liší od M3.P. Díky kvalifikovanému exportu nevadí, že se oba objekty jmenují P uvnitř jejich exportního modulu M1 a M3.&lt;br /&gt;
&lt;br /&gt;
== Verze ==&lt;br /&gt;
Existují dvě hlavní verze Modula-2. První je ''PIM'' pojmenovaná po knize „Programování v Modula-2“ (Programming in Modula-2) od [[Niklaus Wirth|Niklause Wirtha]]. Takto vznikla druhá, třetí (opravená) a čtvrtá verze, z nichž každá popisuje mírné odlišnosti jazyka. Druhá hlavní verze je od organizace [[Mezinárodní organizace pro normalizaci|ISO]].&lt;br /&gt;
&lt;br /&gt;
* PIM2 (1983)&lt;br /&gt;
** povinné explicitní ''EXPORT'' klauzule v definici modulů.&lt;br /&gt;
* PIM3 (1985)&lt;br /&gt;
** odstraněna ''EXPORT'' klauzule z definicí modulů.&lt;br /&gt;
* PIM4 (1989)&lt;br /&gt;
** specifikováno chování ''MOD'' a ''REM'' operátorů při záporných operandech a ujasněno že pole znaků musí být ukončeno znakem nula.&lt;br /&gt;
* ISO (1996)&lt;br /&gt;
** ISO Modula-2 vyřešila většinu nejednoznačností v PIM Modula-2. Byly přidány data typu ''COMPLEX'' a ''LONGCOMPLEX'', výjimky a přidány kompletní I/O standardní knihovny.&lt;br /&gt;
&lt;br /&gt;
== Jazykové prvky ==&lt;br /&gt;
=== Vyhrazená slova ===&lt;br /&gt;
PIM3 obsahuje následujících 40 vyhrazených slov:&lt;br /&gt;
&lt;br /&gt;
 AND         ELSIF           LOOP       REPEAT&lt;br /&gt;
 ARRAY       END             MOD        RETURN&lt;br /&gt;
 BEGIN       EXIT            MODULE     SET&lt;br /&gt;
 BY          EXPORT          NOT        THEN&lt;br /&gt;
 CASE        FOR             OF         TO&lt;br /&gt;
 CONST       FROM            OR         TYPE&lt;br /&gt;
 DEFINITION  IF              POINTER    UNTIL&lt;br /&gt;
 DIV         IMPLEMENTATION  PROCEDURE  VAR&lt;br /&gt;
 DO          IMPORT          QUALIFIED  WHILE&lt;br /&gt;
 ELSE        IN              RECORD     WITH&lt;br /&gt;
&lt;br /&gt;
=== Hello World ===&lt;br /&gt;
Ukázka jednoduchého programu, který na obrazovku vypíše &amp;quot;Hello word&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 MODULE PrintHelloWorld;&lt;br /&gt;
 &lt;br /&gt;
 (*This program prints &amp;quot;Hello world!&amp;quot; on the standard output device*)&lt;br /&gt;
 &lt;br /&gt;
 FROM InOut IMPORT WriteString, WriteLn;&lt;br /&gt;
 &lt;br /&gt;
 BEGIN&lt;br /&gt;
 	WriteString('Hello world!');&lt;br /&gt;
 	WriteLn;&lt;br /&gt;
 END PrintHelloWorld.&lt;br /&gt;
&lt;br /&gt;
== Související jazyky ==&lt;br /&gt;
Přestože je Modula-2 zdaleka nejznámější a nejrozšířenější varianta, existuje i několik jazyků, které jsou spojené tím či oním způsobem: [[Modula]], [[Modula-2+]], Modula-2*, ISO Modula-2, [[Modula-3]], [[Oberon]], [[Oberon-2]] a řada dalších.&lt;br /&gt;
&lt;br /&gt;
Jazyk Modula-2 byl vyvinut jako systémový jazyk pro [[Lilith]] stanici a tvořil předchůdce pro jazyk [[Oberon]] a pracoviště projektu (systému Oberon) vyvinuté na [[ETH]] Zürich. Mnoho současných jazyků přijalo rysy Modula-2.&lt;br /&gt;
&lt;br /&gt;
=== Modula-GM ===&lt;br /&gt;
[[Delco Electronics]] a poté dceřiná společnost GM [[Hughes]] Electronics vyvinula verzi Modula-2 pro [[Embedded systém|vestavěné systémy]] v roce 1985. Pojmenovali jej Modula-GM. Byl to první vyšší programovací jazyk používaný pro nahrazení používání strojového kódu pro programování vestavěných systémů v jednotkách řízení motorů (ECUs). To mělo velký význam, protože Delco vyráběly v roce 1988 pro [[GM]] více než 28000 ECU za den a staly se tak  největším producentem ECU. První experimentální používání Modula-GM ve vloženém řadiči bylo v roce 1993 Gen-4 ECU v [[CART]] (Championchip Auto racing Teams) a [[IRL]] (Indy Racing League).&lt;br /&gt;
&lt;br /&gt;
== Aktuální překladače ==&lt;br /&gt;
* [http://www.cs.vu.nl/pub/minix/2.0.0/ack ACK] Modula-2 pro Minix 2.0 ([[freeware]])&lt;br /&gt;
* [http://www.cms.uk.com Cambridge Modula-2] pro různé regulátory a MINOS operační systémy (komerční + [[proprietární software]])&lt;br /&gt;
* [http://www.mhccorp.com/modula-2.html Canterbury Modula-2] generuje zdrojový kód v jazyce Java&lt;br /&gt;
* [http://ftp.digital.com/pub/DEC/Modula-2 DEC Modula-2] pro BSD a Ultrix, oba VAX a MIPS ([[freeware]])&lt;br /&gt;
* [ftp://ftp.psg.com/pub/modula-2/fst/fst-40s.lzh FST] Modula-2 pro MS-DOS ([[freeware]])&lt;br /&gt;
* [http://www.plas.fit.qut.edu.au/gpm/Default.aspx Gardens Point Modula-2] pro BSD, Linux, OS/2, Solaris a [[.NET Framework|.NET]] - ISO kompatibilní ([[freeware]])&lt;br /&gt;
* [http://www.nongnu.org/gm2/ GNU Modula-2 compiler] pro GCC platformy, ISO a PIM kompatibilní, ([[free software]])&lt;br /&gt;
* [http://m2amiga.claudio.ch M2Amiga] pro Amigu ([[free software]])&lt;br /&gt;
* [http://www.cfbsoftware.com/modula2 M2M] autor N. Wirth z ETH Zurich, platformě nezávislý, generuje M-kód pro virtuální stroj ([[freeware]])&lt;br /&gt;
* [http://www.sysecol.ethz.ch/RAMSES/MacMETH.html MacMETH] autor N. Wirth z ETH Zurich pro Macintosh, ale pouze Classic ([[freeware]])&lt;br /&gt;
* [http://www.designtools.co.nz/mod51.htm Mod51] pro řadu mikroprocesorů Intel 80x51&lt;br /&gt;
* [http://www.modulaware.com ModulaWare] pro OpenVMS, VAX a Alpha, ISO kompatibilní&lt;br /&gt;
* [ftp://ftp.psg.com/pub/modula-2/grosch/mtc.tar.Z MTC] překladač z Modula-2 do C, dostupný v Modula-2 a C zdrojových kódech ([[free software]])&lt;br /&gt;
* [http://objective.modula2.net/ Objective Modula-2] pro různé Unix platformy, Cocoa a GNUstep podpory, ([[free software]])&lt;br /&gt;
&lt;br /&gt;
* [http://www.excelsior-usa.com/xdsx86.html Native XDS-x86] pro Windows a Linux, ISO kompatibilní Modula-2 a Oberon-2, nativní kompilátory s volitelným TopSpeed Compatibility Pack ([[freeware]])&lt;br /&gt;
* [http://www.awiedemann.de/compiler/index.html p1 Modula-2] pro Macintosh, a to jak Classic i Mac OS X ale bez Cocoa podpory, ISO kompatibilní&lt;br /&gt;
* [http://www.info.uni-karlsruhe.de/~modula The Karlsruhe Modula-2 Compiler MOCKA] pro různé platformy, PIM kompatibilní [[freeware]] Linux/BSD versions)&lt;br /&gt;
* [http://www.terraterra.ch/modula-2/spdm2vms.html TERRA M2VMS] pro OpenVMS, jak VAX tak i Alpha, PIM kompatibilní&lt;br /&gt;
* [http://www.mathematik.uni-ulm.de/modula The Ulm Modula-2 System] pro Solaris, jak SPARC tak i MC68K (free software, [[GNU General Public License|GPLed]])&lt;br /&gt;
* [http://www.excelsior-usa.com/xdsc.html XDS-C] pro Windows a Linux, generuje ANSI nebo K&amp;amp;R C zdrojový kód většinou 16- a 32-bitová platforma, ISO kompatibilní Modula-2 a Oberon-2 s možností TopSpeed Compatibility Pack ([[freeware]])&lt;br /&gt;
&lt;br /&gt;
== Překladače s ukončeným vývojem ==&lt;br /&gt;
* Benchmark Modula-2 for the [[Amiga]]&lt;br /&gt;
* [http://www.retroarchive.org/cpm/lang/turbom2.zip Borland Turbo Modula-2] pro CP/M (abandonware)&lt;br /&gt;
* Borland [[Turbo Modula-2]] pro MS-DOS (prodána Jensen and Partners, nyní TopSpeed Modula-2)&lt;br /&gt;
* [http://www.sysecol.ethz.ch/SimSoftware/RAMSES/em2_2.0.6.html epc Modula-2] (od bývalého Edinburgh Portable Compilers Limited; společnost už neexistuje, nyní je součást [http://www.analog.com/ Analog Devices])&lt;br /&gt;
* FTL Modula-2 (v1.15 1986) pro MS-DOS, ATARI ST a CP/M Z80 autor Dave Moore, Cerenkof Computing. Distribuované v Austrálii firmou [http://www.jedmicro.com.au/ JED Microprocessors Pty Ltd.]&lt;br /&gt;
* [http://www.terraterra.ch/modula-2/index.html Logitech] řadu kompilátorů Modula-2 pro CP/M a MS-DOS&lt;br /&gt;
* [http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/m2fabout.html M2F] pro Linux, předchůdce na GNU Modula-2, generuje i386 kód, kompatibilní s PIM2 (GPL)&lt;br /&gt;
* M2S pro [[Amiga|Amigu]]&lt;br /&gt;
* M2SDS (IBM PC), Interface Technologies Inc. (ITC) Houston, TX.&lt;br /&gt;
* [http://www.tempel.org/files-e.html#MM2 Megamax Modula-2] pro Atari ST &amp;amp; TT computers. Pouze v němčině. Dokumentace i zdrojové kódy jsou dostupné zdarma ale nejsou příliš užitečné, většina je jich napsána v kódu assembler 68k.&lt;br /&gt;
* [[Metrowerks]]' první produkty byly kompilátory Modula-2 pro velké množství platform, včetně Macintosh&lt;br /&gt;
* Modula Corporation měl řadu kompilátorů Modula-2 pro MS-DOS [http://cfbsoftware.com/modula2 (M2M-PC)], Apple II a Macintosh&lt;br /&gt;
* Modula-2 PC (IBM PC), PCollier Systems, Tucson, AZ.&lt;br /&gt;
* Mosys Modula-2 System pro Sage / Stride 68000 computers. Brian Kirk, [http://www.robinsons.co.uk/ Robinson Systems Ltd. UK]&lt;br /&gt;
* [http://www.modula2.org/sb/websitearchive/indexw.html Stony Brook Modula-2]&lt;br /&gt;
* TDI Modula-2 pro Amigu a Atari ST&lt;br /&gt;
* TopSpeed (aka Clarion, aka JPI, aka Jensen and Partners) měl několik dobrých [[16bitový]]ch kompilátorů Modula-2 s pěknými IDE. Něco ve stylu &amp;quot;Turbo Pascal&amp;quot; z Modula-2. Trošku nestandardní, ale velice populární v podnikání i ve vzdělávání, vynikající toolchain. V současné době součástí Clarion ve vlastnictví [http://www.softvelocity.com/clarion/overview.htm SoftVelocity]&lt;br /&gt;
* Volition Systems Modula-2 (UCSD p-System). Randy Bush, Richard Gleaves, Volition Systems Del Mar, CA.&lt;br /&gt;
&lt;br /&gt;
== Literatura ==&lt;br /&gt;
* K. N. King, ''Modula-2'', komplexní a jasně psaný text, i po dvaceti letech neustále v prodeji, ISBN 0-669-11091-4&lt;br /&gt;
* Richard J. Sutcliffe, [http://www.arjay.bc.ca/Modula-2/Text/index.html Modula-2: Abstractions for Data and Programming Structures], (používá ISO-Standard Modula-2) 2004-2005 Edice&lt;br /&gt;
&lt;br /&gt;
== Externí odkazy ==&lt;br /&gt;
* [http://www.modula2.org/ Modula-2 Internet directory]&lt;br /&gt;
* [http://www.modulaware.com/m2wr/ The Modula-2 website ring]&lt;br /&gt;
* [http://www.arjay.bc.ca/Modula-2/m2faq.html Modula-2 FAQ] autor Rick Sutcliffe, verze z 2005.09.09&lt;br /&gt;
* [http://cfbsoftware.com/modula2 Lilith and Modula-2]&lt;br /&gt;
* [http://freepages.modula2.org/ Free Modula-2 Pages News Portal]&lt;br /&gt;
* [http://www.aha.ru/~uranus/ Sources Store for Modula-2 and Oberon-2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Článek z Wikipedie}}&lt;br /&gt;
[[Kategorie:Počítačové jazyky]]&lt;/div&gt;</summary>
		<author><name>Sysop</name></author>	</entry>

	</feed>