file A3.mesa
last modified by Satterthwaite, March 22, 1983 2:55 pm
DIRECTORY
Alloc: TYPE USING [Notifier],
Symbols: TYPE USING [SEIndex, CSEIndex, RecordSEIndex, CBTIndex],
Tree: TYPE 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 [CSEIndex] RETURNS [LhsMode];
AssignableType: PROC [type: CSEIndex, safe: BOOL] RETURNS [BOOL];
Bundling: PROC [CSEIndex] RETURNS [CARDINAL];
CanonicalType: PROC [CSEIndex] RETURNS [CSEIndex];
Default: PROC [SEIndex] RETURNS [DefaultForm];
DefaultInit: PROC [SEIndex] RETURNS [Tree.Link];
IdentifiedType: PROC [CSEIndex] RETURNS [BOOL];
IndexType: PROC [SEIndex] RETURNS [BOOL];
MarkedType: PROC [CSEIndex] RETURNS [CSEIndex];
NewableType: PROC [SEIndex] RETURNS [BOOL];
NullableType: PROC [SEIndex] RETURNS [BOOL];
OrderedType: PROC [SEIndex] RETURNS [BOOL];
PermanentType: PROC [SEIndex] RETURNS [BOOL];
TargetType: PROC [CSEIndex] RETURNS [CSEIndex];
Unbundle: PROC [RecordSEIndex] RETURNS [CSEIndex];
VarType: PROC [type: SEIndex] RETURNS [BOOL];
Voidable: PROC [SEIndex] 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 [CSEIndex];
TypeForTree: PROC [Tree.Link] RETURNS [SEIndex];
VoidItem: PROC [Tree.Link] RETURNS [BOOL];
}.