Information about Text Editor And Corrector
TECO (pronounced /tee'koh/; originally an acronym for [paper] Tape Editor and COrrector, but later Text Editor and COrrector) is a text editor originally developed at the Massachusetts Institute of Technology (MIT) in the 1960s, after which it was modified by 'just about everybody'. With all the dialects included, TECO may have been the most prolific editor in use before the vi editor (later included with the UNIX operating system), and before the Emacs editor, to which TECO was directly ancestral ('Emacs' originally stood for Editing MACroS running on TECO).
Richard Stallman's now famous Emacs editor was originally implemented in TECO. (Later versions of Emacs, first Multics Emacs and then GNU Emacs, were implemented in Lisp and Emacs Lisp.) TECO became well-known following a Digital Equipment Corporation (DEC) PDP-6 minicomputer implementation developed at MIT's Project MAC in 1964. This implementation continuously displayed the edited text visually on a CRT screen, and was used as an interactive online editor. (This was, however, neither its origin nor its originally intended mode of use.) Later versions of TECO were capable of driving full-screen mode on various DEC RS232 video terminals.
TECO was available for several operating systems and computers, including the PDP-1 computer, the Incompatible Timesharing System (ITS) on the PDP-6 and PDP-10 minicomputers, and TOPS-10 and TOPS-20 on the PDP-10. A version of TECO was provided with all DEC operating systems; the version available for RT11 was able to drive the GT40 graphics display while the version available for RSTS/E was actually implemented as a multi-user run-time system and could be used as the user's complete operating environment; the user never actually had to exit TECO. Hewlett-Packard, having bought Compaq (who bought Digital Equipment Corporation), still provides TECO with the VMS operating system.
A descendant of the version DEC distributed for the PDP-10 is still available on the Internet, along with several partial implementations for the MS-DOS/Microsoft Windows environment.
An early editor for the PDP-1 was (officially!) named "Expensive Typewriter." Written by Stephen D. Piner, it was the most rudimentary imaginable line-oriented editor, lacking even search-and-replace capabilities. Its name was chosen as a wry poke at an earlier, rather bloated, editor called "Colossal Typewriter". Even in those days, on-line editing could save time in the debugging cycle. Another program written by the PDP-1 hackers was Expensive Desk Calculator, in a similar vein.
The original stated purpose of TECO was to make more efficient use of the PDP-1. As envisioned in the manual, rather than performing editing "expensively" by sitting at a console, one would simply examine the faulty text and prepare a "correction tape" describing the editing operations to be performed on the text. One would efficiently feed the source tape and the correction tape into the PDP-1 via its high-speed (200 characters per second) reader. Running TECO, it immediately would punch an edited tape with its high-speed (60 characters per second) punch. One could then immediately proceed to load and run the assembler, with no time wasted in online editing.
TECO's then-sophisticated searching operations were motivated by the fact that the offline Flexowriter printouts were not line-numbered; therefore editing locations needed to be specified by context rather than by line number. The various looping and conditional constructs (which made TECO Turing-complete) were included in order to provide sufficient descriptive power for the correction tape. The terse syntax minimized the number of keystrokes needed to prepare the correction tape.
The correction tape was, in fact a program, and required debugging just like any other program. The pitfalls of even the simplest global search-and-replace soon became evident. In practice, TECO editing was performed online just as it had been with Expensive Typewriter (although TECO was certainly a more feature-complete editor than Expensive Typewriter, so editing was much more efficient with TECO). The original PDP-1 version had no screen display. The only way to observe the state of the text during the editing process was to type in commands that would cause the text (or portions thereof) to be typed out on the console typewriter.
By 1964, TECO had been implemented on the PDP-6. That version supported visual editing, i.e., used a screen display that shows the contents of the editing buffer in real time, updating as it changes.[2][3]
int main(int argc, char **argv) { printf("Hello world!\n"); return 0; }
and you wanted to change it to say "Goodbye" instead of "Hello". You might use a TECO session like this, noting that the prompt is "*" and "$" is how ESC is echoed:
Despite the odd syntax, the teco command language was tremendously powerful, and clones are still available for MS-DOS and for Unix.
Teco commands are characters (including control-characters), and the prompt is a single star: The escape key pressed twice terminated commands, and displayed as a dollar sign:
The next example is a Brainfuck interpreter for TECO. It works by executing the buffer as a Brainfuck program, and demonstrates the capabilities of the editor.
..... Click the link for more information.
Description and impact
TECO, noted for its complex syntax, can be considered a general-purpose, interpreted programming language targeted for text manipulation. Its great power was the ability to construct complex macros using matching criteria that rival the regular expressions in common use today. Almost every character is a command—a one- or two-character sequence replaces the usual keywords of more verbose languages—thus any character string is a TECO program, although not necessarily a useful one. One common game was to imagine editing a file using TECO and typing your name, and then to try to work out what would happen.Richard Stallman's now famous Emacs editor was originally implemented in TECO. (Later versions of Emacs, first Multics Emacs and then GNU Emacs, were implemented in Lisp and Emacs Lisp.) TECO became well-known following a Digital Equipment Corporation (DEC) PDP-6 minicomputer implementation developed at MIT's Project MAC in 1964. This implementation continuously displayed the edited text visually on a CRT screen, and was used as an interactive online editor. (This was, however, neither its origin nor its originally intended mode of use.) Later versions of TECO were capable of driving full-screen mode on various DEC RS232 video terminals.
TECO was available for several operating systems and computers, including the PDP-1 computer, the Incompatible Timesharing System (ITS) on the PDP-6 and PDP-10 minicomputers, and TOPS-10 and TOPS-20 on the PDP-10. A version of TECO was provided with all DEC operating systems; the version available for RT11 was able to drive the GT40 graphics display while the version available for RSTS/E was actually implemented as a multi-user run-time system and could be used as the user's complete operating environment; the user never actually had to exit TECO. Hewlett-Packard, having bought Compaq (who bought Digital Equipment Corporation), still provides TECO with the VMS operating system.
A descendant of the version DEC distributed for the PDP-10 is still available on the Internet, along with several partial implementations for the MS-DOS/Microsoft Windows environment.
History
TECO was originally developed at MIT[1] circa 1963 by Daniel L. Murphy for use on two PDP-1 computers, belonging to different departments, both housed in DEC's Building 26. On these machines, the normal development process involved the use of a Friden Flexowriter to prepare source code offline on a continuous strip of punched paper tape. Programmers of the big IBM mainframes customarily punched their source code on cards, using key punches which printed human-readable dot-matrix characters along the top of every card at the same time as they punched each machine-readable character. Thus IBM programmers could read, insert, delete, and move lines of code by physically manipulating the cards in the deck. Punched paper tape offered no such amenities, and necessity was the mother of online editing.An early editor for the PDP-1 was (officially!) named "Expensive Typewriter." Written by Stephen D. Piner, it was the most rudimentary imaginable line-oriented editor, lacking even search-and-replace capabilities. Its name was chosen as a wry poke at an earlier, rather bloated, editor called "Colossal Typewriter". Even in those days, on-line editing could save time in the debugging cycle. Another program written by the PDP-1 hackers was Expensive Desk Calculator, in a similar vein.
The original stated purpose of TECO was to make more efficient use of the PDP-1. As envisioned in the manual, rather than performing editing "expensively" by sitting at a console, one would simply examine the faulty text and prepare a "correction tape" describing the editing operations to be performed on the text. One would efficiently feed the source tape and the correction tape into the PDP-1 via its high-speed (200 characters per second) reader. Running TECO, it immediately would punch an edited tape with its high-speed (60 characters per second) punch. One could then immediately proceed to load and run the assembler, with no time wasted in online editing.
TECO's then-sophisticated searching operations were motivated by the fact that the offline Flexowriter printouts were not line-numbered; therefore editing locations needed to be specified by context rather than by line number. The various looping and conditional constructs (which made TECO Turing-complete) were included in order to provide sufficient descriptive power for the correction tape. The terse syntax minimized the number of keystrokes needed to prepare the correction tape.
The correction tape was, in fact a program, and required debugging just like any other program. The pitfalls of even the simplest global search-and-replace soon became evident. In practice, TECO editing was performed online just as it had been with Expensive Typewriter (although TECO was certainly a more feature-complete editor than Expensive Typewriter, so editing was much more efficient with TECO). The original PDP-1 version had no screen display. The only way to observe the state of the text during the editing process was to type in commands that would cause the text (or portions thereof) to be typed out on the console typewriter.
By 1964, TECO had been implemented on the PDP-6. That version supported visual editing, i.e., used a screen display that shows the contents of the editing buffer in real time, updating as it changes.[2][3]
Example TECO session
Suppose that you had a file named hello.c with the following contents:int main(int argc, char **argv) { printf("Hello world!\n"); return 0; }
and you wanted to change it to say "Goodbye" instead of "Hello". You might use a TECO session like this, noting that the prompt is "*" and "$" is how ESC is echoed:
>
*EBhello.c$$ Open file for read/write with backup
*P$$ Read in the first page
*SHello$0TT$$ Search for "Hello" and print the line
printf("Hello world!\n"); The line
*-5DIGoodbye$0TT$$ Delete "Hello", insert "Goodbye", and print the line
printf("Goodbye world!\n"); The updated line
*EX$$ Copy the remainder of the file and exit
Example TECO code
| Code sample | Explanation |
|---|---|
| ER file $ | open file for read access |
| [q ... ]q | push ... pop register Q (can hold number, text, or code) |
| < code > | iteration; there are codes for next, break, continue, etc. |
| n"X then-code | else-code' | if-then-else (X is a test type) |
The TECO programming language
The obscurity of the TECO programming language is well-described in the following quote from Real Programmers Don't Use PASCAL, a letter from Ed Post to Datamation, July 1983, pp. 263-265:"It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse -- introduce subtle and mysterious bugs in a once working subroutine."
Despite the odd syntax, the teco command language was tremendously powerful, and clones are still available for MS-DOS and for Unix.
Teco commands are characters (including control-characters), and the prompt is a single star: The escape key pressed twice terminated commands, and displayed as a dollar sign:
- $$
Example TECO programs
The first two examples are a simple interchange sort of the current text buffer, based on the 1st character of each line, taken from the PDP-11 TECO User's Guide. A "goto" and "structured" version are shown. Note that TECO ignores case and whitespace (except tab, which is an insertion command).Example 1
!START! j 0aua ! jump to beginning, load 1st char in register A ! !CONT! l 0aub ! load first char of next line in register B ! qa-qb"g xa k -l ga 1uz ' ! if A>B, switch lines and set flag in register Z ! qbua ! load B into A ! l z-."g -l @o/CONT/ ' ! loop back if another line in buffer ! qz"g 0uz @o/START/ ' ! repeat if a switch was made on last pass !Example 2
0uz ! clear repeat flag ! <j 0aua l ! load 1st char into register A ! <0aub ! load 1st char of next line into B ! qa-qb"g xa k -l ga -1uz ' ! if A>B, switch lines and set flag ! qbua ! load B into A ! l .-z;> ! loop back if another line in buffer ! qz;> ! repeat if a switch was made last pass !The next example is a Brainfuck interpreter for TECO. It works by executing the buffer as a Brainfuck program, and demonstrates the capabilities of the editor.
Example 3
@^UB#@S/{^EQQ,/#@^UC#@S/,^EQQ}/@-1S/{/#@^UR#.U1ZJQZ\^SC.,.+-^SXQ-^SDQ1J#@^U9/[]-+<>.,/<@:-FD/^N^EG9/;>J30000<0@I//>ZJZUL30000J0U10U20U30U60U7@^U4/[]/@^U5#<@:S/^EG4/U7Q7; -AU3(Q3-91)"=%1|Q1"=.U6ZJ@i/{/Q2\@i/,/Q6\@i/}/Q6J0;'-1%1'>#<@:S/[/UT.U210^T13^TQT;QT"NM5Q2J'>0UP30000J.US.UI<(0A-43)"=QPJ0AUTDQT+1@I//QIJ@O/end/'(0A-45)"=QPJ0AUTDQT-1@I/ /QIJ@O/end/'(0A-60)"=QP-1UP@O/end/'(0A-62)"=QP+1UP@O/end/'(0A-46)"=-.+QPA^T(-.+QPA-10)"=13^T'@O/end/'(0A-44)"=^TUT8^TQPJDQT@I//QIJ@O/end/'(0A-91)"=-.+QPA"=QI+1UZQLJMRMB -1J.UI'@O/end/'(0A-93)"=-.+QPA"NQI+1UZQLJMRMC\-1J.UI'@O/end/'!end!QI+1UI(.-Z)"=.=@^a/END/^c^c'C>TECO trivia
- Most DEC command languages interpreted the "MAKE filename" command as a command to start TECO and create the named filename. Many (most?) TECOs would respond to "MAKE LOVE" with the message "Not war?". At some TECO installation sites, the resulting file "LOVE" was considered a good-luck charm and was thus accorded heavy file protection (e.g., <777> under TOPS-10), never to be deleted.
- TECO could be considered to be one of the first "write-only" languages. That is, it could be argued that once a program is written in TECO, it would be extremely difficult to comprehend what it did without appropriate documentation.
- TECO's command line macro utility was called MUNG, which would execute the specified TECO program/macro on the specified input file. MUNG itself was one of the first recursive acronyms, standing for "MUNG Until No Good".
- When the VAX was introduced, DEC announced a more "user friendly" screen editor EDT to replace TECO. When users complained about the lack of support for their favorite editor, they were told "TECO is not an editor, it's a programming language!"
- One of the common sayings among exasperated TECO geeks was that it actually stood for Type Everything Completely Over.
See also
References
1. ^ (no author shown). "Summary of TECO commands" (text). From a collection of MIT PDP-1 paper tapes at the Computer History Museum. . Retrieved on 2007-09-12.
2. ^ Edwards, Daniel J. (October 29, 1964). "TECO 6" (HTML). Memorandum MAC-M-191. Retrieved on 2007-09-12.
3. ^ Samson, Peter. "PDP-6 TECO" (PDF). Memorandum MAC-M-250. Retrieved on 2007-09-12.
2. ^ Edwards, Daniel J. (October 29, 1964). "TECO 6" (HTML). Memorandum MAC-M-191. Retrieved on 2007-09-12.
3. ^ Samson, Peter. "PDP-6 TECO" (PDF). Memorandum MAC-M-250. Retrieved on 2007-09-12.
- (1978) TECO pocket guide. Digital Equipment Corporation, 17 pp.. Retrieved on 2007-09-12.
External links
- Dan Murphy's personal site
- Pete Siemsen's TECO collection
- Tom Almy's TECO page. Includes a TECO based on Pete Siemsen's TECOC and DECUS documentation. There are MS-DOS, Windows (console), Linux, Mac OS X, and OS/2 versions.
- Introduction to the TECO syntax
- TECO Information
text editor is a type of program used for editing plain text files.
Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code.
..... Click the link for more information.
Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code.
Plain text files vs.
..... Click the link for more information.
Massachusetts Institute of Technology (MIT) is a private, coeducational research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing 32 academic departments,[3]
..... Click the link for more information.
..... Click the link for more information.
VI is the Roman numeral for the number six. VI may also refer to:
Places:
..... Click the link for more information.
Places:
- Vancouver Island, British Columbia, Canada
- British Virgin Islands (FIPS country code: VI), a British territory in the Caribbean
- U.S.
..... Click the link for more information.
Unix (officially trademarked as UNIX®) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy.
..... Click the link for more information.
..... Click the link for more information.
Maintainer: GNU Project
OS: Cross-platform
Available language(s): English only
Use: Text editor
License: GNU General Public License
Website: www.gnu.
..... Click the link for more information.
OS: Cross-platform
Available language(s): English only
Use: Text editor
License: GNU General Public License
Website: www.gnu.
..... Click the link for more information.
In computer science, SYNTAX is a system used to generate lexical and syntactic analyzers (parsers) (both deterministic and non-deterministic) for all kind of context-free grammars
..... Click the link for more information.
..... Click the link for more information.
In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language. Interpretation is one of the two major ways in which a programming language can be implemented, the other being compilation.
..... Click the link for more information.
..... Click the link for more information.
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
..... Click the link for more information.
In computing, a regular expression is a string that is used to describe or match a set of strings, according to certain syntax rules.
Regular expressions are used by many text editors, utilities, and programming languages to search and manipulate text based on patterns.
..... Click the link for more information.
Regular expressions are used by many text editors, utilities, and programming languages to search and manipulate text based on patterns.
..... Click the link for more information.
Richard Matthew Stallman (born March 16, 1953), often abbreviated "rms",[1] is a software freedom activist, hacker,[2] and software developer. In September 1983, he launched the GNU Project[3]
..... Click the link for more information.
..... Click the link for more information.
Maintainer: GNU Project
OS: Cross-platform
Available language(s): English only
Use: Text editor
License: GNU General Public License
Website: www.gnu.
..... Click the link for more information.
OS: Cross-platform
Available language(s): English only
Use: Text editor
License: GNU General Public License
Website: www.gnu.
..... Click the link for more information.
Multics (Multiplexed Information and Computing Service) was an extraordinarily influential early time-sharing operating system. The project was started in 1964. The last running Multics installation was shut down on October 31, 2000.
..... Click the link for more information.
..... Click the link for more information.
GNU (pronounced ) is a computer operating system composed entirely of free software.
..... Click the link for more information.
..... Click the link for more information.
Lisp
Paradigm: multi-paradigm: functional, procedural, reflective
Appeared in: 1958
Designed by: John McCarthy
Developer: Steve Russell, Timothy P. Hart, and Mike Levin
Typing discipline: dynamic, strong
Dialects: Common Lisp, Scheme, Emacs Lisp
..... Click the link for more information.
Paradigm: multi-paradigm: functional, procedural, reflective
Appeared in: 1958
Designed by: John McCarthy
Developer: Steve Russell, Timothy P. Hart, and Mike Levin
Typing discipline: dynamic, strong
Dialects: Common Lisp, Scheme, Emacs Lisp
..... Click the link for more information.
Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors (which will be collectively referred to as Emacs in this article.) It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C.
..... Click the link for more information.
..... Click the link for more information.
Digital Equipment Corporation was a pioneering American company in the computer industry. It is often referred to within the computing industry as DEC. (This acronym was frequently officially used by Digital itself,[1] but the official name was always DIGITAL.
..... Click the link for more information.
..... Click the link for more information.
The PDP-6 (Programmed Data Processor-6) was a computer model developed by Digital Equipment Corporation (DEC) in 1963. It was influential primarily as the prototype (effectively) for the later PDP-10; the instruction sets of the two machines are
..... Click the link for more information.
..... Click the link for more information.
Project MAC, later the MIT Laboratory for Computer Science (LCS), was a research laboratory at MIT. Project MAC would become famous for groundbreaking research in operating systems, artificial intelligence, and the theory of computation.
..... Click the link for more information.
..... Click the link for more information.
1. Electron guns 2. Electron beams 3. Focusing coils 4. Deflection coils 5. Anode connection 6. Mask for separating beams for red, green, and blue part of displayed image 7.
..... Click the link for more information.
..... Click the link for more information.
In telecommunications, RS-232 (Recommended Standard 232) is a standard for serial binary data signals connecting between a DTE (Data terminal equipment) and a DCE (Data Circuit-terminating Equipment). It is commonly used in computer serial ports.
..... Click the link for more information.
..... Click the link for more information.
PDP-1 (Programmed Data Processor-1) was the first computer in Digital Equipment Corporation's PDP series and was first produced in 1960. It is famous for being the computer most important in the creation of hacker culture, at MIT, BBN and
..... Click the link for more information.
..... Click the link for more information.
ITS, the Incompatible Timesharing System (named in comparison with the Compatible Time-Sharing System also in use at MIT), was an early, revolutionary, and influential MIT time-sharing operating system which was written in assembly; it was developed principally by the
..... Click the link for more information.
..... Click the link for more information.
The PDP-10 was a computer manufactured by Digital Equipment Corporation (DEC) from the late 1960s on; the name stands for "Programmed Data Processor model 10". It was the machine that made time-sharing common; it looms large in hacker folklore because of its adoption in the 1970s
..... Click the link for more information.
..... Click the link for more information.
General comments about TOPS-10
The TOPS-10 System was a computer operating system from Digital Equipment Corporation (DEC) for the PDP-10 released in 1964, the resulting systems being referred to as "DECsystem-10"[1]...... Click the link for more information.
The TOPS-20 operating system by DEC was the second proprietary OS for the PDP-10. It was preferred by most PDP-10 hackers over TOPS-10 (at least by those who were not ITS or WAITS partisans).
..... Click the link for more information.
..... Click the link for more information.
The PDP-10 was a computer manufactured by Digital Equipment Corporation (DEC) from the late 1960s on; the name stands for "Programmed Data Processor model 10". It was the machine that made time-sharing common; it looms large in hacker folklore because of its adoption in the 1970s
..... Click the link for more information.
..... Click the link for more information.
RSTS/E (an acronym for Resource Sharing Timesharing System Extended) was a multi-user time-shared operating system developed by Digital Equipment Corporation ("DEC") (now part of Hewlett Packard) for the PDP-11 series of 16-bit minicomputers, and used primarily during the
..... Click the link for more information.
..... Click the link for more information.
In computer science, the runtime system is software that provides services for a running program but is itself not considered to be part of the operating system.
Examples include:
..... Click the link for more information.
Examples include:
- the code that is generated by the compiler to manage the runtime stack.
..... Click the link for more information.
Hewlett-Packard Co.
Public (NYSE: HPQ )
Founded Palo Alto, California (1939)
Headquarters Palo Alto, California, USA
Key people Bill Hewlett, Co-founder
David Packard, Co-founder
Mark V.
..... Click the link for more information.
Public (NYSE: HPQ )
Founded Palo Alto, California (1939)
Headquarters Palo Alto, California, USA
Key people Bill Hewlett, Co-founder
David Packard, Co-founder
Mark V.
..... Click the link for more information.
Compaq Computer Corporation was an American personal computer company founded in 1982, and is now a brand name of Hewlett-Packard.
The company was formed by Rod Canion, Jim Harris and Bill Murto — former Texas Instruments senior managers.
..... Click the link for more information.
The company was formed by Rod Canion, Jim Harris and Bill Murto — former Texas Instruments senior managers.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus