📄 oaverilogparserstype.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 + -