196  Pascal Report  where all occurrences of  f  denote a single variable.  where all occurrences of  f  denote a single variable.  When using Write  on a textfile. the following rules  apply. Let f  denote a textfile, p, p1, ... , pn dellote  WriteParameters,  e  denote an  expression, and  m  and n  denok integer expressions. The actual  parameter list for write must have  t  he following syntax.  (b) Write (f, p1, ... , pn)  is quivalent to the statement  begin  Write (f, p1) .... ; Write (f, pn)  end  where all occurrences of 1  denote a single variable.  (a) Write (p1, ... ,pn)  is equ,valent to  Write (g,p1, ... ,pn).  where g denotes the textfil: program parameter Output.  (c)  Write (f, p)  is an error if!  is undefined or not in  generation mode.  (d) Each write parameter has one of the following forms:  e  e:m  e:n : n  e  represents the value to  h'  "written" on f, and  m  and  n  are so-called field-width parameters. It is an error if  either  m  or  n  is less than  I  r equal to zero. The type of  e  must be either Integer, Rr  II.  Char, Boolean, or a string  type. The expression  n  IT I Y occur only if e  is of type  Real (see Section 12.3.3).  f fI  is omitted, a default value  is assumed. The default val Ie is implementation-defined  if e is oftype Integer, Real. or Boolean. The default value  for type Char is  1, and the d  ~  fault value for a string type is  the number of  component~  in the string.  If  the representation of the value of e  requires fewer  than  m  characters, then il  is preceded by an adequate  number of spaces so that ex .lCtIy  m characters are written.  12.3.  Write  Readln (f)  is equivalent to thl  statement  begin  while not  eoln(f)  do  ct(f);  Get (f)  end  WriteParameterList  = "(" (  FileVariall/e  I  WriteParameter)  { ","  Write? Irameter  } ")" .  WriteParameter  =  Expression  [":"  Int.  ~I'rExpression  [":"  IntegerExpression]]. 