<> <> <> <> SaffronGeneric: Module = Begin <> decimalnum: GenericToken = "tokenDECIMAL"; octalnum: GenericToken = "tokenOCTAL"; hexnum: GenericToken = "tokenHEX"; id: GenericToken = "tokenID"; string: GenericToken = "tokenROPE"; flnum: GenericToken = "tokenREAL"; char: GenericToken = "tokenCHAR"; atom: GenericToken = "tokenATOM"; End; SaffronBase: Module = Begin BOOLEAN: CedarType; INT: CedarType; ROPE: CedarType From Rope; STREAM: CedarType From IO; <> BotchAction: CedarEnumType = {quit, debug} From CedarBaseMisc; Assert: CedarFunction [ BOOLEAN.a, ROPE, BotchAction ] Returns [ BOOLEAN.b ] From CedarBaseMisc; True: CedarFunction [ ] Returns [ BOOLEAN ] From CedarBaseMisc; False: CedarFunction [ ] Returns [ BOOLEAN ] From CedarBaseMisc; Not: CedarFunction [ BOOLEAN.a ] Returns [ BOOLEAN.b ] From CedarBaseMisc; And: CedarFunction [ BOOLEAN.a, BOOLEAN.b ] Returns [ BOOLEAN.c ] From CedarBaseMisc; Or: CedarFunction [ BOOLEAN.a, BOOLEAN.b ] Returns [ BOOLEAN.c ] From CedarBaseMisc; Output: CedarFunction [ ] Returns [ STREAM ] From CedarBaseMisc; <> <> LocalContext: CedarType From CedarBaseContext; PrintLocalContext: CedarFunction [ LocalContext, STREAM ] Returns [ BOOLEAN ] From CedarBaseContext; CreateLocalContext: CedarFunction [ ] Returns [ LocalContext ] From CedarBaseContext; XLocalContext: CedarFunction [ LocalContext.a ] Returns [ LocalContext.b ] DamagedReps [ LocalContext.a ] From CedarBaseContext; LocalLookup: CedarFunction [ LocalContext, id ] Returns [ Descriptor ] From CedarBaseContext; InsertContext: CedarFunction [ LocalContext.a, id, Descriptor ] Returns [ LocalContext.b, BOOLEAN ] DamagedReps [ LocalContext.a ] From CedarBaseContext; ReplaceContext: CedarFunction [ LocalContext.a, id, Descriptor ] Returns [ LocalContext.b, BOOLEAN ] DamagedReps [ LocalContext.a ] From CedarBaseContext; <> RibContext: CedarType From CedarBaseContext; CreateRibContext: CedarFunction [ ] Returns [ RibContext ] From CedarBaseContext; RibLookup: CedarFunction [ RibContext, id ] Returns [ Descriptor ] From CedarBaseContext; Lookup: CedarFunction [ RibContext, LocalContext, id ] Returns [ Descriptor ] From CedarBaseContext; ExtendRibContext: CedarFunction [ RibContext.a, LocalContext ] Returns [ RibContext.b ] SharedReps [ LocalContext, RibContext.b ] From CedarBaseContext; <> Descriptor: CedarType From CedarBaseContext; BuildValueDescriptor: CedarFunction [ Value ] Returns [ Descriptor ] From CedarBaseContext; GetValue: CedarFunction [ Descriptor ] Returns [ Value ] From CedarBaseContext; IsValueDescriptor: CedarFunction [ Descriptor ] Returns [ BOOLEAN ] From CedarBaseContext; BuildSuspendedDescriptor: CedarFunction [ Tree ] Returns [ Descriptor ] From CedarBaseContext; IsSuspendedDescriptor: CedarFunction [ Descriptor ] Returns [ BOOLEAN ] From CedarBaseContext; DescriptorGetDecl: CedarFunction [ Descriptor ] Returns [ Tree ] From CedarBaseContext; BuildInaccessibleDescriptor: CedarFunction [ ] Returns [ Descriptor ] From CedarBaseContext; IsInaccessibleDescriptor: CedarFunction [ Descriptor ] Returns [ BOOLEAN ] From CedarBaseContext; BuildTypeDescriptor: CedarFunction [ TypeIndex ] Returns [ Descriptor ] From CedarBaseContext; GetType: CedarFunction [ Descriptor ] Returns [ TypeIndex ] From CedarBaseContext; IsTypeDescriptor: CedarFunction [ Descriptor ] Returns [ BOOLEAN ] From CedarBaseContext; BuildUndefinedDescriptor: CedarFunction [ ] Returns [ Descriptor ] From CedarBaseContext; IsUndefinedDescriptor: CedarFunction [ Descriptor ] Returns [ BOOLEAN ] From CedarBaseContext; <> ContextTree: CedarType From CedarBaseContext; BuildContextTree: CedarFunction [ RibContext, ContextTreeList ] Returns [ ContextTree ] From CedarBaseContext; <> ContextTreeList: CedarType From CedarBaseContext; BuildEmptyContextTreeList: CedarFunction [ ] Returns [ ContextTreeList ] From CedarBaseContext; <> <> TypeGraph: CedarType From CedarBaseType; PrintTypeGraph: CedarFunction [ TypeGraph, STREAM ] Returns [ BOOLEAN ] From CedarBaseType; CreateTypeGraph: CedarFunction [ ] Returns [ TypeGraph ] From CedarBaseType; XTypeGraph: CedarFunction [ TypeGraph.a ] Returns [ TypeGraph.b ] DamagedReps [ TypeGraph.a ] From CedarBaseType; AddType: CedarFunction [ TypeGraph.a, TypeNode ] Returns [ TypeGraph.b, TypeIndex ] DamagedReps [ TypeGraph.a ] From CedarBaseType; SetType: CedarFunction [ TypeGraph.a, TypeNode, TypeIndex ] Returns [ TypeGraph.b ] DamagedReps [ TypeGraph.a ] From CedarBaseType; RawFetchType: CedarFunction [ TypeGraph, TypeIndex ] Returns [ TypeNode ] From CedarBaseType; NewPaint: CedarFunction [ TypeGraph.a ] Returns [ TypeGraph.b, Paint ] DamagedReps [ TypeGraph.a ] From CedarBaseType; FetchType: CedarFunction [ TypeGraph.a, TypeIndex, LocalContext.a, RibContext ] Returns [ TypeNode, LocalContext.b, TypeGraph.b ] DamagedReps [ LocalContext.a, TypeGraph.a ] From CedarBaseTypeAux; AddOrSetType: CedarFunction [ TypeGraph.a, TypeNode, TypeIndex.opt ] Returns [ TypeGraph.b, TypeIndex ] DamagedReps [ TypeGraph.a ] From CedarBaseTypeAux; FetchAllSizes: CedarFunction [ TypeGraph.a, LocalContext.a, RibContext ] Returns [ LocalContext.b, TypeGraph.b ] DamagedReps [ LocalContext.a, TypeGraph.a ] From CedarBaseTypeAux; <> TypeIndex: CedarType From CedarBaseType; PrintTypeIndex: CedarFunction [ TypeIndex ] Returns [ BOOLEAN ] From CedarBaseType; XTypeIndex: CedarFunction [ TypeIndex.a ] Returns [ TypeIndex.b ] From CedarBaseType; UndefinedTypeIndex: CedarFunction [ ] Returns [ TypeIndex ] From CedarBaseType; IsUndefinedTypeIndex: CedarFunction [ TypeIndex ] Returns [ BOOLEAN ] From CedarBaseType; <> TypeNode: CedarType From CedarBaseType; PrintTypeNode: CedarFunction [ TypeNode ] Returns [ BOOLEAN ] From CedarBaseType; GetPaint: CedarFunction [ TypeNode ] Returns [ Paint ] From CedarBaseType; GetTypeBounds: CedarFunction [ TypeNode ] Returns [ TypeBounds ] From CedarBaseType; BuildSuspendedType: CedarFunction [ Tree ] Returns [ TypeNode ] From CedarBaseType; IsSuspendedType: CedarFunction [ TypeNode ] Returns [ BOOLEAN ] From CedarBaseType; GetTypeDecl: CedarFunction [ TypeNode ] Returns [ Tree ] From CedarBaseType; BuildInaccessibleType: CedarFunction [ ] Returns [ TypeNode ] From CedarBaseType; IsInaccessibleType: CedarFunction [ TypeNode ] Returns [ BOOLEAN ] From CedarBaseType; BuildUndefinedType: CedarFunction [ ] Returns [ TypeNode ] From CedarBaseType; BuildRecordType: CedarFunction [ FieldList ] Returns [ TypeNode ] From CedarBaseType; BuildEnumType: CedarFunction [ Paint, EltList ] Returns [ TypeNode ] From CedarBaseType; IsEnumType: CedarFunction [ TypeNode ] Returns [ BOOLEAN ] From CedarBaseType; EnumTypeEltList: CedarFunction [ TypeNode ] Returns [ EltList ] From CedarBaseType; BuildSubrangeType: CedarFunction [ TypeNode.a, TypeBounds ] Returns [ TypeNode.b ] From CedarBaseType; BuildRefType: CedarFunction [ TypeIndex ] Returns [ TypeNode ] From CedarBaseType; IsRefType: CedarFunction [ TypeNode ] Returns [ BOOLEAN ] From CedarBaseType; GetReferentType: CedarFunction [ TypeNode ] Returns [ TypeIndex ] From CedarBaseType; <> Paint: CedarType From CedarBaseType; PaintEqual: CedarFunction [ Paint.a, Paint.b ] Returns [ BOOLEAN ] From CedarBaseType; BuildUndefinedPaint: CedarFunction [ ] Returns [ Paint ] From CedarBaseType; IsUndefinedPaint: CedarFunction [ Paint ] Returns [ BOOLEAN ] From CedarBaseType; <> TypeBounds: CedarType From CedarBaseType; BuildUndefinedTypeBounds: CedarFunction [ ] Returns [ TypeBounds ] From CedarBaseType; IsUndefinedTypeBounds: CedarFunction [ TypeBounds ] Returns [ BOOLEAN ] From CedarBaseType; BuildTypeBounds: CedarFunction [ OrdinalValue.a, OrdinalValue.b, BOOLEAN.a, BOOLEAN.b ] Returns [ TypeBounds ] From CedarBaseType; <> FieldList: CedarType From CedarBaseType; BuildNullFieldList: CedarFunction [ ] Returns [ FieldList ] From CedarBaseType; BuildNamedFieldList: CedarFunction [ NamedFieldList ] Returns [ FieldList ] SharedReps [ NamedFieldList, FieldList ] From CedarBaseType; BuildUnnamedFieldList: CedarFunction [ UnnamedFieldList ] Returns [ FieldList ] SharedReps [ UnnamedFieldList, FieldList ] From CedarBaseType; <> NamedFieldList: CedarType From CedarBaseType; CreateNamedFieldList: CedarFunction [ ] Returns [ NamedFieldList ] From CedarBaseType; AddNamedField: CedarFunction [ NamedFieldList.a, id, FieldDescriptor ] Returns [ NamedFieldList.b, BOOLEAN ] DamagedReps [ NamedFieldList.a ] From CedarBaseType; <> UnnamedFieldList: CedarType From CedarBaseType; CreateUnnamedFieldList: CedarFunction [ ] Returns [ UnnamedFieldList ] From CedarBaseType; AddUnnamedField: CedarFunction [ UnnamedFieldList.a, FieldDescriptor ] Returns [ UnnamedFieldList.b ] DamagedReps [ UnnamedFieldList.a ] From CedarBaseType; <> FieldDescriptor: CedarType From CedarBaseType; BuildFieldDescriptor: CedarFunction [ TypeIndex ] Returns [ FieldDescriptor ] From CedarBaseType; GetFieldType: CedarFunction [ FieldDescriptor ] Returns [ TypeIndex ] From CedarBaseType; <> EltList: CedarType From CedarBaseType; BuildEmptyEltList: CedarFunction [ ] Returns [ EltList ] From CedarBaseType; EltListInsert: CedarFunction [ EltList.a, id ] Returns [ EltList.b, BOOLEAN ] From CedarBaseType; EltListLookup: CedarFunction [ EltList, id ] Returns [ OrdinalValue ] From CedarBaseType; <> OrdinalValue: CedarType From CedarBaseType; IsUndefinedOrdinalValue: CedarFunction [ OrdinalValue ] Returns [ BOOLEAN ] From CedarBaseType; <> Value: CedarType From CedarBaseValue; BuildVarValue: CedarFunction [ TypeIndex ] Returns [ Value ] From CedarBaseValue; IsVarValue: CedarFunction [ Value ] Returns [ BOOLEAN ] From CedarBaseValue; BuildSimpleValue: CedarFunction [ TypeIndex, OrdinalValue ] Returns [ Value ] From CedarBaseValue; IsSimpleValue: CedarFunction [ Value ] Returns [ BOOLEAN ] From CedarBaseValue; ValueGetType: CedarFunction [ Value ] Returns [ TypeIndex ] From CedarBaseValue; ValueGetOrdinal: CedarFunction [ Value ] Returns [ OrdinalValue ] From CedarBaseValue; End. <>