/* data_classes.h */

#include "bool.h"
#include "distrib.h"
#include "integer.h"
#include "pointer.h"
#include "real.h"
#include "rmatrix.h"
#include "set.h"
#include "shape.h"
#include "string.h"
#include "symbol.h"
#include "triple.h"
#include "vector.h"

/* to add a new data primitive be sure to update the following functions
   dc_label *allocate( dc_type T )                       id.cc
   dc_data *set_data( dc_data &, dc_data & )             data.cc
   bool castable( dc_type, dc_type )                     data.cc
   dc_data *cast( dc_data &, dc_type )                   data.cc
   void output_tabbed( dc_label *l )                     display.cc
   xtype operators in                                    xtype.cc

   to parse a new data primitive change
   dc_type get_dtype( parseTag )                         token_parser.cc
   bool preparse_data( token_queue & )                   preparser.cc
   dc_data *parse_data( token_queue &, dc_label *, 
                        dc_label *, dc_type )            data_parser.cc
   */
