DEFINITION MODULE Interpreter; (* gf 06.01.89 *) EXPORT QUALIFIED INSTR, Command, maxlev, Interpret; CONST maxlev = 15; TYPE Command = ( msp, la, li, lis, jmp, jmpc, call, ret, ld, st, dup, mv, neg, odd, add, sub, mul, div, eq, ne, lt, ge, gt, le, and, or, not, ini, outi, outc); level = [0..maxlev]; instrKind = (instr, val); INSTR = RECORD CASE :instrKind OF instr: cmd : Command; lev : level; val : INTEGER (* address | offset | lit. value *) | val: sval: ARRAY[0..5] OF CHAR; (* string literal *) END END; PROCEDURE Interpret(VAR code : ARRAY OF INSTR); END Interpreter.