Appendix E - PipeDream file format

The PipeDream file format is designed to facilitate manipulation by other programs. Apart from carriage return characters which are used as separators, no control characters or characters above 127 in value appear in the file (unless they have been explicitly typed in). The files are sequential, and can be edited by any text editor.


PipeDream constructs

Information about the structure of the file is stored in constructs consisting of one or more alphabetic characters between percent signs. Additional information relevant to the construct may be included before the final percent sign.

The file begins with a group of Options Page constructs giving the values of the Options Page parameters for the file. This is followed by the main body of the file.

Each column in the file is preceded by a Column construct giving details about the column, and followed by an entry for each slot in the column.

Each slot entry may include a collection of constructs giving details about the slot, and is terminated by a carriage return character.


Options Page construct

%OP%parameter value cr

parameter two characters identifying the parameter
value the value of the parameter
cr  carriage return character

The various parameter values are:

AM Auto/manual
BM Bottom margin
BO Borders
DE Title
DP Decimal places
FM Footer margin
FO Footer
HE Header
HM Header margin
IW Insert on wrap
JU Justify
LM Left margin
LP Leading characters
LS Line spacing
MB Minus/brackets
PA Pages
PL Page length
PS Page no. start
RC Rows/columns
TM Top margin
TN Text/numbers
TP Trailing characters
WR Wrap


Column construct

%CO:co1umn,width,wrap-width%

column letter identifying the column
width decimal number giving the column width
wrap-width decimal number giving the wrap-width

These constructs can appear anywhere in the entry for each slot:

%B% brackets format
%C% centre align
%Dn% decimal places, n gives the number
%DF% floating format
%F% free align
%Hn% highlight character: n gives the number
%JL% justify left
%JR% justify right
%L% left align
%LC% leading character format
%LCR% LCR align
%Pn% page break: n gives the argument, 0 for unconditional
%PC% percent character
%R% right align
%TC% trailing character format
%V% 

slot is a number slot


General format:

construct text construct text ... cr

construct one of the constructs above
text ASCII characters being the slot contents
cr carriage return character