TECO (Textaufbereiter)

TECO (ursprünglich bindet ein Akronym für [Papier] 'Redakteur und COrrector, aber später Textaufbereiter und COrrector) ist ein Textaufbereiter, der ursprünglich am Institut von Massachusetts für die Technologie (MIT) in den 1960er Jahren entwickelt ist, nach dem es durch "so etwa jeden" modifiziert wurde. TECO war ein direkter Vorfahr von Emacs, der in TECO Makros ursprünglich durchgeführt wurde.

Beschreibung und Einfluss

TECO ist nicht nur ein Redakteur, aber eine interpretierte Programmiersprache für die Textmanipulation. Willkürliche Programme (genannt 'Makros'), um Text zu suchen und zu modifizieren, geben ihm Große Macht. Verschieden von regelmäßigen Ausdrücken, jedoch, war die Sprache befehlend (obwohl einige Versionen 'oder' Maschinenbediener in der Schnur-Suche hatten).

TECO hat Syntax nicht wirklich; jeder Charakter in einem Programm ist ein befehlender Befehl, der zu seiner entsprechenden Routine entsandt ist. Diese Routine kann weitere Charaktere vom Programm-Strom (das Geben der Wirkung von Schnur-Argumenten) lesen, die Position des 'Programm-Schalters' (das Geben der Wirkung von Kontrollstrukturen) ändern, oder Werte auf einen Wertstapel (das Geben der Wirkung von verschachtelten Parenthesen) stoßen. Aber es gibt nichts, um Operationen wie das Springen in die Mitte einer Anmerkung zu verhindern, da es keine Syntax und keine Syntaxanalyse gibt.

Ein klassischer Aufsatz auf der Computerprogrammierung, Echte Programmierer Verwenden Pascal nicht, hat darauf hingewiesen, dass ein allgemeines Spiel für TECO Anhänger ihren Namen als eine Befehl-Folge eingeben, und dann versuchen sollte auszuarbeiten, was geschehen würde. Derselbe Aufsatz im Beschreiben von TECO hat das Akronym "YAFIYGI", Bedeutung ins Leben gerufen "von Ihnen haben Darum Gebeten Sie haben Es Bekommen" und so die Entgegenstellungen von WYSIWYG zu sein ("Was Sie Sehen, Ist, Was Sie" Bekommen).

Der jetzt berühmte Redakteur von Emacs von Richard Stallman wurde in TECO ursprünglich durchgeführt (später Versionen von Emacs, erstem Multics Emacs und dann GNU Emacs, wurden im Lispeln- und C/Emacs-Lispeln durchgeführt), beziehungsweise. TECO ist wohl bekannt folgend Digital Equipment Corporation (DEC) PDP-6 Großrechner-Durchführung geworden, die am Projekt-MAC von MIT 1964 entwickelt ist. Diese Durchführung hat unaufhörlich den editierten Text visuell auf einem Schirm CRT gezeigt, und wurde als ein interaktiver Online-Redakteur verwendet (das, war jedoch, weder sein Ursprung noch seine ursprünglich beabsichtigte Weise des Gebrauches). Spätere Versionen von TECO waren zum Fahren des Vollbildmodus auf dem verschiedenen DEZ RS232 Videoterminals fähig.

TECO war für mehrere Betriebssysteme und Computer, einschließlich des PDP-1 Computers, Incompatible Timesharing System (ITS) auf dem PDP-6 und dem PDP-10 Großrechner und den SPITZEN 10 und SPITZEN 20 auf dem PDP-10 verfügbar.

Eine Version von TECO wurde mit dem ganzen DEZ Betriebssysteme versorgt; die für RT11 verfügbare Version ist im Stande gewesen, die GT40 Grafikanzeige zu steuern, während die für RSTS/E verfügbare Version als ein Mehrbenutzerlaufzeitsystem durchgeführt wurde und als die ganze Betriebsumgebung des Benutzers verwendet werden konnte; der Benutzer musste nie wirklich über TECO herrschen. Der VTEDIT (der Unheilbar kranke Videoredakteur) Makro-TECO wurde auf RSTS/E und VAX Systemen mit zur Kontrolle des direkten Cursors fähigen Terminals allgemein verwendet (z.B. VT52 und VT100), um einem vollen Schirm den Sehredakteur zur Verfügung zu stellen, der in der Funktion zu gleichzeitig entwickeltem Emacs ähnlich ist.

Hewlett Packard, Compaq gekauft (wer Digital Equipment Corporation gekauft hat), versorgt noch TECO mit OpenVMS Betriebssystem.

Ein Nachkomme des für den PDP-10 verteilten Versions-DEZ ist noch im Internet zusammen mit mehreren teilweisen Durchführungen für die MS-DOS/Microsoft Windows-Umgebung verfügbar.

Geschichte

TECO wurde an MIT um 1963 von Daniel L. Murphy für den Gebrauch auf zwei PDP-1 Computern ursprünglich entwickelt, verschiedenen Abteilungen, beide gehörend, die im Gebäude von MIT 26 aufgenommen sind. Auf diesen Maschinen ist der normale Entwicklungsprozess mit dem Gebrauch von Friden Flexowriter verbunden gewesen, um Quellcode offline auf einem dauernden Streifen des geschlagenen Lochstreifens vorzubereiten. Programmierer der großen Großrechner von IBM haben gewöhnlich ihrem Quellcode auf Karten mit Schlüsselschlägen geschlagen, die menschlich-lesbare Punktmatrixcharaktere entlang der Spitze jeder Karte zur gleichen Zeit gedruckt haben, als sie jedem maschinenlesbaren Charakter geschlagen haben. So konnten Programmierer von IBM lesen, einfügen, löschen, und Linien des Codes bewegen, indem sie die Karten im Deck physisch manipuliert haben. Geschlagener Lochstreifen hat keine solche Annehmlichkeiten angeboten, und Notwendigkeit war die Mutter des Online-Redigierens.

Ein früher Redakteur für den PDP-1 wurde "Teure Schreibmaschine" genannt. Geschrieben von Stephen D. Piner war es der rudimentärste vorstellbare linienorientierte Redakteur, an sogar suchen-und-ersetzen Fähigkeiten Mangel habend. Sein Name wurde gewählt, weil ein schiefer nach einem früheren, ziemlich aufgeblähtem stößt, hat Redakteur "Riesige Schreibmaschine" genannt. Sogar damals konnte Online-Redigieren Zeit im Beseitigen-Zyklus sparen. Ein anderes von den PDP-1 Hackern geschriebenes Programm war Teurer Arbeitsplatzrechner in einer ähnlichen Ader.

Der ursprüngliche festgesetzte Zweck von TECO war, effizienteren Gebrauch des PDP-1 zu machen. Wie vorgesehen, im Handbuch, anstatt das Redigieren "teuer" durchzuführen, indem man an einer Konsole sitzt, würde man einfach den fehlerhaften Text untersuchen und ein "Korrektur-Band" das Beschreiben der auf dem Text durchzuführenden Redigieren-Operationen vorbereiten. Man würde das Quellband und das Korrektur-Band in den PDP-1 über sein schnelllaufendes (200 Charaktere pro Sekunde) Leser effizient füttern. TECO führend, würde es sofort einem editierten Band mit seinem schnelllaufenden (60 Charaktere pro Sekunde) Schlag schlagen. Man konnte dann sofort fortfahren, den Monteur ohne im Online-Redigieren vergeudete Zeit zu laden und zu führen.

Die dann hoch entwickelten forschenden Operationen von TECO wurden durch die Tatsache motiviert, dass die Off-Lineausdrücke von Flexowriter nicht liniennumeriert wurden; deshalb musste das Redigieren von Positionen durch den Zusammenhang aber nicht durch die Linienzahl angegeben werden. Die verschiedenen sich schlingenden und bedingten Konstruktionen (der TECO Turing-abgeschlossen gemacht hat) wurden eingeschlossen, um genügend beschreibende Macht für das Korrektur-Band zur Verfügung zu stellen. Die knappe Syntax hat die Zahl von Anschlägen minimiert musste das Korrektur-Band vorbereiten.

Das Korrektur-Band war ein Programm, und hat das Beseitigen gerade wie jedes andere Programm verlangt. Die Fallen sogar des einfachsten globalen suchen-und-ersetzen sind bald offensichtlich geworden. In der Praxis wurde das TECO Redigieren online durchgeführt, wie es mit der Teuren Schreibmaschine gewesen war (obwohl TECO sicher ein mehr mit der Eigenschaft ganzer Redakteur war, als Teure Schreibmaschine, so editierend mit TECO viel effizienter war). Die ursprüngliche PDP-1 Version hatte keine Schirm-Anzeige. Die einzige Weise, den Staat des Textes während des Redigieren-Prozesses zu beobachten, sollte in Befehlen tippen, die den Text (oder Teile davon) veranlassen würden, auf der Konsole-Schreibmaschine getippt zu werden.

Vor 1964 war eine spezielle Version von TECO (TECO-6) auf dem PDP-6 an MIT durchgeführt worden. Diese Version hat das Sehredigieren unterstützt, d. h., hat eine Schirm-Anzeige verwendet, die den Inhalt des Redigieren-Puffers in Realtime zeigt, aktualisierend, als es sich ändert. Unter den Schöpfern von TECO-6 waren Richard Greenblatt und Stewart Nelson.

An MIT hat TECO Entwicklung im Fall 1971 weitergegangen. Carl Mikkelsen hatte einen schritthaltenden durchgeführt editieren Weise, die lose auf den TECO-6 grafischen Konsole-Befehlen gestützt ist, aber mit dem kürzlich installierten Datapoint-3300 CRT Textanzeigen arbeitend. Die TECO Pufferdurchführung war jedoch schrecklich ineffizient, um einzelnen Charakter-Einsatz zu bearbeiten, oder löschen Sie Funktionen — das Redigieren von verbrauchten 100 % des PDP-10. Mit der Unterstützung von Richard Greenblatt im Sommer 1972 hat Carl die TECO Pufferlagerung wiederdurchgeführt und hat die Makros als heimischer PDP-10-Code reformiert. So das Eingehen in die Echtzeitweise war durch das Schreiben <cntl>-R, das war bekannt wie Kontroll-R Weise. Zur gleichen Zeit hat Rici Liknaitski eingangsmalige Makros hinzugefügt (<cntl>-]), der funktioniert hat, weil wurde die Anweisungsfolge aber nicht wenn durchgeführt, gelesen. Lesen Sie malige Makros hat die TECO Hilfstextpuffer, genannt Q-Register, nützlicher gemacht. Carl hat den Q-Registerbezeichnungsraum ausgebreitet. Mit gelesenen maligen Makros, einem großen Q-Registerbezeichnungsraum und effizienten Pufferoperationen, wurde der Weg dafür bereitet, jeden Schlüssel zu einem Makro zu binden. Diese editieren in Emacs entwickelte Makros.

Beispiel-Sitzung

In Anbetracht einer Datei genannt hello.c mit dem folgenden Inhalt:

int Hauptsache (interne Nummer argc, Rotforelle ** argv)

{\

printf ("Hallo Welt! \n");

kehren Sie 0 zurück;

}\

man konnte die folgende TECO Sitzung verwenden (Anmerkung, dass das schnelle "*" ist und "$" ist, wie ESC zurückgeworfen wird), sich "Hallo" in "Auf Wiedersehen" zu ändern:

  • EBhello.c$-$ Offene Datei für das Lesen/Schreiben mit der Unterstützung
  • P$-$ Read in der ersten Seite
  • Die TT$-$-Suche von 0 SHello$ "Hallo" und Druck die Linie

printf ("Hallo Welt! \n"); die Linie

  • - Die TT$-$ von 0 5DIGoodbye$ Löschen "Hallo", fügen "Auf Wiedersehen" ein, und drucken die Linie

printf ("Auf Wiedersehen Welt! \n"); die aktualisierte Linie

  • EX$-$-Kopie der Rest der Datei und des Ausgangs

</pre>

Beispiel-Code

</tr>

</tr></tr></tr>

</Tisch>

Als eine Programmiersprache

Die Zweideutigkeit der TECO Programmiersprache wird im folgenden Zitat aus "Echten Programmierern gut beschrieben Verwenden PASCAL", ein Brief vom Hrsg.-Posten bis Datamation, Juli 1983 nicht:

Gemäß Craig Finseth, Autor Des Handwerks der Textbearbeitung, wie man betrachten konnte, war TECO eine der ersten Sprachen "des nur Schreibens". D. h. es konnte behauptet werden, dass sobald ein Programm in TECO geschrieben wird, würde es äußerst schwierig sein umzufassen, was es ohne passende Dokumentation ausgekommen ist.

Trotz der sonderbaren Syntax war die TECO-Befehl-Sprache schrecklich stark, und Klone sind noch für das MS-DOS und für Unix verfügbar.

TECO Befehle sind Charaktere (einschließlich Kontrollcharaktere), und das schnelle ist ein einzelnes Sternchen:

*

Der Flucht-Schlüssel zeigt als ein Dollarzeichen, gedrückt, sobald er das Ende eines Befehls skizziert, der verlangt, dass ein Argument und gedrückt zweimal die Ausführung des eingegangenen Befehls (E) beginnt:

* $ $\

Beispiel-Programme

Die ersten zwei Beispiele sind eine einfache Austausch-Sorte des aktuellen Textpuffers, der auf dem 1. Charakter jeder Linie gestützt ist, die vom PDP-11 TECO Benutzerhandbuch genommen ist. Ein "goto" und "strukturierte" Version werden gezeigt. Bemerken Sie, dass TECO Fall und whitespace ignoriert (außer dem Etikett, das ein Einfügungsbefehl ist).

Beispiel 1

! Fangen Sie AN! j 0aua! springen Sie zum Anfang, laden Sie 1. Rotforelle im Register A!

! CONT! l 0aub! laden Sie die erste Rotforelle der folgenden Linie im Register B!

qa-qb "g xa k-l ga 1uz '! wenn A> B, Linien und Satz-Fahne im Register Z schalten Sie!

qbua! laden Sie B in A!

l z-. "g-l @o/CONT/'! Schleife zurück wenn eine andere Linie im Puffer!

qz "g 0uz @o/START/'! wiederholen Sie sich, ob ein Schalter auf dem letzten Pass gemacht wurde!

Beispiel 2

0uz! klare mehrmalige Fahne!

qbua! laden Sie B in A!

l.-z;>! Schleife zurück wenn eine andere Linie im Puffer!

qz;>! wiederholen Sie sich, ob ein Schalter letzter Pass gemacht wurde!

Beispiel 3

Dieses Beispiel ist ein Dolmetscher von Brainfuck für TECO. Es arbeitet durch die Durchführung des Puffers als ein Programm von Brainfuck, und demonstriert die Fähigkeiten zum Redakteur.

@^UB#@S/ {^EQQ,/#@^UC#@S/,^EQQ}/-1s/{/#@^UR#.U1ZJQZ \^SC.,.+-^SXQ-^SDQ1J#@^U9/ [] - +

Beispiel 4

Dieses Beispiel berechnet Pi zu einer beliebigen Zahl von Ziffern.

GZ0J\UNQN "E 40UN 'BUH BUV HK

QN

QQ/10UT QH+QT+48UW QW-58 "E 48UW %V 'QV" N QV^T' QWUV QQ-(QT*10) UH>

QV^T ^A /

/HKEX$ $\

Siehe auch

  • Linienredakteur
  • Teure Schreibmaschine
  • Riesige Schreibmaschine
  • Dan Murphy, Die Anfänge von TECO (IEEE Annalen der Geschichte der Computerwissenschaft, Vol. 31, Nummer 4, Oktober-Dezember 2009)

Außenverbindungen


Source is a modification of the Wikipedia article TECO (text editor), licensed under CC-BY-SA. Full list of contributors here.
Reihe von Taylor / Topologischer Raum
Impressum & Datenschutz