[ivy]<Satterthwaite>Mimosa>A3.mesa!1

A3.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite, April 14, 1986 2:01:16 pm PST
DIRECTORY
Alloc USING [Notifier],
Symbols USING [Type, CSEIndex, RecordSEIndex, CBTIndex],
Tree USING [Link];
A3: DEFINITIONS = {
OPEN Symbols;
types
DefaultForm: TYPE = {none, void, nonVoid};
LhsMode: TYPE = {none, uncounted, counted};
LifeTime: TYPE = {global, local, unknown};
notifiers
TreeNotify, TypeNotify: Alloc.Notifier;
type attributes
AccessMode: PUBLIC PROC[Type] RETURNS[LhsMode];
AssignableType: PROC[type: Type, safe: BOOL] RETURNS[BOOL];
BaseType: PROC[Type] RETURNS[Type];
Bundling: PROC[CSEIndex] RETURNS[CARDINAL];
CanonicalType: PROC[Type] RETURNS[Type];
ComponentType: PROC[Type] RETURNS[BOOL];
Default: PROC[Type] RETURNS[DefaultForm];
DefaultInit: PROC[Type] RETURNS[Tree.Link];
IdentifiedType: PROC[Type] RETURNS[BOOL];
IndexType: PROC[Type] RETURNS[BOOL];
MarkedType: PROC[Type] RETURNS[CSEIndex];
NewableType: PROC[Type] RETURNS[BOOL];
NullableType: PROC[Type] RETURNS[BOOL];
OrderedType: PROC[Type] RETURNS[BOOL];
PermanentType: PROC[Type] RETURNS[BOOL];
TargetType: PROC[Type] RETURNS[Type];
Unbundle: PROC[RecordSEIndex] RETURNS[Type];
VarType: PROC[type: Type] RETURNS[BOOL];
Voidable: PROC[Type] RETURNS[BOOL];
tree attributes
BodyForTree: PROC[Tree.Link] RETURNS[CBTIndex];
LongPath: PROC[Tree.Link] RETURNS[BOOL];
OperandInline: PROC[Tree.Link] RETURNS[BOOL];
OperandInternal: PROC[Tree.Link] RETURNS[BOOL];
OperandLevel: PROC[Tree.Link] RETURNS[LifeTime];
OperandLhs: PROC[Tree.Link] RETURNS[LhsMode];
OperandType: PROC[Tree.Link] RETURNS[Type];
TypeForTree: PROC[Tree.Link] RETURNS[Type];
VoidItem: PROC[Tree.Link] RETURNS[BOOL];
}.