// file: $isip/class/search/SymbolGraph/sgrp_00.cc
// version: $Id: sgrp_00.cc 9329 2003-10-29 20:40:03Z alphonso $
//

// there is no source code in this file
//

// isip include files
//
#include "SymbolGraph.h"

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the default constructor for the SymbolGraph class
//
SymbolGraph::SymbolGraph() {

  // initialize the data members
  //
  num_nodes_d = DEF_NUM_NODES;
  num_arcs_d = DEF_NUM_ARCS;
  scale_d = DEF_SCALE;
  penalty_d = DEF_PENALTY;
  order_d = DEF_ORDER;
  format_d = DEF_FORMAT;

  // set the start and term symbols
  //
  start_node_d.setSymbol(DEF_START_SYMBOL);
  term_node_d.setSymbol(DEF_TERM_SYMBOL);

  // set the start and term parent graphs
  //
  start_node_d.setParentGraph(this);
  term_node_d.setParentGraph(this);  
  
  // set the allocation mode
  //
  nodes_d.setAllocationMode(DstrBase::USER);
}

// constants: class name
//
const String SymbolGraph::CLASS_NAME(L"SymbolGraph");

// constants: i/o related constants
//
const String SymbolGraph::DEF_PARAM(L"");
const String SymbolGraph::DEF_SYMBOL(L"");
const String SymbolGraph::DEF_FORMAT(L"LATTICE");
const String SymbolGraph::DEF_START_SYMBOL(L"S");
const String SymbolGraph::DEF_TERM_SYMBOL(L"T");
const String SymbolGraph::PARAM_SCALE(L"lmscale");
const String SymbolGraph::PARAM_PENALTY(L"wdpenalty");
const String SymbolGraph::PARAM_VERSION(L"VERSION=1.0");
const String SymbolGraph::PARAM_FORMAT(L"format");

// static instantiations: memory manager and debug level
//
MemoryManager SymbolGraph::mgr_d(sizeof(SymbolGraph), CLASS_NAME);
Integral::DEBUG SymbolGraph::debug_level_d = Integral::NONE;

//
// end of file
