#!/bin/sh
#---------------------------------------------------------------------------#
# Copyright (C) 1998-1999,2002, 2004-2006 The University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#---------------------------------------------------------------------------#

# the info menu items that get us to the chapter on debugger commands
cat mdb_categories > mdb_doc

tmp="mdb_doc_tmp.$$"
trap 'rm -f $tmp' 0 1 2 3 15

info -f ./mercury_user_guide.info -o $tmp -n "Mercury debugger concepts"
../util/info_to_mdb concepts $tmp >> mdb_doc

# Document the declarative debugger.
info -f ./mercury_user_guide.info -o $tmp -n "Declarative debugging overview"
echo "document concepts 10 decl_debug"                           >> mdb_doc
sed 's/^   //' < $tmp | sed -n '6,1000s/^/     /p'               >> mdb_doc 
echo                                                             >> mdb_doc
info -f ./mercury_user_guide.info -o $tmp -n "Declarative debugging commands"
echo "The following commands are available from within the \
declarative debugger:" `./commands $tmp` | \
fold -w72 -s | sed "s/^/     /"                                  >> mdb_doc
echo end                                                         >> mdb_doc
../util/info_to_mdb decl $tmp >> mdb_doc

debug_cmd_path="debug debugger"
for section in interactive forward backward browsing breakpoint \
	i/o parameter help declarative misc exp developer
do
	case $section in
		interactive)	category=queries ;;
		i/o)		category=io_tabling ;;
		declarative)	category=mdb_dd ;;
		*)		category=$section ;;
	esac
	info -f ./mercury_user_guide.info -o $tmp $debug_cmd_path $section
	../util/info_to_mdb $category $tmp >> mdb_doc
done

mv mdb_doc $tmp
./squeeze < $tmp > mdb_doc
