-- File [Ivy]Lupine>LupineExerciser.mesa. -- Last edited by BZM on 9-Mar-82 17:05:26. LupineExerciser: DEFINITIONS = BEGIN Counter: TYPE = INTEGER; String: TYPE = LONG STRING _ NIL; StandardPasses: Counter = 1; StandardTrialsPerPass: Counter = 1; StandardTestsPerTrial: Counter = 2000; Exercise: TYPE = RECORD [ name, description: String _ NIL, routine: ExerciseProc ]; ExerciseIndex: TYPE = INTEGER[0..LAST[INTEGER]]; ExerciseList: TYPE = LONG DESCRIPTOR FOR READONLY ARRAY ExerciseIndex OF Exercise _ NIL; ExerciseProc: TYPE = PROCEDURE [ exerciser: Handle, name: String, trials: Counter _ StandardTrialsPerPass, testsPerTrial: Counter _ StandardTestsPerTrial, checkResults: BOOLEAN _ TRUE ]; Handle: TYPE [1]; PerformExercises: PROCEDURE [ nameOfExercisedInterface: String, exercises: ExerciseList ]; BadExercise: SIGNAL; Start: PROCEDURE [self: Handle, name: String]; Stamp: PROCEDURE [self: Handle]; Delay: PROCEDURE [self: Handle]; Stop: PROCEDURE [self: Handle]; StartPrecisionTiming: PROCEDURE [self: Handle]; StopPrecisionTiming: PROCEDURE [self: Handle]; END. -- LupineExerciser.