#include "treeprop.h"



Vertex_comma_list*  Cd_graph::construction_vertices(  )
{
  DEM_TRACE("Cd_graph","Vertex_comma_list*  Cd_graph::construction_vertices()");
  Vertex_comma_list*  return_val =  new Vertex_comma_list ;

  this->construction_vertices_( return_val );
  return return_val;
}
//  Cd_graph  = <adjacencies > Adjacency_nlist 
//            [ <terminal_sets > Vertex_comma_list  ] .
void Cd_graph::construction_vertices_( Vertex_comma_list* & return_val )
{
  DEM_TRACE("Cd_graph","void Cd_graph::construction_vertices_(Vertex_comma_list* & return_val)");
  // variables for carrying in and out

  // assignments for carrying in

  // prefix class wrappers

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

  // suffix class wrappers

  // assignments for carrying out
}

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

  // assignments for carrying in

  // prefix class wrappers

  // outgoing calls
  // construction edge prefix wrappers
  this->get_ns()->construction_vertices_( return_val, src  );
  // construction edge suffix wrappers

  // suffix class wrappers

  // assignments for carrying out
}

//  Neighbors  : Neighbors_wc   |
//            Repetit_n 
//           *common* .
void Neighbors::construction_vertices_( Vertex_comma_list* & return_val, Vertex*  src )
{
  DEM_TRACE("Neighbors","void Neighbors::construction_vertices_(Vertex_comma_list* & return_val,Vertex*  src)");
#ifndef NOTRACE
   DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Neighbors",form(" at %s , ***  PREMATURELY TERMINATED *** ", this->get_type()));
#endif

}

//  Neighbors_wc  : Construct_ns   |
//               Alternat_ns 
//           *common* .
void Neighbors_wc::construction_vertices_( Vertex_comma_list* & return_val, Vertex*  src )
{
  DEM_TRACE("Neighbors_wc","void Neighbors_wc::construction_vertices_(Vertex_comma_list* & return_val,Vertex*  src)");
#ifndef NOTRACE
   DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Neighbors_wc",form(" at %s , ***  PREMATURELY TERMINATED *** ", this->get_type()));
#endif

}

//  Construct_ns  = "=" 
//               <construct_ns > Any_vertex_list .
void Construct_ns::construction_vertices_( Vertex_comma_list* & return_val, Vertex*  src )
{
  DEM_TRACE("Construct_ns","void Construct_ns::construction_vertices_(Vertex_comma_list* & return_val,Vertex*  src)");
  // variables for carrying in and out

  // assignments for carrying in



  // prefix class wrappers

  // outgoing calls

  // suffix class wrappers
 return_val->append(src); 

  // assignments for carrying out


}

//  Adjacency_nlist  ~ Adjacency  { Adjacency  }. .
void Adjacency_nlist::construction_vertices_( Vertex_comma_list* & return_val )
{
  DEM_TRACE("Adjacency_nlist","void Adjacency_nlist::construction_vertices_(Vertex_comma_list* & return_val)");
  // 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->construction_vertices_( return_val );
  // repetition edge suffix wrappers
  }

  // suffix class wrappers

  // assignments for carrying out
}

