SCRIPT (markup)

Last updated

SCRIPT, [1] any of a series of text markup languages starting with Script [2] [3] under Control Program-67/Cambridge Monitor System (CP-67/CMS) and Script/370 [4] under Virtual Machine Facility/370 (VM/370) and the Time Sharing Option (TSO) of OS/VS2; the current version, SCRIPT/VS, [5] [6] [7] is part of IBM's Document Composition Facility (DCF) [8] for IBM z/VM and z/OS systems. SCRIPT was developed for CP-67/CMS by Stuart Madnick [1] [9] at MIT, succeeding CTSS RUNOFF.

Contents

SCRIPT is a procedural markup language. Inline commands called control words, indicated by a period in the first column of a logical line, describe the desired appearance of the formatted text. SCRIPT originally provided a 2PASS option to allow text to refer to variables defined later in the text, but subsequent versions allowed more than two passes.

History

In 1968 "IBM contracted Stuart Madnick of MIT to write a simple document preparation ..." [10] [1] to run on CP/67. [11] He modeled it on MIT's CTSS RUNOFF. [12] [13] In 1974, William Dwyer at Yale University ported the CP-67 version of Script to the Time Sharing Option (TSO) of OS/360 under the name NSCRIPT. [14] The University of Waterloo rewrote and extended NSCRIPT as Waterloo SCRIPT, [15] also in 1974, making it available for free to CMS and TSO users for several releases before eventually charging for new releases.

By 1978, IBM's Script/370, running on VM/CMS, had evolved into Document Composition Facility (DCF), [16] supporting SCRIPT/VS on CMS, DOS/VS, OS/VS1 and OS/VS2, and supported the IBM 3800. [10] In addition, there was a PC/MS-DOS version called SCRIPT/PC. [17]

Native SCRIPT control words

Native Script control begin with a period and have a space prior to operands. They normally begin in column 1, but you may code multiple control words, separated by semicolons, on a single line.

The description and table below refer to selected control words in DCF; older versions are similar.

SCRIPT allows space units in control words to be specified in a number of units including inches, centimeters, millimeters, picas, ciceros, m-spaces, or device units (pels at the current device resolution). Vertical space units are assumed to be lines unless otherwise specified.

control wordfunctionexample
.spInserts blank vertical space.sp1Inserts one blank line
.ceCenters following lines.ce2Centers the following two lines on the current page or column
.ezControls EasyScript.ezPfoobarStarts paragraph with text foo bar; equivalent to &P.foo bar after .ez on
.imImbeds a file at the current location.imBLRPLTInserts the file 'BLRPLT SCRIPT'
.juTurn on/off justify mode.juonRequests that subsequent lines be justified
until .ju off is encountered
.rhSpecify running head information.rhIdentify following lines as running head
until .rh off is encountered
.dfDefine a named font .dfexamptype('CenturySchoolbook'10light)Specifies attributes for font named 'examp'.
.bfSpecify font for following text.bftitle'title' is the name of a font identified by a .df control word.
.seAssigns a value to a variable symbol.semonth=JanuaryAssigns a value to the variable &month that will replace every subsequent occurrence of &month in the input text until &month is redefined.

SCRIPT macros

Script includes a facility for user-defined macros and for automatically reading a profile containing macro definitions and other commands. Several packages for semantic tagging, including GML and EasyScript, are built on top of this facility.

Generalized Markup Language

IBM's Generalized Markup Language (GML) is a descriptive markup layer describing the logical structure of a document. Both SCRIPT/VS and the GML Starter Set are part of IBM's Document Composition Facility (DCF), used in the System/370 platform and successors. The tag sets of the BookMaster [18] [19] and BookManager BUILD/MVS [20] products are built on a foundation of the GML Starter Set syntax and implementation.

The Standard Generalized Markup Language (SGML) is a descendant of GML. While DCF does not directly handle SGML, there is an SGML translator available as a separate product.

EasyScript

EasyScript is a set of macro definitions and profiles included with Script/370 [21] Version 3 [22] [23] [24] that implements a primitive version of GML. Tags are variables whose values have been set to control words, allowing multiple tags in a single line.

.ez on &P.This is a paragraph. &N1.First item &N2.First subitem &N2.Second subitem &N1.Second item 

is roughly equivalent to

This is a paragraph

  1. First item
    1. First subitem
    2. Second subitem
  2. Second item

GML Starter Set (GMLSS)

The GML Starter Set (GMLSS) [25] [26] is a set of macro definitions and profiles that implements [27] a set of tags that has more of a semantic orientation than the raw Script/VS control words. Tags begin with a colon and end with a period, and may contain attributes between the name and the closing period; a line may contain multiple tags.

BookMaster

Bookmaster is an IBM product, "designed for high-volume in-house publishing applications", that extends the GML Starter Set of DCF. It consists of "a rich set of GML vocabulary for creating complex document layouts." Bookmaster runs under the z/VM and z/OS operating systems. [18]

BookManager

BookManager is a family of products for producing and reading online books. BookManager BUILD/MVS and BookManager BUILD/VM are layered on top of SCRIPT and BookMaster and can run on z/VM and z/OS. [28] Other BookManager BUILD products for generating text run on Linux, Windows or OS/2 and convert files produced by various word processors to BookManager format. BookManager Read products for viewing text run on a variety of systems. BookManager BookServer is a multi-platform system to "serve your electronic books to HTML browsers." [29]

BookManager electronic documents typically have filenames ending with the extension .BOO. IBM offers several no charge tools to work with and read BookManager documents including a reader/viewer called IBM Softcopy Reader. [30] An independent developer, Ken Bowling, created and released software that uses IBM's BookManager code libraries to convert BookManager documents to PDF. [31]

See also

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<span class="mw-page-title-main">Markup language</span> Modern system for annotating a document

A markuplanguage is a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document or to enrich its content to facilitate automated processing.

<span class="mw-page-title-main">Standard Generalized Markup Language</span> Markup language

The Standard Generalized Markup Language is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on two postulates":

<span class="mw-page-title-main">Conversational Monitor System</span>

The Conversational Monitor System is a simple interactive single-user operating system. CMS was originally developed as part of IBM's CP/CMS operating system, which went into production use in 1967. CMS is part of IBM's VM family, which runs on IBM mainframe computers. VM was first announced in 1972, and is still in use today as z/VM.

<span class="mw-page-title-main">Typesetting</span> Composition of text by means of arranging physical types or digital equivalents

Typesetting is the composition of text by means of arranging physical type in mechanical systems or glyphs in digital systems representing characters. Stored types are retrieved and ordered according to a language's orthography for visual display. Typesetting requires one or more fonts. One significant effect of typesetting was that authorship of works could be spotted more easily, making it difficult for copiers who have not gained permission.

TYPSET is an early document editor that was used with the 1964-released RUNOFF program, one of the earliest text formatting programs to see significant use.

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">VM (operating system)</span> Family of IBM operating systems

VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.

<span class="mw-page-title-main">CP/CMS</span> IBM operating system specializing in virtualization

CP/CMS is a discontinued time-sharing operating system of the late 1960s and early 1970s, known for its excellent performance and advanced features. Among its three versions, CP-40/CMS was an important "one-off" research system that established the CP/CMS virtual machine architecture. It was followed by CP-67/CMS, a reimplementation of CP-40/CMS for the IBM System/360-67, and the primary focus of this article. Finally, CP-370/CMS was a reimplementation of CP-67/CMS for the System/370. While it was never released as such, it became the foundation of IBM's VM/370 operating system, announced in 1972.

z/VM

z/VM is the current version in IBM's VM family of virtual machine operating systems. z/VM was first released in October 2000 and remains in active use and development as of 2022. It is directly based on technology and concepts dating back to the 1960s, with IBM's CP/CMS on the IBM System/360-67. z/VM runs on IBM's IBM Z family of computers. It can be used to support large numbers (thousands) of Linux virtual machines.

Generalized Markup Language (GML) is a set of macros that implement intent-based (procedural) markup tags for the IBM text formatter, SCRIPT. SCRIPT/VS is the main component of IBM's Document Composition Facility (DCF). A starter set of tags in GML is provided with the DCF product.

VP/CSS was a time-sharing operating system developed by National CSS. It began life in 1968 as a copy of IBM's CP/CMS, which at the time was distributed to IBM customers at no charge, in source code form, without support, as part of the IBM Type-III Library. Through extensive in-house development, in what today would be termed a software fork, National CSS took VP/CSS in a different direction from CP/CMS. Although the two systems would eventually share many capabilities, their technical implementations diverged in substantive ways.

<span class="mw-page-title-main">IBM CP-40</span> IBM experimental operating system

CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.

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

Stuart E. Madnick is an American computer scientist, and professor of information technology at the MIT Sloan School of Management and the Massachusetts Institute of Technology school of engineering. He is the director of Cybersecurity at MIT Sloan (CAMS), formerly called the MIT Interdisciplinary Consortium for Improving Critical Infrastructure Cybersecurity ( ³).

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

Document Content Architecture, or DCA for short, is a standard developed by IBM for text documents in the early 1980s. DCA was used on mainframe and IBM i systems, and formed the basis of DisplayWrite's file format. DCA was later extended as MO:DCA, which added embedded data files.

The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.

Robert Jay Creasy was the project leader of the first full virtualization hypervisor, the IBM CP-40, which later developed into IBM's highly successful line of mainframe VM operating systems.

SGMLguid, also known as "CERN SGML", "Waterloo based SGML", and "Waterloo SGML", was an early SGML application developed and used at CERN between 1986 and 1990. It served as a model of the earliest HTML specifications.

References

  1. 1 2 3 Stuart E. Madnick and Allen G. Moulton (1968) "SCRIPT, An Online Manuscript Processing System" (PDF). Retrieved 2012-09-12. IEEE Transactions on Engineering Writing and Speech, Vol. EWS-11, No. 2, pp. 92-100.
  2. CMS SCRIPT User's Manual. IBM. GH20-0860.
  3. "SCRIPT", Control Program-67/Cambridge Monitor System (CP-67/CMS) Version 3 Program Number 3600-05.2.005 User's Guide (PDF), First Edition, IBM, October 1970, pp. 143[127]–177[163], GH20-0859-0
  4. SCRIPT/370 Text Processing Facility Under Virtual Machine Facility/370 (VM/370) Program Description/Operations Manual Program Number 5796-PAF (PDF), First Edition, IBM, November 1972, SH20-1114-0
  5. DCF V1R4.0: SCRIPT/VS User's Guide. Third Edition. IBM. May 1999. S544-3191-02.[ permanent dead link ]
  6. DCF: SCRIPT/VS Language Reference. Eighth Edition. IBM. September 1998. SH35-0070-07.[ permanent dead link ]
  7. DCF V1R4.0: SCRIPT/VS Text Programmer's Guide, Eighth Edition, IBM, August 1999, SH35-0069-07[ permanent dead link ]
  8. Document Composition Facility and Document Library Facility General Information Program Numbers 5748-XX9 5748-XXE. Eleventh Edition. IBM. January 1991. GH20-9158-10.[ permanent dead link ]
  9. Charles F. Goldfarb (1996). "The Roots of SGML - A Personal Recollection". Archived from the original on 2012-12-20. Retrieved 2012-02-26.
  10. 1 2 Hannotte, Dean (March 19, 1985). "Put Your Text In Top Form". PC Magazine. Ziff-Davis. 4 (6): 209–211, 213, 221 via Google Books.
  11. Madnick, Stuart E.; Moulton, Allen (1968). "SCRIPT, An On-Line Manuscript Processing System". IEEE Transactions on Engineering Writing and Speech. 11 (2): 92–100. doi:10.1109/TEWS.1968.4322339. S2CID   51633921.
  12. "What does sCrIPT mean?". SCRIPT was developed for CP-67/CMS by Stuart Madnick at MIT, succeeding CTSS RUNOFF.
  13. "History of UNIX Manpages". 1967: SCRIPT (Stuart Madnick). In 1967, Madnick ported the RUNOFF code to the IBM CP67/CMS at IBM as SCRIPT. The documentation of SCRIPT explicitly ...
  14. User's Guide and Catalog of Programs (PDF). SHARE PROGRAM LIBRARY AGENCY. 1977. p. 24. 360D-03.5.008.
  15. Introduction to SCRIPT, University of Waterloo Computing Centre, November 29, 1978
  16. Document Composition Facility: User's Guide Program Number S748-XX9 (PDF) (first ed.), July 1978, SH20-9161-0
  17. SCRIPT/PC, Personal Computer Productivity Series, vol. Book 1 How to Use (First ed.), January 1984, 1502414
  18. 1 2 "5688-015 IBM Host Publishing Systems BookMaster R4". IBM United States Sales Manual. IBM. 5 August 2008. 5688-015. Retrieved August 4, 2021.
  19. "BookMaster V1R4.0 Bookshelf product on Printing and Publishing CD". IBM.[ dead link ]
  20. "BookManager READ/MVS and BUILD/MVS V1R3.0 Bookshelf". IBM.[ dead link ]
  21. IBM (November 1972). SCRIPT/370 Text Processing Facility Under Virtual Machine Facility/370 (VM/370) Program Description/Operations Manual Program Number 5796-PAF (PDF). First Edition. IBM. SH20-1114-0.
  22. IBM (September 1976), SCRIPT/370 Version 3 User's Guide Program Number: 5796úPHL (PDF), First Edition, IBM, SH20-1857-0
  23. SCRIPT/370 Text Processing Facility Under Virtual Machine Facility/370 (VM/370) Systems Guide Program Number 5796-PAF (PDF), IBM, LY20-0762-0
  24. For compatibility, DCF also includes EasyScript.
  25. IBM Document Composition Facility: Generalized Markup Language Starter Set User's Guide (Eighth ed.), IBM, January 1991, SH20-9186-07
  26. IBM Document Composition Facility: Generalized Markup Language Starter Set Reference (Seventh ed.), IBM, January 1991, SH20-9187-06
  27. Document Composition Facility Generalized Markup Language Implementation Guide (PDF) (Third ed.), IBM, March 1985, SH35-0050-02
  28. IBM Corporation (2011). "z/OS V1R10.0-V1R12.0 Library Server Getting Started" . Retrieved 2012-02-27.
  29. "IBM BookManager BookServer for Windows V2.3, IBM BookManager BookServer for AIX and Linux V2.3, and IBM BookManager Build for Windows V2.3 Increases Ease of Use". Announcement Letters. IBM Corporation. 2001. LTR 201-273. Retrieved 2012-02-27.
  30. "Downloadable free BookManager tools and components". www.ibm.com. 2019-04-17. Retrieved 2021-10-04.
  31. Bowling, Kevin (2020-12-17), boo2pdf , retrieved 2021-10-04