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; LocalContext: CedarType From SaffronContext; CreateEmptyContext: CedarFunction [ ] Returns [ LocalContext ] From SaffronContext; TypeGraphNode: CedarType From SaffronContext; FindBottomTGN: CedarFunction [ LocalContext ] Returns [ TypeGraphNode ] From SaffronContext; FindLocallyVisibleTGN: CedarFunction [ LocalContext, Id ] Returns [ TypeGraphNode ] From SaffronContext; CreateLocallyVisibleTGN: CedarFunction [ LocalContext, Id ] Returns [ LocalContext, TypeGraphNode ] From SaffronContext; AddArcFromLVTGNToTGN: CedarFunction [ LocalContext, TypeGraphNode, TypeGraphNode ] Returns [ LocalContext ] From SaffronContext; CreateRecordTGN: CedarFunction [ LocalContext, Paint, FrozenFieldList ] Returns [ LocalContext, TypeGraphNode ] From SaffronContext; CreateRefTGN: CedarFunction [ LocalContext, TypeGraphNode, TypeGraphNode ] Returns [ LocalContext, TypeGraphNode ] From SaffronContext; CreateEmptyEnumTypeTGN: CedarFunction [ LocalContext ] Returns [ LocalContext, TypeGraphNode ] From SaffronContext; AppendElementToEnumTypeTGN: CedarFunction [ LocalContext, TypeGraphNode, Id ] Returns [ LocalContext ] From SaffronContext; Field: CedarType From SaffronContext; FieldList: CedarType From SaffronContext; FrozenFieldList: CedarType From SaffronContext; CreateNamedField: CedarFunction [ Id, TypeGraphNode ] Returns [ Field ] From SaffronContext; CreateUnnamedField: CedarFunction [ TypeGraphNode ] Returns [ Field ] From SaffronContext; CreateEmptyFieldList: CedarFunction [ ] Returns [ FieldList ] From SaffronContext; AppendFieldToFieldList: CedarFunction [FieldList, Field ] Returns [ FieldList ] From SaffronContext; FreezeFieldList: CedarFunction [LocalContext, FieldList ] Returns [ LocalContext, FrozenFieldList ] From SaffronContext; EltList: CedarType From SaffronContext; BuildEmptyEltList: CedarFunction [ ] Returns [ EltList ] From SaffronContext; EltListInsert: CedarFunction [ EltList.a, id ] Returns [ EltList.b, BOOLEAN ] From SaffronContext; EltListLookup: CedarFunction [ EltList, id ] Returns [ OrdinalValue ] From SaffronContext; Paint: CedarType From SaffronContext; GetUnpaintedPaint: CedarFunction [ LocalContext ] Returns [ Paint ] From SaffronContext; GetUniquePaint: CedarFunction [ LocalContext ] Returns [ LocalContext, Paint ] From SaffronContext; End. 6SaffronBaseDecls.ThreeC4 Copyright Σ 1987 by Xerox Corporation. All rights reserved. Shoup, August 8, 1986 5:53:23 pm PDT Bill Jackson (bj) April 27, 1987 3:45:56 pm PDT Lucy Hederman July 17, 1987 5:47:51 pm PDT GenericToken Context LocalContext TypeGraphNode Fields and FieldLists EltList Paint eof... Κ1˜šœ™Icode™;Jšœ$™$K™/K™*—J˜šΟnœ˜head–%clearTabStops 18 sp flushLeft tabStopšΟz ™ K–%clearTabStops 18 sp flushLeft tabStopšœ Πiz œ˜*K–%clearTabStops 18 sp flushLeft tabStopšœ Ÿ œ˜&K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ˜"K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ ˜K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ˜#K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ˜"K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ˜!K–%clearTabStops 18 sp flushLeft tabStopšœŸ œ˜!—K˜K˜K˜—š œ˜J˜KšΟkœŸ œ˜Kš œŸ œ˜Kš œŸ œŸœ˜Kš œŸ œŸœ œ˜šž™šž ™ Jš œŸ œŸœ˜,J˜šΟbœ˜JšŸ œ˜JšŸœ˜JšŸœ˜J˜———šž ™ š œŸ œŸœ˜-J˜š œ˜JšŸ œ˜JšŸœ˜JšŸœ˜J˜—šœ˜JšŸ œ˜"JšŸœ˜JšŸœ˜J˜—šœ˜JšŸ œ˜"JšŸœ ˜'JšŸœ˜J˜—šœ˜JšŸ œ/˜