-- File [Ivy]<Nelson>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.