// file: $isip/class/asr/JSGFParser/jp_01.cc
// version: $Id: jp_01.cc 8323 2002-07-10 14:49:57Z wang $
//

// isip include files
//
#include "JSGFParser.h"
#include <Console.h>

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean JSGFParser::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String value;
  String output;
 
  // output an information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();
  
  // display the expressions
  //
  output.debugStr(name(), msg_a, L"expression_d");
  Console::put(output);
  expression_d.debug(L"expression");
  
  // display the token vector
  //
  output.debugStr(name(), msg_a, L"token_vect_d");
  Console::put(output);
  token_vect_d.debug(L"token vector");

  // display the queue final
  //
  output.debugStr(name(), msg_a, L"final_d");
  Console::put(output);
  final_d.debug(L"queue final");
  
  // display the graph
  //
  output.debugStr(name(), msg_a, L"graph_d");
  Console::put(output);
  graph_d.debug(L"graph");

  // display the symbol list
  //
  output.debugStr(name(), msg_a, L"symbol_list_d");
  Console::put(output);
  symbol_list_d.debug(L"symbol list");

  // display the ISIP graph starting symbol
  //
  output.debugStr(name(), msg_a, L"graph_start_d");
  Console::put(output);
  graph_start_d.debug(L"ISIP graph starting symbol");

  // display the ISIP graph terminal symbol
  //
  output.debugStr(name(), msg_a, L"graph_term_d");
  Console::put(output);
  graph_term_d.debug(L"ISIP graph terminal symbol");

  // display the ISIP graph terminal symbol
  //
  output.debugStr(name(), msg_a, L"grammar_name_d");
  Console::put(output);
  grammar_name_d.debug(L"grammar name");
  
  // decrease indention
  //
  Console::decreaseIndention();
 
  // exit gracefully
  //
  return true;
}
