<<>> <> <> <> <> <> <> <> <> <> <<>> <> DIRECTORY Arpa USING [Address], BasicTime USING [GMT, Unpacked], Real USING [MaxSinglePrecision, DefaultSinglePrecision], Rope USING [ROPE, Text], XNS USING [Address, Host, Net, Socket]; 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 }; AtomFromTimePrecision: PROC [TimePrecision] RETURNS [ATOM]; TimePrecisionFromAtom: PROC [ATOM] RETURNS [TimePrecision]; Error: ERROR [reason: ErrorType, index: INT]; ErrorType: TYPE = MACHINE DEPENDENT { syntax, overflow, empty, -- parse errors, index gives error location invalidBase, unprintableAtom, invalidNetFormat, -- unparse errors, index = 0 (BYTE.LAST) }; AtomFromErrorType: PROC [ErrorType] RETURNS [ATOM]; ErrorTypeFromAtom: PROC [ATOM] RETURNS [ErrorType]; <> <> <> <From..." proc raises the following errors:>> <> <> <> <> <<>> IntFromRope: PROC [r: ROPE, defaultBase: Base ¬ 10] RETURNS [INT]; <> <<>> CardFromRope: PROC [r: ROPE, defaultBase: Base ¬ 10] RETURNS [CARD]; <> <<>> RealFromRope: PROC [r: ROPE] RETURNS [REAL]; <> <<>> DIntFromRope: PROC [r: ROPE] RETURNS [DINT]; <> <<>> DRealFromRope: PROC [r: ROPE] RETURNS [DREAL]; <> <<>> 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 [CARD]; <> <<>> CardFromOctalLiteral: PROC [r: ROPE, start: INT ¬ 0] RETURNS [CARD]; <> <<>> CardFromHexLiteral: PROC [r: ROPE, start: INT ¬ 0] RETURNS [CARD]; <> <<>> CardFromWholeNumberLiteral: PROC [r: ROPE, start: INT ¬ 0] RETURNS [CARD]; <> <<>> DCardFromWholeNumberLiteral: PROC [r: ROPE, start: INT ¬ 0] RETURNS [DCARD]; <> <<>> 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: CARD, base: Base ¬ 10, showRadix: BOOL ¬ TRUE ] RETURNS [Text]; <> <> <<>> RopeFromDInt: PROC [from: DINT, base: Base ¬ 10, showRadix: BOOL ¬ TRUE] RETURNS [Text]; RopeFromDCard: PROC [from: DCARD, base: Base ¬ 10, showRadix: BOOL ¬ TRUE] RETURNS [Text]; RopeFromReal: PROC [from: REAL, precision: RealPrecision ¬ Real.DefaultSinglePrecision, useE: BOOL ¬ FALSE ] RETURNS [Text]; <> <<>> RopeFromDReal: PROC [from: DREAL, precision: [0..17] ¬ 15, 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]; <> <<>> RopeFromTimeRFC822: PROC [from: GMT, includeSeconds: BOOL ¬ TRUE, includeDayOfWeek: BOOL ¬ FALSE, useUT: BOOL ¬ FALSE ] 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: CARD, 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]; <> <<>> AppendDCard: PROC [to: REF TEXT, from: DCARD, base: Base ¬ 10, showRadix: BOOL ¬ TRUE ] RETURNS [REF TEXT]; <> <<>> AppendDReal: PROC [to: REF TEXT, from: DREAL, precision: [0..17] ¬ 15, 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]; AppendTimeRFC822: PROC [to: REF TEXT, from: GMT, includeSeconds: BOOL ¬ TRUE, includeDayOfWeek: BOOL ¬ FALSE, useUT: BOOL ¬ FALSE ] 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: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [ROPE]; AppendF: PROC [buffer: REF TEXT, r: REAL, afterDot: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> EtoRope: PROC [r: REAL, afterDot: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [rope: ROPE]; AppendE: PROC [buffer: REF TEXT, r: REAL, precision: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> GtoRope: PROC [r: REAL, precision: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [rope: ROPE]; AppendG: PROC [buffer: REF TEXT, r: REAL, precision: RealPrecision ¬ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> <> <> <<>> DRealFtoRope: PROC [r: DREAL, afterDot: INTEGER ¬ Real.DefaultSinglePrecision] RETURNS [ROPE]; AppendDRealF: PROC [buffer: REF TEXT, r: DREAL, afterDot: INTEGER ¬ Real.DefaultSinglePrecision] RETURNS [REF TEXT]; <> NetFormat: TYPE = MACHINE DEPENDENT {octal, hex, productSoftware, (BYTE.LAST)}; AtomFromNetFormat: PROC [NetFormat] RETURNS [ATOM]; NetFormatFromAtom: PROC [ATOM] RETURNS [NetFormat]; XNSAddressFromRope: PROC [r: ROPE] RETURNS [XNS.Address]; XNSNetFromRope: PROC [r: ROPE] RETURNS [XNS.Net]; XNSHostFromRope: PROC [r: ROPE] RETURNS [XNS.Host]; XNSSocketFromRope: PROC [r: ROPE] RETURNS [XNS.Socket]; <> <<>> RopeFromXNSAddress: PROC [address: XNS.Address, format: NetFormat ¬ productSoftware] RETURNS [ROPE]; RopeFromXNSNet: PROC [net: XNS.Net, format: NetFormat ¬ productSoftware] RETURNS [ROPE]; RopeFromXNSHost: PROC [host: XNS.Host, format: NetFormat ¬ productSoftware] RETURNS [ROPE]; RopeFromXNSSocket: PROC [socket: XNS.Socket, format: NetFormat ¬ productSoftware] RETURNS [ROPE]; <> ArpaAddressFromRope: PROC [r: ROPE] RETURNS [Arpa.Address]; <<>> RopeFromArpaAddress: PROC [address: Arpa.Address] RETURNS [ROPE]; AppendArpaAddress: PROC [to: REF TEXT, address: Arpa.Address] RETURNS [REF TEXT]; AppendXNSAddress: PROC [to: REF TEXT, address: XNS.Address, format: NetFormat ¬ productSoftware] RETURNS [REF TEXT]; AppendXNSNet: PROC [to: REF TEXT, net: XNS.Net, format: NetFormat ¬ productSoftware] RETURNS [REF TEXT]; AppendXNSHost: PROC [to: REF TEXT, host: XNS.Host, format: NetFormat ¬ productSoftware] RETURNS [REF TEXT]; AppendXNSSocket: PROC [to: REF TEXT, socket: XNS.Socket, format: NetFormat ¬ productSoftware] RETURNS [REF TEXT]; <> END. <> <> <> <> <<>>