DIRECTORY WartDef USING [Generic], HashTable USING [Table], IO USING [STREAM], Rope USING [ROPE]; SiroccoPrivate: CEDAR DEFINITIONS ~ { Version: READONLY ROPE; Generic: TYPE ~ WartDef.Generic; ROPE: TYPE ~ Rope.ROPE; Table: TYPE ~ HashTable.Table; Constant: TYPE ~ REF; Type: TYPE ~ REF; CComponent: TYPE ~ REF CComponentBody; CComponentBody: TYPE ~ RECORD [ name: ROPE, sibling: CComponent, type: ROPE, val: CARD -- how about NAT? (bj) ]; CType: TYPE ~ REF CTypeBody; CTypeBody: TYPE ~ RECORD [ bound: CARD, -- how about NAT? (bj) children: CComponent, class: Generic, variable: Variable ]; DirectoryEntry: TYPE ~ RECORD [ constant: ROPE, functions: LIST OF ROPE, type: ROPE, value: Constant ]; FunctionList : TYPE ~ LIST OF ROPE; TABLES: TYPE ~ REF TablesBody; TablesBody: TYPE ~ RECORD [ condensedFunctionTable: Table, condensedTypeTable: Table, directory: Table, errors: Table, functionTable: Table, globalTable: Table, localTable: Table, madeUpNameTable: Table, procedures: Table, typeTable: Table, unresolvedConstantTable: Table, unresolvedTypeTable: Table, workTable: Table ]; UnresolvedConstantTableEntry: TYPE ~ RECORD [ constant: Constant, type: Type ]; Variable: TYPE ~ {constant, unvisited, variable}; Handle: TYPE ~ REF Object; Object: TYPE ~ RECORD [ allTheTables: TABLES, defStream: IO.STREAM, defRope: ROPE, initStream: IO.STREAM, initfile: ROPE, programName: ROPE, programNo: NAT, programKey: ROPE, programKeyWD: ROPE, uniqueNo: NAT, uniqueName: ROPE, versionNo: NAT ]; AquireState: SIGNAL RETURNS [Handle]; EndItAll: ERROR; MakeUpName: PROC [base: ROPE, postfix: ROPE, tables: TABLES] RETURNS [madeUpName: ROPE]; Nest: PROC [in: ROPE, level: NAT] RETURNS [out: ROPE]; NewFcn: PROC [name: ROPE, obj: ROPE, size: INT] RETURNS [out: ROPE]; Sort: PROC [list: CComponent] RETURNS [comp: CComponent]; UnDo: PROC [in: ROPE, programKey: ROPE] RETURNS [key: ROPE]; UnDoable: PROC [in: ROPE, programKey: ROPE] RETURNS [out: ROPE, yes: BOOLEAN]; Marshal: PROC [h: Handle, type: CType, typeName: ROPE, name: ROPE, code: ROPE, uniqueNo: NAT, level: NAT _ 2] RETURNS [rc: ROPE, rn: ROPE]; UnMarshal: PROC [h: Handle, type: CType, typeName: ROPE, name: ROPE, code: ROPE, uniqueNo: NAT, level: NAT _ 2] RETURNS [rc: ROPE, rn: ROPE]; FileHeader: PROC [out: IO.STREAM, filename: ROPE]; Collapse: PROC; GenDefs: PROC; GenAuxDefs: PROC; GenAuxImpl: PROC; GenCImpl: PROC; GenSImpl: PROC; }... ΈSiroccoPrivate.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Bhargava, August 9, 1986 1:52:41 pm PDT Bill Jackson (bj) September 25, 1986 3:11:30 am PDT Copied Types Types this is cycle clipping my ugly way! (bj) these are really AbstractSyntax2Def ConstantNode & TypeNode Signals Procs SiroccoPrivateImpl ParserPrivate1Impl GenerateInterface GenerateAuxInterface GenerateAuxImpl GenerateClient GenerateServer Κe˜šœ™Icodešœ Οmœ1™