(* semantic errors -- do you find them? *)
(* This is the reasonably easy test *) 
(* No procs, but has units *) 
(* No arrays *) 

program check_units; 

unit boolean, mile alias (miles, mi), foot alias (feet, ft), 
     inches alias (inch,in), hour alias (hours, hr), minute alias 
     (minutes, min), second alias (seconds, sec); 

const 
      true = 1 boolean ; 
      false = 0 true.unit ; 
      in_per_ft = 12; 
      ft_per_mi = 5280; 
      min_per_hr = 60; 

var   d1: miles; d2: foot; d3: in;
      f : feet; f1,f2 : f.unit; 
      s: seconds; m: minutes; 
begin 
    s := true ; 
    s := m; 

    d1 := m + s; 
    d2 := d1 * ft_per_mi; 
    d3 := d2 % in_per_ft; 
    if d1 > d2 then;

end.  (* check_units *) 
