00001 00002 #if !defined(oagFpgaVerilogParserYystype_P) 00003 #define oagFpgaVerilogParserYystype_P 00004 00005 #include "oagFpgaVerilogDesign.h" 00006 #include <list> 00007 #include <map> 00008 00009 using namespace oagFpga; 00010 00011 typedef union YYSTYPE { 00012 struct { 00013 bool negative; // sign flag 00014 int bits; // bit length 00015 unsigned int value; // integer value 00016 unsigned int zmask; // mask of bits that were 'z' 00017 unsigned int xmask; // mask of bits that were 'x' 00018 } number; 00019 char *str; // string 00020 00021 VerilogDesign::Expression *expression; 00022 std::list<VerilogDesign::Expression*> *expressions; 00023 VerilogDesign::Primary *primary; 00024 std::list<VerilogDesign::Primary*> *primaries; 00025 VerilogDesign::Bundle *bundle; 00026 00027 VerilogDesign::Module *module; 00028 std::list<VerilogDesign::Port*> *ports; 00029 std::list<VerilogDesign::PortConnection*> *portConnections; 00030 VerilogDesign::Assignment *assignment; 00031 VerilogDesign::Declaration *declaration; 00032 VerilogDesign::PortConnection *portConnection; 00033 VerilogDesign::Instantiation *instantiation; 00034 00035 VerilogDesign::Statement *statement; 00036 std::list<VerilogDesign::Statement*> *statements; 00037 std::list<VerilogDesign::Case*> *cases; 00038 00039 VerilogDesign::Trigger *trigger; 00040 std::list<VerilogDesign::Trigger*> *triggers; 00041 00042 struct { 00043 std::list<VerilogDesign::Assignment*> *assignments; 00044 std::list<VerilogDesign::AlwaysBlock*> *alwaysBlocks; 00045 std::list<VerilogDesign::Statement*> *initialBlocks; 00046 std::list<VerilogDesign::Instantiation*> *instantiations; 00047 std::list<VerilogDesign::Declaration*> *declarations; 00048 std::list<VerilogDesign::Function*> *functions; 00049 std::list<VerilogDesign::Declaration*> *parameterOverrides; 00050 } decls; 00051 00052 } YYSTYPE; 00053 00054 #define YYSTYPE_IS_DECLARED 1 00055 #define YYSTYPE_IS_TRIVIAL 1 00056 00057 #endif