-- (C) Copyright International Business Machines Corporation 23 January 
-- 1990.  All Rights Reserved. 
--  
-- See the file USERAGREEMENT distributed with this software for full 
-- terms and conditions of use. 
disassembler: using (predefined,interpform,stdenv)
  definitions
    -- disassembler produces a source that would assemble to LIprog
    disassembler: callmessage (
	LIprog: interpform!prog,
	stdenv: stdenv!stdenv,
	printmaps: printmaps,
	code: predefined!charstring
      )
    constant (LIprog,stdenv,printmaps)
    exit {full}
    exception Unsupported {full(LIprog),full(stdenv),full(printmaps)};
    disassemblerQ: inport of disassembler 
       {full(LIprog),full(stdenv),full(printmaps)};
    disassemblerFn: outport of disassemblerQ;

    -- The internal text representation of an LIprog
    source: ordered table of charstring {init};
    --  print maps:
    printmaps: record (
	execs: predefined!executable_printmappings,
	defs: predefined!definitions_printmappings,
	progid: predefined!executable_id
      );
  end definitions
