m3middle/src/M3CG_Check.i3


Copyright (C) 1994, Digital Equipment Corp.

INTERFACE M3CG_Check;

IMPORT M3CG;

PROCEDURE New (child: M3CG.T;
               clean_jumps, clean_stores: BOOLEAN;
               nested_calls, nested_procs: BOOLEAN): M3CG.T;
returns a fresh, initialized code generator that passes its calls to 'child' and checks that the stream obeys the M3CG restrictions. If 'clean_jumps', it also checks that the stack is empty at every branch point. If 'clean_stores', it also checks that the stack is empty on every store instruction. If 'nested_calls' is false, it checks that function calls are not nested. If 'nested_procs' is false, it checks that function bodies do not overlap.

END M3CG_Check.