DIRECTORY CirioTypes USING[BasicTypeInfo, CompilerContext, Node, Type], IO USING[STREAM]; Procedures: CEDAR DEFINITIONS = BEGIN CC: TYPE = CirioTypes.CompilerContext; Node: TYPE = CirioTypes.Node; Type: TYPE = CirioTypes.Type; BasicTypeInfo: TYPE = CirioTypes.BasicTypeInfo; CreateProcedureType: PROC[args, results: Type, cc: CC, bti: BasicTypeInfo] RETURNS[Type]; CreateProcLiteralType: PROC [proc: ProcLiteral, cc: CC] RETURNS [Type]; ProcedureNodeInfo: TYPE = REF ProcedureNodeInfoBody; ProcedureNodeInfoBody: TYPE = RECORD[ call: PROC[args: Node, cc: CC, data: REF ANY] RETURNS[Node], show: PROC[to: IO.STREAM, data: REF ANY, depth, width: INT], data: REF ANY]; ProcLiteral: TYPE = REF ProcLiteralBody; ProcLiteralBody: TYPE = RECORD [ procType: Type, procNodeInfo: ProcedureNodeInfo ]; CreateProcedureNode: PROC[type: Type, info: ProcedureNodeInfo] RETURNS[Node]; CreateProcLiteralNode: PROC [proc: ProcLiteral, cc: CC] RETURNS [Node]; END. ô Procedures.mesa Sturgis, January 27, 1989 4:03:29 pm PST Last changed by Theimer on July 16, 1989 4:41:39 pm PDT Spreitze, January 9, 1992 10:32 am PST CirioCode.GetTypeClass[type] = $procedure CCTypes.GetTypeRepresentation will return bti. CirioCode.GetTypeClass[type] = $procedure CCTypes.GetTypeRepresentation will return NIL. Procedure nodes support the getRepresentation object procedure (CedarCode.GetNodeRepresentation). They return the info parameter supplied to the Create call. Êÿ•NewlineDelimiter ™codešœ™Kšœ(™(K™7K™&—K˜šÏk ˜ Kšœ œ-˜=Kšœœœ˜—K˜šÏn œœ œ˜Kš˜K˜Kšœœ˜&Kšœœ˜K˜Kšœœ˜Kšœœ˜/K˜šžœœœœ˜YKšœ)™)Kšœ.™.—K™šžœœœœ˜GKšœ)™)Kšœ*œ™.—K˜Kšœœœ˜4šœœœ˜%Kš œœœœœœ˜