📄 oaverilogparserbase.h
字号:
// *****************************************************************************// *****************************************************************************// oaVerilogParserBase.h//// This file contains the definition for the base class that the bison// generated parser will derive from. This enables us to use custom methods and// data members in the generated parser actions (something we could not do if we// went the other way and derived a class from the generated parser).//// The ParserParam class is required by the parser generator to pass // initialization parameters to the parser and to the base class.//// The ParserBase class is the base class of the parser.//// *****************************************************************************// 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.25 $// $Date: 2005/08/05 21:48:55 $// $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef oaVerilogParserBase_P#define oaVerilogParserBase_PBEGIN_VERILOG_NAMESPACE// *****************************************************************************// ParserParam// *****************************************************************************class OA_VERILOG_DLL_API ParserParam { public: ParserParam(Scanner &scannerIn, CallbacksIn *callbacksIn); Scanner *getScanner() const {return scanner;} CallbacksIn *getCallbacks() const {return callbacks;} private: Scanner *scanner; CallbacksIn *callbacks;};// *****************************************************************************// ParserBase// *****************************************************************************class OA_VERILOG_DLL_API ParserBase { public: ParserBase(const ParserParam ¶m); void init(StringList *verilogFileL); void setCallbacks(CallbacksIn &cbIn); protected: void resetCurrentInstOptions(); void multConcatToPrimary(ValueList &concat, Value &primary); void pushFrontParamArray(oaParam &elt, ParamList &array); void pushBackParamArray(ParamList &array, oaParam &elt); void connectByParamArray(oaString &instNameStr, ParamList &connections); oaParam *makeParamForConnection(oaString &netNameStr, oaString &portName); oaParam *makeParamForConnection(const char *netName, oaBoolean connected); oaParam *makeParamForConnection(oaString &netNameStr, oaBoolean connected); void deleteValue(oaInt4 position); int yylex(ParserStypeWrapper *value); Scanner &scanner; oaVerilogNS nameSpace; CallbacksIn *callback; StringList *verilogFileNames; oaString *currentMaster; ParamList *currentParameters; oaBoolean stackCleared;friend class OA_VERILOG_DLL_API Scanner;};END_VERILOG_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -