// file: tr_lxn_cstr_0.cc
//

// isip include files
//
#include "train_lex_node.h"
#include "train_lex_node_constants.h"

// method: destructor
//
// arguments: none
//
// return: none
//
// this is the default destructor
//
Train_Lex_node::~Train_Lex_node() {

  // delete the child link list
  //
  if (child_d != (Train_Link_list*)NULL) {
    delete child_d;
    child_d = (Train_Link_list*)NULL;
  }
  
  // delete the word list
  //
  if (word_list_d != (Train_Link_list*)NULL) {
    delete word_list_d;
    word_list_d = (Train_Link_list*)NULL;
  }

  // delete the score list
  //
  if (score_list_d != (float_8*)NULL) {
    delete [] score_list_d;
    score_list_d = (float_8*)NULL;
  }
  num_words_d = (int_4)0;
  
  // reset the tree pointer
  //
  tree_d = (void_p)NULL;

  // reset the scalars
  //
  phone_d = TRAIN_LXN_NULL_PHONE;
  phone_index_d = TRAIN_LXN_NULL_PHONE;
  max_lm_score_d = TRAIN_LXN_LM_SCORE;
  status_d = ISIP_FALSE;
    
  // exit gracefully
  //
}
