00001 /* parse_constant.h 00002 00003 ***** 00004 Copyright 1994-1997, Brown University 00005 Copyright 1998, 1999, Anthony R. Cassandra 00006 00007 All Rights Reserved 00008 00009 Permission to use, copy, modify, and distribute this software and its 00010 documentation for any purpose other than its incorporation into a 00011 commercial product is hereby granted without fee, provided that the 00012 above copyright notice appear in all copies and that both that 00013 copyright notice and this permission notice appear in supporting 00014 documentation. 00015 00016 ANTHONY CASSANDRA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 00017 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY 00018 PARTICULAR PURPOSE. IN NO EVENT SHALL ANTHONY CASSANDRA BE LIABLE FOR 00019 ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 00020 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00021 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 00022 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00023 ***** 00024 */ 00025 00026 #ifndef PARSE_CONSTANT_H 00027 00028 #define PARSE_CONSTANT_H 00029 00030 typedef enum { CONST_INT, CONST_STRING, CONST_FLOAT } Const_Type; 00031 00032 typedef struct cNode 00033 { 00034 Const_Type theTag; /* Type of constant it is */ 00035 union { 00036 int theInt; 00037 char *theString; 00038 REAL_VALUE theFloat; 00039 } theValue; 00040 } Constant_Block; 00041 00042 #ifdef __cplusplus 00043 extern "C" { 00044 #endif 00045 00046 extern int yywrap(void); 00047 00048 #ifdef __cplusplus 00049 } /* extern "C" */ 00050 #endif 00051 00052 00053 00054 #endif 00055