<> <> <> <> <> <> <<>> <> DIRECTORY BasicTime USING [GMT, Unpacked], Real USING [MaxSinglePrecision, DefaultSinglePrecision], Rope USING [ROPE, Text]; Convert: CEDAR DEFINITIONS = BEGIN GMT: TYPE ~ BasicTime.GMT; Unpacked: TYPE ~ BasicTime.Unpacked; ROPE: TYPE ~ Rope.ROPE; Text: TYPE ~ Rope.Text; Base: TYPE = [2..36] _ 10; RealPrecision: TYPE = [0 .. Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision; TimePrecision: TYPE = { years, months, days, hours, minutes, seconds, unspecified }; Error: ERROR [reason: ErrorType, index: INT]; ErrorType: TYPE = { syntax, overflow, empty, -- parse errors, index gives error location invalidBase, unprintableAtom -- unparse errors, index = 0 }; <> <> <> <From..." proc raises the following errors:>> <> <> <> <> <<>> IntFromRope: PROC [r: ROPE, defaultBase: Base _ 10] RETURNS [INT]; <> <<>> CardFromRope: PROC [r: ROPE, defaultBase: Base _ 10] RETURNS [LONG CARDINAL]; <> <<>> RealFromRope: PROC [r: ROPE] RETURNS [REAL]; <> <<>> TimeFromRope: PROC [r: ROPE] RETURNS [GMT]; <> <<>> UnpackedTimeFromRope: PROC [r: ROPE] RETURNS [Unpacked]; <> <<>> BoolFromRope: PROC [r: ROPE] RETURNS [BOOL]; <> <<>> AtomFromRope: PROC [r: ROPE] RETURNS [ATOM]; <> <<>> <> <<>> CardFromDecimalLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [LONG CARDINAL]; <> <<>> CardFromOctalLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [LONG CARDINAL]; <> <<>> CardFromHexLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [LONG CARDINAL]; <> <<>> CardFromWholeNumberLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [LONG CARDINAL]; <> <<>> RealFromLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [REAL]; <> <<>> RopeFromLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [ROPE]; <> <<>> CharFromLiteral: PROC [r: ROPE, start: INT _ 0] RETURNS [CHAR]; <> <<>> <> <> <> <> <> <> <> <> <<>> RopeFromInt: PROC [from: INT, base: Base _ 10, showRadix: BOOL _ TRUE] RETURNS [Text]; <> <> <<>> RopeFromCard: PROC [from: LONG CARDINAL, base: Base _ 10, showRadix: BOOL _ TRUE] RETURNS [Text]; <> <> <<>> RopeFromReal: PROC [from: REAL, precision: RealPrecision _ Real.DefaultSinglePrecision, useE: BOOL _ FALSE] RETURNS [Text]; <> <<>> RopeFromTime: PROC [from: GMT, start: TimePrecision _ years, end: TimePrecision _ minutes, includeDayOfWeek: BOOL _ FALSE, useAMPM: BOOL _ TRUE, includeZone: BOOL _ TRUE] RETURNS [Text]; <> <> <<>> RopeFromUnpackedTime: PROC [from: Unpacked, start: TimePrecision _ years, end: TimePrecision _ minutes, includeDayOfWeek: BOOL _ FALSE, useAMPM: BOOL _ TRUE, includeZone: BOOL _ TRUE] RETURNS [Text]; <> <<>> RopeFromBool: PROC [from: BOOL] RETURNS [Text]; <> <<>> RopeFromAtom: PROC [from: ATOM, quote: BOOL _ TRUE] RETURNS [ROPE]; <> <" if from = NIL). If quote then inserts a leading quote ($) and checks that the print name is a valid Cedar identifier.>> <<>> RopeFromRope: PROC [from: ROPE, quote: BOOL _ TRUE] RETURNS [Text]; <> <<>> RopeFromChar: PROC [from: CHAR, quote: BOOL _ TRUE] RETURNS [Text]; <> AppendInt: PROC [to: REF TEXT, from: INT, base: Base _ 10, showRadix: BOOL _ TRUE] RETURNS [REF TEXT]; <> <<>> AppendCard: PROC [to: REF TEXT, from: LONG CARDINAL, base: Base _ 10, showRadix: BOOL _ TRUE] RETURNS [REF TEXT]; <> <<>> AppendReal: PROC [to: REF TEXT, from: REAL, precision: RealPrecision _ Real.DefaultSinglePrecision, useE: BOOL _ FALSE] RETURNS [REF TEXT]; <> <<>> AppendTime: PROC [to: REF TEXT, from: GMT, start: TimePrecision _ years, end: TimePrecision _ minutes, includeDayOfWeek: BOOL _ FALSE, useAMPM: BOOL _ TRUE, includeZone: BOOL _ TRUE] RETURNS [REF TEXT]; AppendUnpackedTime: PROC [to: REF TEXT, from: Unpacked, start: TimePrecision _ years, end: TimePrecision _ minutes, includeDayOfWeek: BOOL _ FALSE, useAMPM: BOOL _ TRUE, includeZone: BOOL _ TRUE] RETURNS [REF TEXT]; AppendBool: PROC [to: REF TEXT, from: BOOL] RETURNS [REF TEXT]; AppendAtom: PROC [to: REF TEXT, from: ATOM, quote: BOOL _ TRUE] RETURNS [REF TEXT]; <> <<>> AppendRope: PROC [to: REF TEXT, from: ROPE, quote: BOOL _ TRUE] RETURNS [REF TEXT]; AppendChar: PROC [to: REF TEXT, from: CHAR, quote: BOOL _ TRUE] RETURNS [REF TEXT]; <> FtoRope: PROC [r: REAL, afterDot: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [rope: ROPE]; AppendF: PROC [buffer: REF TEXT, r: REAL, afterDot: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> EtoRope: PROC [r: REAL, afterDot: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [rope: ROPE]; AppendE: PROC [buffer: REF TEXT, r: REAL, precision: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> GtoRope: PROC [r: REAL, precision: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [rope: ROPE]; AppendG: PROC [buffer: REF TEXT, r: REAL, precision: [0..Real.MaxSinglePrecision] _ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> END.