<> <> <> <> <> <> <> <> Include [ SaffronBaseDecls ]; SaffronTreeDecls: Module = Begin <> DoTop: <> TreeRecursiveFunction [Tree, ROPE.fileName, Environment.arg, CompilerState.arg] Returns [Environment.res] DamagedReps [Environment.arg]; <> <> <> <> <> <> <> <> <<>> <> <> <> <<>> MakeEnvironment: <> TreeRecursiveFunction [Tree, ROPE.fileName, Environment.arg, CompilerState] Returns [Environment.res] DamagedReps [Environment.arg]; ProcessDirectoryClause: <> <> TreeRecursiveFunction [Tree, FieldList.arg, LocalContext.arg, Environment.arg, CompilerState] Returns [FieldList.res, LocalContext.res, Environment.res] DamagedReps [FieldList.arg, LocalContext.arg, Environment.arg]; <> <> <> <> <> <> <<>> ProcessDirectoryItem: TreeRecursiveFunction [Tree, LocalContext.arg, Environment.arg, CompilerState] Returns [Field, LocalContext.res, Environment.res] DamagedReps [LocalContext.arg, Environment.arg]; <> <> <> <> <<>> <> <> <> <> <> <<>> <> <> <> <> <<>> RestrictNamedTGN: <> TreeRecursiveFunction [Tree, TypeGraphNode.arg] Returns [TypeGraphNode.res] DamagedReps [TypeGraphNode.arg]; <> <> <> <> <> <<>> AddIdsToRestrictionList: <> TreeRecursiveFunction [Tree, TypeGraphNode.named] Returns [TypeGraphNode.res] DamagedReps [TypeGraphNode.named]; <> <> <> <> <> <<>> BuildInterfaceTGN: <> TreeRecursiveFunction [Tree, LocalContext.arg, BOOLEAN.cedar, CompilerState] Returns [LocalContext.res, TypeGraphNode.interface] DamagedReps [LocalContext.arg]; BuildImplementationTGN: <> TreeRecursiveFunction [Tree, LocalContext.arg, BOOLEAN.cedar, CompilerState] Returns [LocalContext.res, TypeGraphNode.implementation] DamagedReps [LocalContext.arg]; <> MakeContextTree: <> TreeRecursiveFunction [ Tree, ContextRib, BOOLEAN.PaintRecords, CompilerState ] Returns [ ContextTree ]; MakeContextTree1: <> TreeRecursiveFunction [ Tree, ContextRib, BOOLEAN.PaintRecords, CompilerState ] Returns [ ContextTree ]; MakeBindListContextTreeWithScope: <> <> TreeRecursiveFunction [ Tree.bindList, ScopePTree, ContextRib, BOOLEAN.PaintRecords, CompilerState ] Returns [ ContextTree ]; MakeBindListContextTreeWithDefBody: <> <> TreeRecursiveFunction [ Tree.bindList, DefBodyPTree, ContextRib, BOOLEAN.PaintRecords, CompilerState ] Returns [ ContextTree ]; HangContextsFromContextTree: <> TreeRecursiveFunction [ Tree, ContextTree.arg, ContextRib, BOOLEAN.PaintRecords, CompilerState ] Returns [ ContextTree.res ] DamagedReps [ ContextTree.arg ]; <> UpdateLocalContext: <> <> TreeRecursiveFunction [ Tree, LocalContext.arg, BOOLEAN.PaintRecords, CompilerState ] Returns [ LocalContext.res ] DamagedReps [ LocalContext.arg ]; AddDeclarationsToFieldList: <> TreeRecursiveFunction [Tree, FieldList.arg, LocalContext.arg, CompilerState] Returns [FieldList.res, LocalContext.res] DamagedReps [FieldList.arg, LocalContext.arg]; AddDeclarationToFieldList: <> TreeRecursiveFunction [Tree, FieldList.arg, LocalContext.arg, CompilerState] Returns [FieldList.res, LocalContext.res] DamagedReps [FieldList.arg, LocalContext.arg]; <> <> <> <> <> <<>> <> <> <> <> <> <<>> <> <> <> <> <> <<>> <> <> <> <> <> <<>> <> <> <> <> <> <<>> <> <> <> <> <> <> MakeType: TreeRecursiveFunction [Tree, LocalContext.a, BOOLEAN.PaintRecords, CompilerState] Returns [ LocalContext.b, TypeGraphNode ] DamagedReps [ LocalContext.a ]; LookupTypeId: <> TreeRecursiveFunction [ Tree, LocalContext.arg] Returns [ LocalContext.res, TypeGraphNode ] DamagedReps [ LocalContext.arg ]; MakeArgumentLists: <> TreeRecursiveFunction [ Tree, LocalContext.a, BOOLEAN.PaintRecords, CompilerState ] Returns [ LocalContext.b, FrozenFieldList.input, FrozenFieldList.output ] DamagedReps [ LocalContext.a ]; MakeFieldList: <> TreeRecursiveFunction [ Tree, LocalContext.a, BOOLEAN.PaintRecords, CompilerState ] Returns [ LocalContext.b, FieldList ] DamagedReps [ LocalContext.a ]; AddPairsToFieldList: <> TreeRecursiveFunction [Tree, LocalContext.a, FieldList.a, BOOLEAN.PaintRecords, CompilerState] Returns [ LocalContext.b, FieldList.b ] DamagedReps [ LocalContext.a, FieldList.a ]; AddToFieldList: <> TreeRecursiveFunction [Tree, LocalContext.a, FieldList.a, BOOLEAN.PaintRecords, CompilerState] Returns [ LocalContext.b, FieldList.b ] DamagedReps [ LocalContext.a, FieldList.a ]; AddNamesToFieldList: < pairs to the FieldList>> TreeRecursiveFunction [ Tree, AccessVal, TypeGraphNode, DefaultExp, FieldList.a ] Returns [ FieldList.b ] DamagedReps [ FieldList.a ]; AddTypeDeclarationToFieldList: TreeRecursiveFunction [Tree, FieldList.arg, LocalContext.arg, CompilerState, AccessVal.id, AccessVal.type, TypeGraphNode, TypeExpPTree, DefaultExp] Returns [FieldList.res, LocalContext.res] DamagedReps [FieldList.arg, LocalContext.arg]; AddValueDeclarationToFieldList: TreeRecursiveFunction [Tree, FieldList.arg, CompilerState, DeclarationPTree, AccessVal, TypeGraphNode, InitializationPTree] Returns [FieldList.res] DamagedReps [FieldList.arg]; <> <> <> <> <> <<>> MakeElementList: <> TreeRecursiveFunction [ Tree, LocalContext.arg, BOOLEAN.machineDependent ] Returns [ LocalContext.res, TypeGraphNode ] DamagedReps [ LocalContext.arg ]; ElementInfo: TreeRecursiveFunction [ Tree ] Returns [ Id, Value ]; GetPointerTypeInfo: TreeRecursiveFunction [Tree, LocalContext.arg, BOOLEAN.PaintRecords, CompilerState] Returns [ LocalContext.res, BoundsVal, BOOLEAN.readOnly, TypeGraphNode] DamagedReps [ LocalContext.arg ]; MakeTransferMode: TreeRecursiveFunction [ Tree ] Returns [ROPE]; <> MakeUnionList: <> TreeRecursiveFunction [ Tree, LocalContext.a, BOOLEAN.paintRecords, CompilerState] Returns [ LocalContext.b, UnionList ] DamagedReps [ LocalContext.a ]; AddVariantsToUnionList: TreeRecursiveFunction [ Tree, LocalContext.arg, UnionList.arg, BOOLEAN.paintRecords, CompilerState] Returns [LocalContext.res, UnionList.res] DamagedReps [LocalContext.arg, UnionList.arg]; AddNamesToUnionList: <> TreeRecursiveFunction [ Tree, FrozenFieldList, UnionList.arg] Returns [UnionList.res] DamagedReps [UnionList.arg]; MakeTagType: TreeRecursiveFunction [Tree, LocalContext.a, BOOLEAN.PaintRecords, CompilerState] Returns [ LocalContext.b, TypeGraphNode.tag, BOOLEAN.isStarTagType ] DamagedReps [ LocalContext.a ]; MakeStarTagType: <> TreeRecursiveFunction [Tree, LocalContext.a] Returns [ LocalContext.b, TypeGraphNode ] DamagedReps [ LocalContext.a ]; AddVariantNamesToEnumTypeTGN: <> TreeRecursiveFunction [Tree, LocalContext.a, TypeGraphNode] Returns [LocalContext.b] DamagedReps [ LocalContext.a ]; MakeVariantFlavor: <> TreeRecursiveFunction [Tree, CompilerState] Returns [VariantFlavor]; GetIdentInfo: <> TreeRecursiveFunction [ Tree] Returns [Id, PositionVal ]; GetSequenceTagInfo: TreeRecursiveFunction [Tree, CompilerState] Returns [Id, PositionVal, AccessVal]; <> MakeNameSequence: TreeRecursiveFunction [Tree] Returns [NameSequence]; AddNamesToSequence: TreeRecursiveFunction [Tree, NameSequence.arg] Returns [NameSequence.res] DamagedReps [NameSequence.arg]; <> <> <<>> <> <<>> EvaluateExpression: TreeRecursiveFunction [Tree, LocalContext, FieldList, CompilerState, TypeGraphNode.targetType] Returns [Value]; CompileExpression: <> <> <<(1) by CompileAndTypeCheckExpression, or >> <<(2) to compile an argument of a polymorphic operator.>> <> <> TreeRecursiveFunction [Tree, ContextTree.arg, CompilerState, TypeGraphNode.targetType] Returns [Value, ContextTree.res] DamagedReps [ContextTree.arg]; EvaluateSizeOfTypeExpression: TreeRecursiveFunction [Tree, LocalContext, FieldList, CompilerState, TypeGraphNode.targetType] Returns [BigINT]; CompileSizeOfTypeExpression: TreeRecursiveFunction [Tree, ContextTree.arg, CompilerState, TypeGraphNode.targetType] Returns [BigINT]; EvaluateFirstOfTypeExpression: TreeRecursiveFunction [Tree, LocalContext, FieldList, CompilerState, TypeGraphNode.targetType] Returns [Value]; CompileFirstOfTypeExpression: TreeRecursiveFunction [Tree, ContextTree.arg, CompilerState, TypeGraphNode.targetType] Returns [Value]; EvaluateLastOfTypeExpression: TreeRecursiveFunction [Tree, LocalContext, FieldList, CompilerState, TypeGraphNode.targetType] Returns [Value]; CompileLastOfTypeExpression: TreeRecursiveFunction [Tree, ContextTree.arg, CompilerState, TypeGraphNode.targetType] Returns [Value]; CompileLValue: TreeRecursiveFunction [Tree, ContextTree, CompilerState] Returns [ParameterizedFieldDescriptor, TypeGraphNode]; IsPlus: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> IsMinus: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> IsTimes: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> IsDivide: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> IsMod: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> <<>> GetRelationOp: TreeRecursiveFunction [Tree] Returns [RelationOp]; IntegerValueFromLiteral: <> TreeRecursiveFunction [Tree] Returns [BigINT]; CompileQualifiedExpression: TreeRecursiveFunction [Tree, Value.ofExp, ContextTree.arg, CompilerState, TypeGraphNode.targetType] Returns [Value.res, ContextTree.res] DamagedReps [ContextTree.arg]; <> InitializationIsEmpty: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; InitializationIsBinding: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; InitializationIsAssignment: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; GetInitialValue: <> TreeRecursiveFunction [Tree] Returns [Value]; <> <> <<>> <> <<>> Compile: TreeRecursiveFunction [Tree, ContextTree.arg, ProgramGraph.arg, CompilerState] Returns [ContextTree.res, ProgramFragment, ProgramGraph.res] DamagedReps [ContextTree.arg, ProgramGraph.arg]; CompileFrameBlock: <> TreeRecursiveFunction [Tree, TypeGraphNode.transferType, ContextTree.parent, ProgramGraph.arg, CompilerState] Returns [ContextTree, ProgramFragment, ProgramGraph.res] DamagedReps [ContextTree.parent, ProgramGraph.arg]; <> <> <> <> <<>> InternalCompileBlock: <> TreeRecursiveFunction [Tree, LocalContext.withinBlock, FieldList.arg, ProgramGraph.arg, CompilerState] Returns [ContextTree, ProgramFragment, ProgramGraph.res] DamagedReps [LocalContext.withinBlock, FieldList.arg, ProgramGraph.arg]; CompileScope: TreeRecursiveFunction [Tree, LocalContext.withinScope, FieldList.arg, ProgramGraph.arg, CompilerState] Returns [ContextTree, ProgramFragment, ProgramGraph.res] DamagedReps [LocalContext.withinScope, FieldList.arg, ProgramGraph.arg]; <> <> <> <> <<>> CompileInitialization: <> TreeRecursiveFunction [Tree, ContextTree.arg, ProgramGraph.arg, CompilerState, TypeGraphNode.targetType] Returns [ContextTree.res, Value, ProgramGraph.res] DamagedReps [ContextTree.arg, ProgramGraph.arg]; MakeCodeToStoreTOSInVariousLocalFrameSlots: <> TreeRecursiveFunction [Tree, ContextTree] Returns [ProgramFragment]; <> <> <<>> <> AddModulePropertiesToCompilerState: <> TreeRecursiveFunction [Tree, CompilerState.arg] Returns [CompilerState.res] DamagedReps [CompilerState.arg]; <> <> << >> AddValueDependencies: <> TreeRecursiveFunction [Tree, DependencyGraph.arg, DependencyGraphNode.arg] Returns [DependencyGraph.res] DamagedReps [DependencyGraph.arg]; AddSizeDependencies: <> TreeRecursiveFunction [Tree, DependencyGraph.arg, DependencyGraphNode.arg] Returns [DependencyGraph.res] DamagedReps [DependencyGraph.arg]; AddFirstDependencies: TreeRecursiveFunction [Tree, DependencyGraph.arg, DependencyGraphNode.arg] Returns [DependencyGraph.res] DamagedReps [DependencyGraph.arg]; AddLastDependencies: TreeRecursiveFunction [Tree, DependencyGraph.arg, DependencyGraphNode.arg] Returns [DependencyGraph.res] DamagedReps [DependencyGraph.arg]; TypeOpIsCode: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; TypeOpIsFirst: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; TypeOpIsLast: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; TypeOpIsNil: TreeRecursiveFunction [Tree] Returns [BOOLEAN]; <> GetBoundsVal: TreeRecursiveFunction [ Tree ] Returns [ BoundsVal ]; GetLowerAndUpper: <> TreeRecursiveFunction [ Tree ] Returns [ Value.lower, Value.upper ]; GetExpVal: TreeRecursiveFunction [ Tree ] Returns [ Value ]; GetPositionVal: TreeRecursiveFunction [ Tree ] Returns [ PositionVal ]; GetAccessVal: TreeRecursiveFunction [Tree, AccessVal.default] Returns [AccessVal.res]; GetDefaultExpVal: TreeRecursiveFunction [ Tree ] Returns [ DefaultExp ]; IsKeywordPresent: TreeRecursiveFunction [ Tree ] Returns [ BOOLEAN ]; IdVal: <> TreeRecursiveFunction [ Tree ] Returns [ Id ]; RopeFromIdOrString: TreeRecursiveFunction [Tree] Returns [ROPE]; End. <>