SCRIPT (markup)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search


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); 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.

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.

Native SCRIPT control words

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 word function example
.sp Inserts blank vertical space .sp 1 Inserts one blank line
.ce Centers following lines .ce 2 Centers the following two lines on the current page or column
.ez Controls EasyScript .ez P foo bar Starts paragraph with text foo bar; equivalent to &P.foo bar after .ez on
.im Imbeds a file at the current location .im BLRPLT Inserts the file 'BLRPLT SCRIPT'
.ju Turn on/off justify mode .ju on Requests that subsequent lines be justified
until .ju off is encountered
.rh Specify running head information .rh Identify following lines as running head
until .rh off is encountered
.df Define a named font .df examp type('Century Schoolbook' 10 light) Specifies attributes for font named 'examp'.
.bf Specify font for following text .bf title 'title' is the name of a font identified by a .df control word.
.se Assigns a value to a variable symbol .se month = January Assigns a value to the variable &month that will replace every subsequent occurrence of &month in the input text until &month is redefined.

Generalized Markup Language

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

IBM's Generalized Markup Language (GML) Starter Set[10][11][12] is a macro language encapsulating a set of SCRIPT commands. 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[13][14] and BookManager BUILD/MVS[15] 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 include with Script/370[16] Version 3[17][18] 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)[19][20] is a set of macro definitions and profiles that implements 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.[21] 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.

Bookmanager

Bookmanager is a family of products for producing and reading online books. Bookmanager Build products for generating text are layered on top of SCRIPT and BookMaster and can run on z/VM, z/OS, Windows or OS/2.[22] Bookmanager Read products for viewing text run on a variety of systems. Bookmanager Book Server is a multi-platform system to "serve your electronic books to HTML browsers."[23]

See also

References

  1. 1.0 1.1 Stuart E. Madnick and Allen G. Moulton (1968) Lua error in package.lua at line 80: module 'strict' not found. IEEE Transactions on Engineering Writing and Speech, Vol. EWS-11, No. 2, pp. 92-100.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. "IBM Document Composition Facility: Generalized Markup Language Starter Set User's Guide", SH20-9186
  11. "IBM Document Composition Facility: Generalized Markup Language Starter Set Reference", SH20-9187
  12. "DCF V1R4.0: GML Implement. Gde ", SH35-0050-05
  13. 5688-015 IBM Host Publishing Systems BookMaster R4
  14. BookMaster V1R4.0 Bookshelf product on Printing and Publishing CD
  15. BookManager READ/MVS and BUILD/MVS V1R3.0 Bookshelf
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.

External links