<<>> <> <> <> <<>> DIRECTORY CrankTypes USING [AttributedNode, Context, EnumerationItem, FieldList, Tree, TypeCode, TypeGraph, TypeRep, VariantList], Rope USING [ROPE]; CrankAnalyze: CEDAR DEFINITIONS ~ BEGIN OPEN CrankTypes, Rope; ConvertFile: PROC [fileName: ROPE, structure: BOOL ¬ TRUE, analyze: BOOL ¬ TRUE, skipAttributes: LIST OF ATOM ¬ NIL] RETURNS [fullFName: ROPE]; Convert: PROC [fileName: ROPE, analyze: BOOL, action: PROC [tree: Tree, context: Context]]; GetSymbols: PROC [context: Context, interfaceFileName: ROPE] RETURNS [REF TypeRep.record]; FillTypeAttributes: PROC [typeGraph: TypeGraph, tree: Tree]; AnalyzeModule: PROC [context: Context, tree: Tree]; AnalyzeDecl: PROC [context: Context, tree: Tree, parent: AttributedNode, pass: [1..3]] RETURNS [BOOL]; AnalyzeTypeDecl: PROC [context: Context, tree: Tree, parent: AttributedNode, pass: [1..3]] RETURNS [BOOL]; AnalyzeBodyOrExpression: PROC [context: Context, tree: Tree, parent: AttributedNode, pass: [1..3]]; AnalyzeExpression: PROC [context: Context, tree: Tree] RETURNS [BOOL]; AnalyzeStatement: PROC [context: Context, tree: Tree]; FieldListFromEnumeration: PROC [items: LIST OF EnumerationItem, rangeType: TypeCode] RETURNS [FieldList]; GetConstructorFieldList: PROC [context: Context, neededTypeCode: TypeCode] RETURNS [FieldList]; AnalyzeFieldList: PROC [context: Context, fieldListNode: Tree] RETURNS [FieldList]; AnalyzeVariantList: PROC [context: Context, variantListNode: Tree] RETURNS [VariantList]; AnalyzeTypePass: PROC [context: Context, tree: Tree, pass: [1..3]] RETURNS [BOOL]; AnalyzeType: PROC [context: Context, tree: Tree]; <> ProcessModuleList: PROC [context: Context, moduleList: Tree, import: BOOL]; ProcessSharesList: PROC [context: Context, moduleList: Tree]; AddDirectoryItem: PROC [context: Context, tree: Tree]; END.