TECO (Texteditor)
# 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 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.

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; 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.

