Mikronia

Aus MARJORIE-WIKI
Wechseln zu: Navigation, Suche

Mikronia ist eine simple höhere Programmiersprache mit deutschem Anweisungssatz und zugehörigem Mikro-Compiler, dessen Erstfassung 1996 in Turbo-Pascal von dem Konstanzer Informatiker Wolfgang Gruhn für Windows entwickelt wurde, 2005 auch für Linux. Exakter handelt es sich um einen Präprozessor, der eine Mikronia-Quelle durch Basissymbolerzeugung, Syntaxanalyse sowie teilweise semantische Überprüfungen in eine Turbo-Pascal-Quelle wandelt. Diese fungiert damit als Zwischensprache. Der zweite Übersetzungslauf zur Generierung des Maschinencodes wird dann einem Turbo-Pascal-Compiler überlassen.

Mikronia weist gegenüber Pascal gravierende Einschränkungen, aber auch nützliche Erweiterungen auf. Das gesamte Programmpaket soll Anschauungs- und Schulungszwecken dienen und ist nicht als Ersatz für reguläre Programmiersprachen, Compiler oder Interpreter gedacht.

Eine Mikronia-Beschreibung sowie sämtliche Übersetzerquellen sind frei verfügbar auf der unter „Weblinks“ genannten Seite. Die darin enthaltene Dokumentation umfasst folgende Abschnitte:

  • Bedienungshinweise
  • Sprachbeschreibung
  • Einschränkungen gegenüber Pascal
  • Erweiterungen gegenüber Pascal
  • Installationshinweise
  • Konstruktionsmerkmale
  • Impressum

Programmbeispiel

~-- Programm usaflug --
~--
~-- Diana macht einen AUSflug, Pardon, einen USAflug!
~--
~reserviere abflugstd(ganz), abflugmin(ganz)
~reserviere ankunftstd(ganz), ankunftmin(ganz)
~reserviere start(ganz), stopp(ganz)
~reserviere dauerstd(reell), dauermin(reell)
~reserviere std(ganz), min(ganz)
~--
~starte
~zeige 'Bitte Abflug-Stunde eingeben: '
~hole abflugstd
~zeige 'Bitte Abflug-Minute eingeben: '
~hole abflugmin
~zeige 'Bitte Ankunft-Stunde eingeben: '
~hole ankunftstd
~zeige 'Bitte Ankunft-Minute eingeben: '
~hole ankunftmin
~--
~rechne start := abflugstd * 60 + abflugmin
~rechne stopp := ankunftstd * 60 + ankunftmin
~rechne dauermin := stopp - start + 6 * 60
~rechne dauerstd := Trunc (dauermin / 60)
~rechne dauermin := dauermin - dauerstd * 60
~rechne std := Trunc (dauerstd)
~rechne min := Trunc (dauermin)
~--
~drucke 'Dianas Flugdaten am 21.08.1996\r'
~drucke '===============================\r\r\r'
~drucke 'Diana macht einen AUSflug, '
~drucke 'Pardon, einen USAflug!\r\r\r'
~drucke 'Abflug Frankfurt (M.) : '
~drucke abflugstd,' : ',abflugmin,'\r'
~drucke 'Ankunft Boston  : '
~drucke ankunftstd,' : ',ankunftmin,'\r'
~drucke '\r\r'
~drucke 'Flugdauer Frankfurt - Boston : '
~drucke std:2,' Stunden und ',min:2,' Minuten\r\r\r'
~drucke 'Abflug Boston : 15 : 05 Uhr Ortszeit\r'
~drucke 'Ankunft Bangor : 16 : 05 Uhr Ortszeit\r\r\r'
~drucke 'Es wuenschen GUTEN FLUG : '
~drucke 'die zurueckgebliebenen Eltern!\r'
~drucke '\r\r\r'
~drucke ' '
~drucke ' <<< --- *** --- >>> \f'
~stoppe

Weblinks[Bearbeiten]

Info Sign.svg Dieser Wikipedia-Artikel wurde, gemäß GFDL, CC-by-sa mit der kompletten History importiert.