TECO (Texteditor)
TECO (ursprünglich Tape Editor and COrrector, später Text Editor and COrrector) ist ein Texteditor für Rechner der Firma DEC. Entwickelt wurde TECO 1962/63 von Daniel L. Murphy[1] für die PDP-1 am MIT. Ursprünglich wurde TECO dazu benutzt, Lochstreifen zu bearbeiten.
Versionen von TECO gab es für sämtliche PDP-Rechner, auf der VAX unter VMS konnte TECO dank der vorhandenen PDP-11-Emulation ebenfalls eingesetzt werden. TECO ist immer noch Bestandteil der von Hewlett Packard Enterprise vertriebenen aktuellen OpenVMS-Version.[2]
Die Arbeit mit TECO ist sehr kryptisch, da es darauf optimiert war, mit möglichst wenig Tastenschlägen den Editor zu steuern oder mächtige Makros zu erstellen. Wie der Name andeutet, sind eine Vielzahl von TECO-Kommandos von gängigen Arbeitsschritten einer Zeit abgeleitet, als Programmierung noch mit Hilfe von Schere, Klebeband und Lochkarten praktiziert wurde.
TECO ist der Vorgänger von Emacs, das in seinen Anfängen eine Sammlung von TECO-Makros war, die es ermöglichten, Texte in einem Vollbildmodus mit sofortiger Ansicht der Änderungen zu bearbeiten. Ab 1986 existierte mit Video TECO eine solche grafische Version von TECO selbst;[3] dieser Modus fand sich auch in späteren Nachahmungen von TECO wieder.
TECO als Programmiersprache
TECO ist mit seinen Makrofunktionen eine vollständige Programmiersprache. Alan Kotok hat während seines Studiums einen Lisp-Interpreter in TECO geschrieben. Ein wesentliches Element für die Programmierfunktion sind die Q-Register, 36 Speicher (benannt 0–9 und A–Z), die sowohl Text als auch Zahlenwerte aufnehmen können. Enthält ein Q-Register Text, so kann dieser Text weiterverarbeitet, ausgegeben oder – falls es sich um eine gültige TECO-Befehlssequenz handelt – auch ausgeführt werden. Es ist daher in TECO möglich, Programmteile während des Laufs erst zu generieren und dann auszuführen.
Ein Trivialbeispiel eines TECO-Programms (Summation der Zahlen von 1 bis 100) lautet 0uA0uB100<%A+qBuB$>qB=$$. Das hier vorkommende Zeichen $ ist die TECO-Darstellung der Escape-Taste, an dieser Stelle ist also Esc einzugeben; Esc trennt Kommandos (falls nötig) und beendet Texteingaben, EscEsc führt die Befehlskette aus.
Moderne Implementierungen
TECO ist noch heute auf den verschiedenen simulierten PDP-Rechnern lauffähig, die im Rahmen des Projektes SIMH zur Simulation historischer Computer zur Verfügung stehen. Außerdem gibt es spätere Implementierungen für verschiedene andere Betriebssysteme, darunter Microsoft Windows, Linux und macOS.[4][5]
Einzelnachweise
- Daniel L. Murphys Homepage (englisch)
- TECO in der HP-OpenVMS-Systemdokumentation (Memento des Originals vom 13. Juni 2011 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. , abgerufen am 18. Dezember 2009
- TECO Manual V4. Abgerufen am 8. Oktober 2018 (englisch).
- Tom Almy: Übersichtsseite über verschiedene TECO-Versionen. Abgerufen am 8. Oktober 2018 (englisch).
- https://github.com/fpjohnston/TECO-64