1. Parameter Decoding

Further thoughts and discussions have produced the following alternative proposal for the format of the standard parameter specification to be decoded by CCP for all commands.

If the first character of the parameter string is an opening round bracket, then the parameter string is assumed to begin, in general, with four lists of items all enclosed in round brackets. Each list is preceded by a directive which consists of one of the letters P (for p-type input), D (for d-type input), O (for output), B (for backing store); followed by an integer and terminated by a colon. The items of a list are each one of the forms:
(a)file name(terminated by comma or space*)
(b)=(terminated by comma or space*)
(c)empty(terminated by a comma*)

* or by the closing round bracket if this is the last item of the last list.

The directive indicates that the list refers to consecutive stream or backing store device numbers of the appropriate type and starting at the quoted number. According to the type of the item, the following action takes place:

  1. the file is opened as the appropriate stream or backing-store device. An existing stream or bsd with this number is first closed. If a bsd, the file is assumed to exist and a new file is not created. Block file creation would be provided by a separate command in the first instance.
  2. the existing stream or bsd (if any) is not affected.
  3. the existing stream or bsd (if any) is closed.

Type (b) could be extended later by adding characters after the "=", to specify streams etc. in other ways; e.g. from and to consoles.

Syntactic variations would be permitted. If the integer in a directive is omitted, then 1 is assumed. If the directive before the first list is omitted, then "P1:" is assumed. Any list may be omitted; they may be in any order; and there could be several of the same type. An alternative for "O" might be "R" (for results).

If nothing is specified about any of input streams 1 to 10, output streams 1 to 10, backing store devices 1 to 10, then these are closed automatically. This does not apply, of course, if the parameter string does not begin with an opening round bracket.

Characters of the parameter string after the closing round bracket remain in input 253, and may be processed by the command itself.

2. Basic Commands

I feel that it is important to keep the distinction between deleting files and closing streams and backing-store devices. Thus, the proposed "DELETE" to remove the current document does not delete a file even though the current document may be a filed document. I propose, therefore, that we use "CLOSE" to do this job. This command could be extended later to close other streams etc.

1 November 1966

This is a supplement to Planning Document 20.

Copyright © 1966 University of Cambridge Computer Laboratory. Distributed by permission. Thanks to Barry Landy, Roger Needham and David Hartley for giving permission to distribute these documents. Thanks to Barry Landy for lending me the paper document from which this was scanned. Any typographical errors probably arose in the course of OCR.

Return to Planning Document 20
Return to Cambridge Supervisor Planning Documents
Return to CUCPS TITAN page
Return to CUCPS home page
Return to University of Cambridge home page

Contact: CUCPS Committee (
This HTML version last updated: $Date: 1999/06/20 19:05:56 $