<> <> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE]; <<>> SaffronErrorHandling: CEDAR DEFINITIONS ~ BEGIN <> Message: SIGNAL[message: Rope.ROPE]; Warning: SIGNAL[position: INT, reason: Rope.ROPE]; Error: SIGNAL[position: INT, reason: Rope.ROPE]; FatalError: ERROR[position: INT, reason: Rope.ROPE]; InternalError: ERROR[reason: Rope.ROPE]; <> SignalMessage: PROC[message: Rope.ROPE] ~ INLINE { SIGNAL Message[message]; }; SignalWarning: PROC[position: INT, reason: Rope.ROPE] ~ INLINE { SIGNAL Warning[position, reason]; }; SignalError: PROC[position: INT, reason: Rope.ROPE] ~ INLINE { SIGNAL Error[position, reason]; }; ErrorFatalError: PROC[position: INT, reason: Rope.ROPE] ~ INLINE { ERROR FatalError[position, reason]; }; ErrorInternalError: PROC[reason: Rope.ROPE] ~ INLINE { ERROR InternalError[reason]; }; <> ReportMessage: PROC[stream: IO.STREAM, count: INT, message: Rope.ROPE]; ReportWarning: PROC[stream: IO.STREAM, count: INT, position: INT, reason: Rope.ROPE]; ReportError: PROC[stream: IO.STREAM, count: INT, position: INT, reason: Rope.ROPE]; ReportFatalError: PROC[stream: IO.STREAM, count: INT, position: INT, reason: Rope.ROPE]; ReportInternalError: PROC[stream: IO.STREAM, reason: Rope.ROPE]; END. <<>>