<> <> DIRECTORY Interscript USING [Id, Value]; Bindings: CEDAR DEFINITIONS = BEGIN Id: TYPE ~ Interscript.Id; Value: TYPE ~ Interscript.Value; BTHandle: TYPE ~ REF BindingTable; BindingTable: TYPE; Binding: TYPE ~ REF BindingRec; BindingRec: TYPE ~ RECORD[id: Id, m: BindingMode, v: Value]; BindingMode: TYPE ~ {local, global} _ local; InitBindingTable: PROCEDURE [z: ZONE] RETURNS [bt: BTHandle]; AddBinding: PROCEDURE [self: BTHandle, b: Binding]; <> GetBinding: PROCEDURE [self: BTHandle, id: Id] RETURNS [binding: Binding]; <> GetBindings: PROCEDURE [self: BTHandle, ids: LIST OF Id] RETURNS [bindings: LIST OF Binding]; <> Scope: TYPE ~ RECORD[uid: INT]; NewScope: PROCEDURE [self: BTHandle] RETURNS [s: Scope]; <> PopScope: PROCEDURE [self: BTHandle, s: Scope]; <> END. <> <>