Copyright (C) 1992, Digital Equipment Corporation           
 All rights reserved.                                        
 See the file COPYRIGHT for a full description.              
                                                             
 File: Variable.i3                                           
 Last Modified On Tue Dec 20 15:08:50 PST 1994 By kalsow     
      Modified On Fri Apr 27 03:11:00 1990 By muller         
INTERFACE Variable;
IMPORT M3ID, Type, Value,  Scope, Decl, Target, CG, Tracer;
TYPE
  T <: Value.T;
PROCEDURE ParseDecl (READONLY att: Decl.Attributes);
PROCEDURE New (name: M3ID.T;  used: BOOLEAN): T;
 doesn't insert the object into any scope.... 
PROCEDURE NewFormal (formal: Value.T;  name: M3ID.T): T;
PROCEDURE BindType (t: T;  type: Type.T;
                    indirect, readonly, open_array_ok, needs_init: BOOLEAN);
PROCEDURE Split (t: T;  VAR type: Type.T;
                 VAR global, indirect, lhs: BOOLEAN);
PROCEDURE IsFormal   (t: T): BOOLEAN;
PROCEDURE HasClosure (t: T): BOOLEAN;
PROCEDURE NeedsAddress (t: T);
PROCEDURE SetBounds (t: T;  READONLY min, max: Target.Int);
PROCEDURE GetBounds (t: T;  VAR min, max: Target.Int);
PROCEDURE Load       (t: T);
PROCEDURE LoadLValue (t: T);
PROCEDURE SetLValue  (t: T);
PROCEDURE LocalCGName (t: T;  VAR unit: CG.Var;  VAR offset: INTEGER);
 return the back-end address of the non-imported variable 't'. 
PROCEDURE NeedGlobalInit (t: T): BOOLEAN;
PROCEDURE InitGlobal (t: T);
PROCEDURE GenGlobalMap (s: Scope.T): INTEGER;
PROCEDURE ParseTrace (): Tracer.T;
PROCEDURE BindTrace  (t: T;  x: Tracer.T);
PROCEDURE CheckTrace (x: Tracer.T;  VAR cs: Value.CheckState);
PROCEDURE ScheduleTrace (t: T);
PROCEDURE Reset ();
END Variable.