<<>> <> <> <> <<>> DIRECTORY MPLeaves, MPTree, CrankTypes, Rope USING [ROPE], IO; CrankOps: CEDAR DEFINITIONS ~ BEGIN OPEN CrankTypes, Rope; <> Error: SIGNAL [message: ROPE, tree: REF]; Assert: PROC [true: BOOLEAN, format: ROPE ¬ NIL, value: IO.Value ¬ [null[]], tree: REF ¬ NIL]; Help: PROC [format: ROPE, value: IO.Value ¬ [null[]], tree: REF ¬ NIL] RETURNS [result: REF ¬ NIL]; <> AddAttribute: PROC [aNode: AttributedNode, name: ATOM, value: REF]; GetAttribute: PROC [aTree: Tree, name: ATOM] RETURNS [value: REF]; ReplaceAttribute: PROC [aNode: AttributedNode, name: ATOM, value: REF]; AddTypeCodeAttribute: PROC [tree: REF, attributeName: ATOM, typeCode: TypeCode]; QualifyIdentifierNode: PROC [tree: Tree, qualifier: ROPE]; <> PropagateAttribute: PROC [dstNode: REF, dstAttributeKey: ATOM, srcNode: AttributedNode, srcAttributeKey: ATOM]; <> GetTypeCodeAttribute: PROC [tree: REF, attributeName: ATOM ¬ NIL] RETURNS [TypeCode]; <> GetTypeValueAttribute: PROC [typeGraph: TypeGraph, tree: REF] RETURNS [TypeCode]; <> <> NewTypeGraph: PROC RETURNS [TypeGraph]; NewType: PROC [typeGraph: TypeGraph, type: Type] RETURNS [typeCode: TypeCode]; NewDefinitionType: PROC [typeGraph: TypeGraph, qualifier: ROPE, shortName: ROPE, groundType: TypeCode] RETURNS [TypeCode]; NewInitialType: PROC [typeGraph: TypeGraph, environmentModule: ROPE, tree: Tree, groundType: TypeCode] RETURNS [TypeCode]; NewReferenceType: PROC [typeGraph: TypeGraph, referentType: TypeCode, class: ATOM] RETURNS [TypeCode]; NewTypeType: PROC [typeGraph: TypeGraph, value: TypeCode] RETURNS [TypeCode]; TypeFromTypeCode: PROC [typeGraph: TypeGraph, typeCode: TypeCode] RETURNS [Type]; UnderType: PROC [typeGraph: TypeGraph, typeCode: TypeCode] RETURNS [Type]; <> <<>> BaseType: PROC [typeGraph: TypeGraph, typeCode: TypeCode] RETURNS [Type]; <> <<>> DIntFromRef: PROC [ref: REF] RETURNS [DINT]; <> FieldProc: TYPE = PROC [fieldIndex: INT, fieldName: ROPE, fieldTypeCode: TypeCode, tagName: ROPE, tagTypeCode: TypeCode] RETURNS [quit: BOOL ¬ FALSE]; <> EnumerateFields: PROC [typeGraph: TypeGraph, typeCode: TypeCode, action: FieldProc] RETURNS [BOOL]; <> QualifyVariant: PROC [typeGraph: TypeGraph, typeCode: TypeCode, qualifier: ROPE] RETURNS [TypeCode]; <> ComputeExternalTypeRep: PROC [typeGraph: TypeGraph]; AssertNotVar: PROC [tree: REF]; <> GetTypeName: PROC [context: Context, typeCode: TypeCode, retainInitalValue: BOOL] RETURNS [LIST OF REF]; GenSym: PROC [typeGraph: TypeGraph, prefix: ROPE] RETURNS [ROPE]; <> NewContext: PROC [parent: Context] RETURNS [Context]; AddSymbol: PROC [context: Context, id: ROPE, val: SymbolTableEntry]; AddFieldListToContext: PROC [context: Context, fieldList: FieldList]; LookupSymbol: PROC [context: Context, id: ROPE] RETURNS [SymbolTableEntry]; Root: PROC [context: Context] RETURNS [Context]; LookupTypeCode: PROC [context: Context, id: ROPE] RETURNS [TypeCode]; GetConcreteTypeCode: PROC [context: Context, typeCode: TypeCode] RETURNS [TypeCode]; <> <<>> ExportType: PROC [context: Context, concrete, opaque: TypeCode]; <> GetIdentifier: PROC [tree: Tree] RETURNS [ROPE]; GetTypeRange: PROC [context: Context, tree: Tree] RETURNS [first, last: DINT]; <> <<>> GetSimpleConstant: PROC [context: Context, tree: Tree] RETURNS [DINT]; <> GetRopeLiteral: PROC [tree: Tree] RETURNS [ROPE]; GetNodeName: PROC [tree: Tree] RETURNS [ATOM]; GetNodeNameCode: PROC [tree: Tree] RETURNS [MPTree.NodeName]; DoList: PROC [listOrItem: Tree, action: PROC [Tree]]; WithId: PROC [tree: Tree, action: PROC [id: ROPE]] RETURNS [BOOL]; WithLiteral: PROC [tree: Tree, action: PROC [literal: REF MPLeaves.LTNode]] RETURNS [BOOL]; With0: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC] RETURNS [BOOL]; DoWith1: PROC [tree: Tree, action: PROC [REF]]; With1: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF]] RETURNS [BOOL]; DoWith2: PROC [tree: Tree, action: PROC [REF, REF]]; With2: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF, REF]] RETURNS [BOOL]; DoWith3: PROC [tree: Tree, action: PROC [REF, REF, REF]]; With3: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF, REF, REF]] RETURNS [BOOL]; DoWith4: PROC [tree: Tree, action: PROC [REF, REF, REF, REF]]; With4: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF, REF, REF, REF]] RETURNS [BOOL]; DoWith5: PROC [tree: Tree, action: PROC [REF, REF, REF, REF, REF]]; With5: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF, REF, REF, REF, REF]] RETURNS [BOOL]; DoWith6: PROC [tree: Tree, action: PROC [REF, REF, REF, REF, REF, REF]]; With6: PROC [tree: Tree, nodeName: MPTree.NodeName, action: PROC [REF, REF, REF, REF, REF, REF]] RETURNS [BOOL]; END.