⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oaverilogparserstype.h

📁 openaccess与verilog互相转化时所用的源代码
💻 H
字号:
// *****************************************************************************// *****************************************************************************// oaVerilogParserStype.h//// This file contains the definition for parser yylval union.  Normally this// definition is specified and generated in the *.ypp file, however it has// been broken out and moved into a separate header file so it can be easily// shared between the c++ parser and the c++ scanner classes. This is something// that could not be done easily with the generated code.//// *****************************************************************************// Except as specified in the OpenAccess terms of use of Cadence or Silicon// Integration Initiative, this material may not be copied, modified,// re-published, uploaded, executed, or distributed in any way, in any medium,// in whole or in part, without prior written permission from Cadence.////		  Copyright 2003-2005 Cadence Design Systems, Inc.//			     All Rights	Reserved.////  $Author: sailajad $//  $Revision: 1.20 $//  $Date: 2005/08/05 21:48:55 $//  $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef	oaVerilogParserStype_P#define	oaVerilogParserStype_PBEGIN_VERILOG_NAMESPACE// *****************************************************************************// Forward class declarations// *****************************************************************************class ParserStypeCmp;// *****************************************************************************// ParserStypeEnum// *****************************************************************************enum ParserStypeEnum {UnknownType	    = 0,		      StringType	    = 1,		      SigTypeEnumType	    = 2,		      ParamType		    = 3,		      ParamArrayType	    = 4,		      VerilogValueType	    = 5,		      VerilogRangeType	    = 6,		      VerilogNameListType   = 7,		      VerilogValueListType  = 8,		      VerilogRangeListType  = 9		     };// *****************************************************************************// ParserStypeWrapper// *****************************************************************************class ParserStypeWrapper {  public:			    ParserStypeWrapper();			    ~ParserStypeWrapper();    ParserStypeEnum	    getType() {return type;}    oaUInt8		    getID() const {return value.id;}    void		    deleteValue();    void		    clear();    oaString		    *&oaStringStype();    oaSigTypeEnum	    &oaSigTypeStype();    oaParam		    *&oaParamStype();    ParamList		    *&ParamListStype();    Value		    *&verilogValueStype();    Range		    *&verilogRangeStype();    NameList		    *&verilogNameListStype();    ValueList		    *&verilogValueListStype();    RangeList		    *&verilogRangeListStype();    ParserStypeWrapper	    &operator=(const ParserStypeWrapper	&rhs);  private:      ParserStypeEnum	    type;      union {        oaUInt8		    id;	oaString	    *oaStringMember;	oaSigTypeEnum	    oaSigTypeMember;	oaParam		    *oaParamMember;	ParamList	    *ParamListMember;	Value		    *verilogValueMember;	Range		    *verilogRangeMember;	NameList	    *verilogNameListMember;	ValueList	    *verilogValueListMember;	RangeList	    *verilogRangeListMember;      }			    value;friend class ParserStypeCmp;};// *****************************************************************************// ParserStypeCmp// *****************************************************************************class ParserStypeCmp {  public:    bool    operator()(const ParserStypeWrapper	*left,		       const ParserStypeWrapper	*right) const;};END_VERILOG_NAMESPACE#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -