STET (text editor)

Last updated

The STET text editor (the 'STructured Editing Tool') may have been the first folding editor; its first version was written in 1977 by Mike Cowlishaw. The editor runs on the IBM VM/CMS operating system.

Contents

STET was written to explore an approach to text editing that followed the principles of Structured programming. It allows programs and documentation to be written 'top-down', with blocks of code or text kept to a limited size (usually less than a page).

This was "a first attempt to take the structure out of the domain of languages, and into the domain of editors. In addition to conventional editing facilities, STET gives the user a third dimension: a tree structure that may be traversed using Program Function Keys much as scrolling is normally implemented" [1]

Principles

The editor, like many text editors, is a full-screen editor; a window into the file being edited is displayed and the lines displayed can be edited directly on-screen by insertions, deletions, or overtyping. Editing is also effected by pressing programmable action keys or by typing in commands. Commands are either 'top-line commands' (entered in a command entry area on the top line of the screen) or 'line commands' (entered in a 4-character command entry field adjacent to each displayed line of text).

Top-line commands generally apply to the entire file being edited, and include the usual operations such as saving, searching, replacing, movement around the file, and so on (over 60 in all).

The STET editor, showing a group of lines about to be formed into a block STET-editor-make-block.jpg
The STET editor, showing a group of lines about to be formed into a block

Line commands apply to a single line or a number of lines, and allow copying, moving, overlaying, merging, uppercasing and the like. An innovation in STET is the ability to mark a group of lines using the < line command to mark the first and last lines of a group. The group of lines can then be manipulated as a whole; they can be copied, merged, etc., and also make possible the 'structured editing commands' which provide the folding capabilities of the editor.

Structured editing commands

The structured editing facilities of STET are based on the concept that each file is represented as a collection of named blocks of lines. A block is created from an (anonymous) marked group of lines by the command (for example) 'form commands'. This command creates the block with name 'COMMANDS' and replaces the group of lines with a single line with a reference to COMMANDS, identified by its first non-blank character being some special character, by default ')'. This feature makes it easy to create a structured file from a flat file.

The STET editor, showing file structure map after forming the COMMANDS block STET-editor-structure.jpg
The STET editor, showing file structure map after forming the COMMANDS block

The block reference concept is very similar to the idea of links in a Wikipedia file, and indeed in STET a block can also be created by putting a new reference on a line and then 'entering' that reference to edit the block.

The structured editing commands also allow the user to see a map of the tree structure of the file, list the blocks alphabetically, and navigate the structure of the file. Navigation upwards and downwards or to a named block is possible, along with 'go to next block at this level' (that is, go up a level, find the next block reference at that level, and then go down a level). Other commands allow blocks to be renamed, expanded, etc., and also allow a flat file to be built from all or part of the structured file.

Other

The editor is written in PL/I except for the 3270 screen interface which is written in Assembler. STET was written and maintained by Mike Cowlishaw from 1976 to 1979 and then taken over by Steve Davies, who continued to enhance and maintain it through the 1980s. Many of the features in STET were used in later IBM text editors, including XEDIT and LEXX. [2]

Limitations

All files that can be edited are limited to a maximum of 32,767 characters wide (line length) and each block is limited to a maximum of 32,767 lines. An unstructured 'flat file' is edited as a single block.

A structured file is stored on disk in a special format which allows efficient loading and navigation of the blocks in the file. This allows each file to also store useful meta-information (such as statistics of action key usage, total edit time, etc.), but has the disadvantage that a flat file has to be 'built' from the structured file before (for example) it can be processed by a compiler or word-processing utility.

Related Research Articles

<span class="mw-page-title-main">GW-BASIC</span> Dialect of the BASIC programming language

GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the original IBM PC. It was bundled with MS-DOS operating systems on IBM PC compatibles by Microsoft.

<span class="mw-page-title-main">Text editor</span> Computer software used to edit plain text documents

A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

<span class="mw-page-title-main">WordStar</span> Word processor application

WordStar is a word processor application for microcomputers. It was published by MicroPro International and originally written for the CP/M-80 operating system, and later written also for MS-DOS and other 16-bit PC OSes. Rob Barnaby was the sole author of the early versions of the program. Starting with WordStar 4.0, the program was built on new code written principally by Peter Mierau. WordStar dominated the market in the early and mid-1980s, succeeding the market leader Electric Pencil.

<span class="mw-page-title-main">Terminal emulator</span> Program that emulates a video terminal

A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface is often called a terminal window.

In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a screen editor, the user interface of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including SPF/PC.

<span class="mw-page-title-main">Computer terminal</span> Computer input/output device for users

A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and predated the use of a computer screen by decades.

<span class="mw-page-title-main">Syntax highlighting</span> Tool of editors for programming, scripting, and markup

Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. This feature is also employed in many programming related contexts, either in the form of colorful books or online websites to make understanding code snippets easier for readers. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.

Adabas, a contraction of “adaptable database system," is a database package that was developed by Software AG to run on IBM mainframes. It was launched in 1971 as a non-relational database. As of 2019, Adabas is marketed for use on a wider range of platforms, including Linux, Unix, and Windows.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of modern conventional graphical user interfaces (GUIs). Like GUIs, they may use the entire screen area and accept mouse and other inputs. They may also use color and often structure the display using special graphical characters such as ┌ and ╣, referred to in Unicode as the "box drawing" set. The modern context of use is usually a terminal emulator.

<span class="mw-page-title-main">Mike Cowlishaw</span>

Mike Cowlishaw is a visiting professor at the Department of Computer Science at the University of Warwick, and a Fellow of the Royal Academy of Engineering. He is a retired IBM Fellow, and was a Fellow of the Institute of Engineering and Technology, and the British Computer Society. He was educated at Monkton Combe School and the University of Birmingham.

<span class="mw-page-title-main">Code folding</span> Tool of editors for programming, scripting and markup

Code or text folding, or less commonly holophrasting, is a feature of some graphical user interfaces that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text while viewing only those subsections that are currently of interest. It is typically used with documents which have a natural tree structure consisting of nested elements. Other names for these features include expand and collapse, code hiding, and outlining. In Microsoft Word, the feature is called "collapsible outlining".

<span class="mw-page-title-main">XEDIT</span>

XEDIT is a visual editor for VM/CMS using block mode IBM 3270 terminals.

<span class="mw-page-title-main">Source-code editor</span> Text editor specializing in software code

A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. Source-code editors are a fundamental programming tool, as the fundamental job of programmers is to write and edit source code.

more (command) Terminal pager available on various operating systems

In computing, more is a command to view the contents of a text file one screen at a time. It is available on Unix and Unix-like systems, DOS, Digital Research FlexOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows and ReactOS. Programs of this sort are called pagers. more is a very basic pager, originally allowing only forward navigation through a file, though newer implementations do allow for limited backward movement.

CANDE is a command line shell and text editor on the MCP operating system which runs on the Unisys Clearpath series of mainframes. Originally implemented on Burroughs large systems, it has a range of features for interacting with the operating system execution environment, focused on executing, editing and compiling programs, and creating, copying, moving, renaming, and deleting files in general.

<span class="mw-page-title-main">System Support Program</span> Operating system for IBM minicomputers

System Support Program (SSP) was the operating system of the IBM System/34 and System/36 minicomputers. SSP was a command-based operating system released in 1977. SSP originally contained 60 or so commands that were implemented on the System/34 from 1977 to 1983 in different versions called releases.

ORVYL is a time-sharing monitor developed by Stanford University for IBM System/360 and System/370 computers in 1967–68. ORVYL was one of the first time-sharing systems to be made available for IBM computers. Wylbur is a text editor and word processor program designed to work either without ORVYL, or in conjunction with ORVYL.

<span class="mw-page-title-main">LEXX (text editor)</span>

LEXX is a text editor which was possibly the first to use live parsing and colour syntax highlighting. It was written by Mike Cowlishaw of IBM in 1985. The name was chosen because he wrote it as a tool for lexicographers, during an assignment for Oxford University Press's 'New Oxford English Dictionary'. The program ran on mainframes under VM/CMS. LEXX's design was based on several other editors written by the same author augmented by the ability to dynamically parse text and display colour on the new colour terminals that had recently become available. It was programmable using dynamically-loaded compiled commands or using interpreted commands.

<span class="mw-page-title-main">Command-line interface</span> Computer interface that uses text

A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and providing information to them as to what actions they are to perform. In some cases the invocation is conditional based on conditions established by the user or previous executables. Such access was first provided by computer terminals starting in the mid-1960s. This provided an interactive environment not available with punched cards or other input methods.

The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 in 1981. IBM released four different versions of the Microsoft BASIC interpreter, licensed from Microsoft for the PC and PCjr. They are known as Cassette BASIC, Disk BASIC, Advanced BASIC (BASICA), and Cartridge BASIC. Versions of Disk BASIC and Advanced BASIC were included with IBM PC DOS up to PC DOS 4. In addition to the features of an ANSI standard BASIC, the IBM versions offered support for the graphics and sound hardware of the IBM PC line. Source code could be typed in with a full-screen editor, and very limited facilities were provided for rudimentary program debugging. IBM also released a version of the Microsoft BASIC compiler for the PC, concurrently with the release of PC DOS 1.10 in 1982.

References

  1. STET A STructured Editing Tool Version 2, Davies, S. and Cowlishaw, M. F., IBM UK Scientific Centre, 30pp, 28th Dec 1980.
  2. LEXX A programmable structured editor, Cowlishaw, M. F., IBM Journal of Research and Development, Vol 31, No. 1, 1987, IBM Reprint order number G322-0151