SCRIPT (markup)
| Company type | Software |
|---|---|
| Industry | Computer software |
| Founded | 1968 |
| Founder | Stuart Madnick |
| Products | Text markup languages (SCRIPT family) |
| Owner | IBM |
SCRIPT refers to a family of text markup languages, beginning with Script for the Control Program-67/Cambridge Monitor System (CP-67/CMS), followed by Script/370 under the Virtual Machine Facility/370 (VM/370), and also utilized in the OS/VS2 Time Sharing Option (TSO). The latest iteration, known as SCRIPT/VS, is integrated into IBM's Document Composition Facility (DCF) designed for IBM z/VM and z/OS environments. SCRIPT was originally created for CP-67/CMS by Stuart Madnick at the MIT, as a successor to the earlier CTSS RUNOFF system.
As a procedural markup language, SCRIPT employs inline commands called control words. These are indicated by a period placed in the first column of a logical line and dictate how the text should be formatted. The earliest version of SCRIPT included a 2PASS feature allowing references to variables defined later in the document; subsequent versions expanded this capability to support multiple processing passes.
History
In 1968, IBM commissioned Stuart Madnick from MIT to create a straightforward document preparation tool for CP/67, inspired by MIT's CTSS RUNOFF. By 1974, William Dwyer at Yale had adapted this CP-67 version for OS/360's Time Sharing Option (TSO), naming it NSCRIPT. The University of Waterloo then enhanced NSCRIPT further into Waterloo SCRIPT, which was initially distributed free to CMS and TSO users before later releases became commercial.
By 1978, IBM’s Script/370 running on VM/CMS had evolved into the Document Composition Facility (DCF), which supported SCRIPT/VS across CMS, DOS/VS, OS/VS1, OS/VS2, and the IBM 3800 printer. Additionally, a version for PC DOS/MS-DOS named SCRIPT/PC was made available.
Native SCRIPT control words
SCRIPT control words begin with a period followed by a space before any parameters and typically start in column one; it is possible to include several control words on a single line separated by semicolons.
The table below presents selected control words used in DCF:
| Control word | Purpose | Example | Description |
|---|---|---|---|
.sp |
Inserts vertical blank space | <syntaxhighlight lang="groff" class="" style="" inline="1">.sp 1</syntaxhighlight> | Adds one empty line |
.ce |
Centers specified number of lines | <syntaxhighlight lang="groff" class="" style="" inline="1">.ce 2</syntaxhighlight> | Centers the following two lines within the page or column |
.ez |
Manages EasyScript paragraphs | <syntaxhighlight lang="groff" class="" style="" inline="1">.ez P foo bar</syntaxhighlight> | Begins paragraph containing text foo bar; equivalent to &P.foo bar following .ez on |
.im |
Inserts external file content | <syntaxhighlight lang="groff" class="" style="" inline="1">.im BLRPLT</syntaxhighlight> | Embeds file named 'BLRPLT SCRIPT' |
.ju |
Enables or disables justification | <syntaxhighlight lang="groff" class="" style="" inline="1">.ju on</syntaxhighlight> | Justifies lines until .ju off is encountered |
.rh |
Sets running header information | <syntaxhighlight lang="groff" class="" style="" inline="1">.rh</syntaxhighlight> | Defines running head until disabled by .rh off |
.df |
Declares a named font | <syntaxhighlight lang="groff" class="" style="" inline="1">.df examp type('Century Schoolbook' 10 light)</syntaxhighlight> | Specifies font attributes for font 'examp' |
.bf |
Selects font for subsequent text | <syntaxhighlight lang="groff" class="" style="" inline="1">.bf title</syntaxhighlight> | Applies font 'title' as defined by .df |
.se |
Assigns value to variable | <syntaxhighlight lang="groff" class="" style="" inline="1">.se month = January</syntaxhighlight> | Sets &month variable to 'January' for later reference |
SCRIPT macros
SCRIPT offers support for user-defined macros along with the capability to automatically load profiles that contain macro declarations and commands. This feature is utilized by several semantic tagging frameworks, such as GML and EasyScript.
Generalized Markup Language
IBM's Generalized Markup Language (GML) represents a descriptive markup methodology that specifies the logical structure within documents. Both SCRIPT/VS and the GML Starter Set form part of IBM's Document Composition Facility (DCF), which was developed for the System/370 series and its successors. The tag sets used in BookMaster and BookManager BUILD/MVS products are based on the syntax provided by the GML Starter Set.
The Standard Generalized Markup Language (SGML) was derived from GML. Although DCF itself does not natively support SGML, there exists a separate translator product dedicated to SGML processing.
EasyScript
EasyScript comprises a collection of macro definitions and profiles bundled with Script/370 Version 3, implementing a simplified version of GML. It employs tags functioning as variables assigned to control words, allowing multiple tags to appear on a single line.
.ez on &P.This is a paragraph. &N1.First item &N2.First subitem &N2.Second subitem &N1.Second item
This example roughly translates to:
This is a paragraph
- First item
- First subitem
- Second subitem
- Second item
GML Starter Set (GMLSS)
The GML Starter Set (GMLSS) consists of macro definitions and profiles that implement a semantically rich set of tags for document composition. Tags begin with a colon and end with a period, optionally including attributes, which facilitates structured markup beyond simple control words.
BookMaster
BookMaster is an IBM solution tailored for high-volume internal publishing that extends the capabilities of the GML Starter Set within DCF. It offers an extensive GML vocabulary designed for crafting intricate document layouts and operates on the z/VM and z/OS operating systems.
BookManager
BookManager is a comprehensive system for creating and reading electronic books. The BookManager BUILD/MVS and BUILD/VM versions run on SCRIPT combined with BookMaster under z/VM and z/OS. Additional BUILD variants generate text output on platforms such as Linux, Windows, or OS/2, converting files from various word-processing applications into BookManager format. The BookManager Read applications support multiple operating systems for content viewing. Moreover, the BookManager BookServer component delivers electronic books to HTML browsers across diverse platforms.
Files created with BookManager commonly use the .BOO file extension. IBM provides complimentary utilities, including the IBM Softcopy Reader, to facilitate working with these documents. Furthermore, third-party developers have produced software utilizing IBM's libraries to convert BookManager files into PDF format.
See also
External links
- IBM Corporation, DCF: SCRIPT/VS Language Reference (1999)
- IBM Corporation, DCF V1R4.0: SCRIPT/VS Text Programmer's Guide (1999)
- "CTSS PROGRAMMER'S GUIDE Section AH.9.01, 12/66"