Nanopascal – für Mikrocontroller aus der 8051-Familie

Nanopascal ist ein Einphasen-Compiler mit direkter Codeerzeugung für Mikrocontroller der 8051-Familie.

Nanopascal arbeitet rekursiv absteigend und verarbeitet ein extrem vereinfachtes Pascal. Es versucht möglichst viele der 8051-Maschinenbefehle zu nutzen und übersetzt Ausdrücke halbwegs intelligent, führt aber keine darüber hinausgehende Optimierung durch.

Spätestens durch die Entwicklung der SDCC - Small Device C Compiler und GCC toolchain for 8051 ist der Compiler vollkommen obsolet. Und mit dem ARM7 für 1€ und jetzt der kompletten Linux-Kiste für 19€ gibt es auch für Hobbyprojekte kaum mehr einen Grund zum Einsatz des 8051.

Die Anzeige des erzeugten Codes zwischen den Quellcodezeilen mag interessant sein, und möglicherweise kann jemand etwas über den Bau von Compilern[¹] lernen. Der Hauptgrund für diese Seite aber ist Nostalgie.

Geschichte:

Die erste Version von Nanopascal habe ich für einen Freund geschrieben, der die Software für seine Projekte bis dato in Assember geschrieben hatte. Sie war in Turbo Pascal implementiert und entstand innerhalb weniger Tage[²].

Auf Wünsche der Nutzer hin wurde Nanopascal immer wieder modifiziert und ergänzt.

Bei Ausmisten meines Archivs habe ich es wiederentdeckt. Zur Wiederbelebung habe ich den Quellcode mit p2c nach C konvertiert und dann ein bisschen aufgeräumt sowie die Dokumentation durchgesehen.

Resourcen:

Informationen zur 8051-Familie:

  1. Oder wie man Compiler nicht bauen sollte.
  2. Wenn man eine Woche ans Bett gefesselt ist, kann die Langeweile fürchterliche Resultate zeitigen.