var
  dialect:string(100)='Unspecified dialect';
  rangecheck :Boolean=True;
  base       :Boolean=True;
  hex        :Boolean=True;
  whitespace :Boolean=True;
  realiso7185:Boolean=False;

const l1={$ifdef Standard}1{$else}17{$endif};

var
  infile:Text;
  instr,tmpstr:String(2000);
  inbuf:array[l1..l1+1000] of char;
  run1,run2:integer;
  ok,white:boolean;
  bi:byteint;
  si:shortint;
  ni:integer;
  mi:medint;
  li:longint;
  bc:byte;
  sc:shortcard;
  nc:cardinal;
  mc:medcard;
  lc:longcard;
  sr:shortreal;
  nr:real;
  lr:longreal;
  c,c2:char;
  cr:'K'..'O';
  nst:string(100);
  sst:string[100];
(*@@(fjf204.pas)  fst:array[2*l1-1..2*l1+1000] of char; *)fst:array[1..1000] of char;
  cst:array[0..1000] of char;

function strcmp (a,b:CString):Integer; C;

operator = (a,b:LongReal) = r:boolean;
begin
  r := Abs (a - b) <= sqrt (sqr (a) + sqr (b)) * 1e-6
end;

operator = (a,b:Real) = r:boolean;
begin
  r := LongReal(a) = LongReal (b)
end;

operator = (a:ShortReal;b:Real) = r:boolean;
begin
  r := LongReal(a) = LongReal (b)
end;

{$W-,R-,W+} {Only read-range-checking is tested}
