Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

typetable.h

Go to the documentation of this file.
00001 
00002 #ifndef TYPETABLE_H
00003 #define TYPETABLE_H
00004 
00005 /*===============================<o>=====================================
00006 
00007 Copyright 1996, 1997, 2004 Ian Kaplan, Bear Products International,
00008 www.bearcave.com.
00009 
00010 All Rights Reserved
00011 
00012 You may use this software in software components for which you do
00013 not collect money (e.g., non-commercial software).  All commercial
00014 use is reserved.
00015 
00016 ===============================<o>=====================================*/
00017 
00018 
00039 class typetable {
00040 private:
00041     static LIST<type_time *>   time_list;
00042     LIST<type_range *>  range_list;
00043     LIST<type_real *>   real_list;
00044     LIST<type_array *>  array_list;
00045     LIST<type_record *> rec_list;
00046     LIST<type_file *>   file_list;
00047 
00048     pool *alloc_pool;   // pointer to the memory allocation pool
00049 
00050 private:
00051     // no copy constructor allowed
00052     typetable( const typetable &ty ) { assert( FALSE ); }
00053 
00054     type *find_time( const uint time_scale );
00055 
00056 public:
00057     typetable(pool *p = NULL)
00058     {
00059         alloc_pool = p;
00060     }
00061 
00062     void set_pool( pool *p )
00063     {
00064         alloc_pool = p;
00065     }
00066 
00067     type *new_type( uint kind, uint time_scale = time_bad_time );
00068 
00069     // debug print
00070     void pr();
00071 };
00072 
00073 extern typetable glob_typtab;
00074 extern type_real REAL;
00075 
00076 #endif

Generated on Wed Mar 31 21:15:55 2004 for Data Structures for a VHDL Compiler by doxygen 1.3.3