SiroccoATDef.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at August 26, 1987 3:38:09 pm PDT
using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT
DIRECTORY
Rope,
SiroccoPrivate;
SiroccoATDef: CEDAR DEFINITIONS =
BEGIN
OPEN Rope, SiroccoPrivate;
Program
ProgramNode: TYPE = REF ProgramNodeBody;
ProgramNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ProgramNodeProcs,
data: REF ANY];
ProgramNodeProcs: TYPE = REF ProgramNodeProcsBody;
ProgramNodeProcsBody: TYPE = RECORD[
MakeSymbolTable: MakeSymbolTableProcType];
ImportList
ImportListNode: TYPE = REF ImportListNodeBody;
ImportListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ImportListNodeProcs,
data: REF ANY];
ImportListNodeProcs: TYPE = REF ImportListNodeProcsBody;
ImportListNodeProcsBody: TYPE = RECORD[
BuildRIB: BuildRIBProcType];
Import
ImportNode: TYPE = REF ImportNodeBody;
ImportNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ImportNodeProcs,
data: REF ANY];
ImportNodeProcs: TYPE = REF ImportNodeProcsBody;
ImportNodeProcsBody: TYPE = RECORD[
BuildScope: BuildScopeProcType];
DeclarationList
DeclarationListNode: TYPE = REF DeclarationListNodeBody;
DeclarationListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: DeclarationListNodeProcs,
data: REF ANY];
DeclarationListNodeProcs: TYPE = REF DeclarationListNodeProcsBody;
DeclarationListNodeProcsBody: TYPE = RECORD[
BuildItemTable: BuildItemTableProcType,
BuildTypeGraph: BuildTypeGraphProcType];
Declaration
DeclarationNode: TYPE = REF DeclarationNodeBody;
DeclarationNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: DeclarationNodeProcs,
data: REF ANY];
DeclarationNodeProcs: TYPE = REF DeclarationNodeProcsBody;
DeclarationNodeProcsBody: TYPE = RECORD[
BuildItem: BuildItemProcType,
BuildNamedItem: BuildNamedItemProcType];
Type
TypeNode: TYPE = REF TypeNodeBody;
TypeNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: TypeNodeProcs,
data: REF ANY];
TypeNodeProcs: TYPE = REF TypeNodeProcsBody;
TypeNodeProcsBody: TYPE = RECORD[
BuildTGN: BuildTGNProcType];
Enumeration
EnumerationNode: TYPE = REF EnumerationNodeBody;
EnumerationNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: EnumerationNodeProcs,
data: REF ANY];
EnumerationNodeProcs: TYPE = REF EnumerationNodeProcsBody;
EnumerationNodeProcsBody: TYPE = RECORD[
BuildTGN: BuildTGNProcType];
Union
UnionNode: TYPE = REF UnionNodeBody;
UnionNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: UnionNodeProcs,
data: REF ANY];
UnionNodeProcs: TYPE = REF UnionNodeProcsBody;
UnionNodeProcsBody: TYPE = RECORD[
BuildTGN: BuildTGNProcType];
FieldList
FieldListNode: TYPE = REF FieldListNodeBody;
FieldListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: FieldListNodeProcs,
data: REF ANY];
FieldListNodeProcs: TYPE = REF FieldListNodeProcsBody;
FieldListNodeProcsBody: TYPE = RECORD[
BuildTGN: BuildTGNProcType];
Constant
ConstantNode: TYPE = REF ConstantNodeBody;
ConstantNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ConstantNodeProcs,
data: REF ANY];
ConstantNodeProcs: TYPE = REF ConstantNodeProcsBody;
ConstantNodeProcsBody: TYPE = RECORD[
BuildAbstractValue: BuildAbstractValueProcType];
Grouping
GroupingNode: TYPE = REF GroupingNodeBody;
GroupingNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: GroupingNodeProcs,
data: REF ANY];
GroupingNodeProcs: TYPE = REF GroupingNodeProcsBody;
GroupingNodeProcsBody: TYPE = RECORD[
BuildAbstractValue: BuildAbstractValueProcType];
Constructor
ConstructorNode: TYPE = REF ConstructorNodeBody;
ConstructorNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ConstructorNodeProcs,
data: REF ANY];
ConstructorNodeProcs: TYPE = REF ConstructorNodeProcsBody;
ConstructorNodeProcsBody: TYPE = RECORD[
BuildAbstractValue: BuildAbstractValueProcType];
Binding
BindingNode: TYPE = REF BindingNodeBody;
BindingNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: BindingNodeProcs,
data: REF ANY];
BindingNodeProcs: TYPE = REF BindingNodeProcsBody;
BindingNodeProcsBody: TYPE = RECORD[
BuildAbstractValue: BuildAbstractValueProcType];
NameList
NameListNode: TYPE = REF NameListNodeBody;
NameListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: NameListNodeProcs,
data: REF ANY];
NameListNodeProcs: TYPE = REF NameListNodeProcsBody;
NameListNodeProcsBody: TYPE = RECORD[
BuildTGN: BuildTGNProcType];
Number
NumberNode: TYPE = REF NumberNodeBody;
NumberNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: NumberNodeProcs,
data: REF ANY];
NumberNodeProcs: TYPE = REF NumberNodeProcsBody;
NumberNodeProcsBody: TYPE = RECORD[
BuildAbstractValue: BuildAbstractValueProcType];
MakeSymbolTableProcType: TYPE = PROC[REF ANY] RETURNS[ROPE, CARD, CARD, TypeGraph];
BuildRIBProcType: TYPE = PROC[REF ANY] RETURNS[RIB];
BuildScopeProcType: TYPE = PROC[REF ANY] RETURNS[SCOPE];
BuildItemTableProcType: TYPE = PROC[REF ANY] RETURNS[SCOPE];
BuildItemProcType: TYPE = PROC[REF ANY] RETURNS[ITEM];
BuildTypeGraphProcType: TYPE = PROC[REF ANY, CONTEXT] RETURNS[TypeGraph];
BuildNamedItemProcType: TYPE = PROC[REF ANY, CONTEXT] RETURNS[ROPE, TypeGraphNode, AbstractValue];
BuildTGNProcType: TYPE = PROC[REF ANY, CONTEXT] RETURNS[TypeGraphNode];
BuildAbstractValueProcType: TYPE = PROC[REF ANY, CONTEXT] RETURNS[AbstractValue];
END..