#include "UNKNOWN.h"



Adjacency*  Cd_graph::find_adjacency( Vertex*  v )
{
  DEM_TRACE("Cd_graph","Adjacency*  Cd_graph::find_adjacency(Vertex*  v)");
  Adjacency*  return_val =  NULL ;

  this->find_adjacency_( return_val, v  );
  return return_val;
}
//  Cd_graph  = <adjacencies > Adjacency_Nlist 
//            [ <terminal_sets > Vertex_Comma_list  ] .
void Cd_graph::find_adjacency_( Adjacency* & return_val, Vertex*  v )
{
  DEM_TRACE("Cd_graph","void Cd_graph::find_adjacency_(Adjacency* & return_val,Vertex*  v)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers

  // outgoing calls
  // construction edge prefix wrappers
  this->get_adjacencies()->find_adjacency_( return_val, v  );
  // construction edge suffix wrappers

  // suffix class wrappers

  // assignments for carrying out
}

//  Adjacency  = <source > Vertex 
//             [ <parameters > Vertex_Comma_list  ] 
//            <ns > Neighbors 
//            "." 
//            *l.
void Adjacency::find_adjacency_( Adjacency* & return_val, Vertex*  v )
{
  DEM_TRACE("Adjacency","void Adjacency::find_adjacency_(Adjacency* & return_val,Vertex*  v)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers
 if (v->g_equal(this->get_source())) return_val = this; 

  // outgoing calls

  // suffix class wrappers

  // assignments for carrying out
}

//  Adjacency_Nlist  ~ Adjacency  { Adjacency  }. .
void Adjacency_Nlist::find_adjacency_( Adjacency* & return_val, Vertex*  v )
{
  DEM_TRACE("Adjacency_Nlist","void Adjacency_Nlist::find_adjacency_(Adjacency* & return_val,Vertex*  v)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers

  // outgoing calls
  Adjacency_list_iterator	next_Adjacency(*this);
  Adjacency*		each_Adjacency;

  while ( each_Adjacency = next_Adjacency() )
  {
  // repetition edge prefix wrappers
    each_Adjacency->find_adjacency_( return_val, v  );
  // repetition edge suffix wrappers
  }

  // suffix class wrappers

  // assignments for carrying out
}

int Term::find_line_number(  )
{
  DEM_TRACE("Term","int Term::find_line_number()");
  int return_val =  0 ;

  this->find_line_number_( return_val );
  return return_val;
}
//  Vertex  = <vertex_name > DemIdent .
void Vertex::find_line_number_( int& return_val )
{
  DEM_TRACE("Vertex","void Vertex::find_line_number_(int& return_val)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers
 return_val = this->get_vertex_name()->get_line_number(); 

  // outgoing calls

  // suffix class wrappers

  // assignments for carrying out
}

//  Term  : Normal   |
//       CppTerm 
//           *common* <vertex > Vertex 
//                    <moduleRef > TermRef 
//                     [ <actual_parameters > Term_Comma_list  ] .
void Term::find_line_number_( int& return_val )
{
  DEM_TRACE("Term","void Term::find_line_number_(int& return_val)");
#ifndef NOTRACE
   DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Term",form(" at %s , ***  PREMATURELY TERMINATED *** ", this->get_type()));
#endif

}

//  CppTerm  = "$" .
void CppTerm::find_line_number_( int& return_val )
{
  DEM_TRACE("CppTerm","void CppTerm::find_line_number_(int& return_val)");
  // variables for carrying in and out

  // assignments for carrying in


  // prefix class wrappers

  // outgoing calls
  // inheritance edge prefix wrappers
  // construction edge prefix wrappers
  this->get_vertex()->find_line_number_( return_val );
  // construction edge suffix wrappers
  // inheritance edge prefix wrappers

  // suffix class wrappers

  // assignments for carrying out

}

//  Normal  = .
void Normal::find_line_number_( int& return_val )
{
  DEM_TRACE("Normal","void Normal::find_line_number_(int& return_val)");
  // variables for carrying in and out

  // assignments for carrying in


  // prefix class wrappers

  // outgoing calls
  // inheritance edge prefix wrappers
  // construction edge prefix wrappers
  this->get_vertex()->find_line_number_( return_val );
  // construction edge suffix wrappers
  // inheritance edge prefix wrappers

  // suffix class wrappers

  // assignments for carrying out

}

char*  Term::get_term_name(  )
{
  DEM_TRACE("Term","char*  Term::get_term_name()");
  char*  return_val =  NULL ;

  this->get_term_name_( return_val );
  return return_val;
}
//  Vertex  = <vertex_name > DemIdent .
void Vertex::get_term_name_( char* & return_val )
{
  DEM_TRACE("Vertex","void Vertex::get_term_name_(char* & return_val)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers
 return_val = this->get_vertex_name()->get_val(); 

  // outgoing calls

  // suffix class wrappers

  // assignments for carrying out
}

//  Term  : Normal   |
//       CppTerm 
//           *common* <vertex > Vertex 
//                    <moduleRef > TermRef 
//                     [ <actual_parameters > Term_Comma_list  ] .
void Term::get_term_name_( char* & return_val )
{
  DEM_TRACE("Term","void Term::get_term_name_(char* & return_val)");
#ifndef NOTRACE
   DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Term",form(" at %s , ***  PREMATURELY TERMINATED *** ", this->get_type()));
#endif

}

//  CppTerm  = "$" .
void CppTerm::get_term_name_( char* & return_val )
{
  DEM_TRACE("CppTerm","void CppTerm::get_term_name_(char* & return_val)");
  // variables for carrying in and out

  // assignments for carrying in


  // prefix class wrappers

  // outgoing calls
  // inheritance edge prefix wrappers
  // construction edge prefix wrappers
  this->get_vertex()->get_term_name_( return_val );
  // construction edge suffix wrappers
  // inheritance edge prefix wrappers

  // suffix class wrappers

  // assignments for carrying out

}

//  Normal  = .
void Normal::get_term_name_( char* & return_val )
{
  DEM_TRACE("Normal","void Normal::get_term_name_(char* & return_val)");
  // variables for carrying in and out

  // assignments for carrying in


  // prefix class wrappers

  // outgoing calls
  // inheritance edge prefix wrappers
  // construction edge prefix wrappers
  this->get_vertex()->get_term_name_( return_val );
  // construction edge suffix wrappers
  // inheritance edge prefix wrappers

  // suffix class wrappers

  // assignments for carrying out

}


