DIRECTORY CirioTypes USING[CompilerContext, Mem, Node, Type], Rope USING[ROPE]; Sequences: CEDAR DEFINITIONS = BEGIN CC: TYPE = CirioTypes.CompilerContext; Node: TYPE = CirioTypes.Node; Mem: TYPE = CirioTypes.Mem; Type: TYPE = CirioTypes.Type; SequenceTypeProcs: TYPE = RECORD [ createIndirectNode: PROC [cc: CC, data: REF ANY, indirectType, targetType: Type, mem: Mem] RETURNS [Node], getBitSize: PROC[indirectType: Type, cc: CC, data: REF ANY] RETURNS[CARD], getEntryType: PROC[cc: CC, data: REF ANY] RETURNS[CirioTypes.Type], getNominalArrayType: PROC[cc: CC, data: REF ANY] RETURNS[CirioTypes.Type] ]; CreateSequenceRecordType: PROC[preamble: Type, tailName: Rope.ROPE, tagName: Rope.ROPE, indexType: Type, procs: REF SequenceTypeProcs, cc: CC, data: REF ANY] RETURNS[Type]; IndirectSRProcs: TYPE = RECORD[ selectPreamble: PROC[procsData: REF ANY, cc: CC] RETURNS[CirioTypes.Node], selectTag: PROC[procsData: REF ANY, cc: CC] RETURNS[CirioTypes.Node], selectTailEntry: PROC[index: CARD, procsData: REF ANY, cc: CC] RETURNS[CirioTypes.Node], getPointer: PROC[data: REF ANY, cc: CC] RETURNS[CirioTypes.Node]]; CreateIndirectSequenceNode: PROC[targetSeqType: Type, procs: REF IndirectSRProcs, procsData: REF ANY, cc: CC] RETURNS[Node]; END. v Sequences.mesa Copyright Ó 1991 by Xerox Corporation. All rights reserved. Sturgis, February 22, 1989 3:43:40 pm PST Last changed by Theimer on July 16, 1989 4:44:16 pm PDT Spreitze, May 21, 1991 8:20 am PDT CirioCode.GetTypeClass[type] = $sequence CCTypes.GetTypeRepresentation will return NIL. Note: selectEntry[0, cc, data] selects the first entry in the array. ÊR•NewlineDelimiter ™codešœ™K™