📄 oaverilogscanner.h
字号:
// *****************************************************************************// *****************************************************************************// oaVerilogScanner.h//// This file contains the definition for the Scanner class. The Scanner// implements a scanner for IEEE 1364-2001 Verilog. The majority of the// methods of this class are generated via flex++. See the flex man page for// details.//// Compile with the following:// flex++ -PvliYY//// *****************************************************************************// 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.18 $// $Date: 2005/08/05 21:48:55 $// $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef oaVerilogScanner_P#define oaVerilogScanner_PBEGIN_VERILOG_NAMESPACE// *****************************************************************************// #defines required by Flex++// *****************************************************************************#ifndef YY_BUFFER_STATE#define YY_BUFFER_STATE struct yy_buffer_state*#endif #ifndef YY_BUF_SIZE#define YY_BUF_SIZE 16384#endif #ifndef yyFlexLexer#define yyFlexLexer vliYYFlexLexerEND_VERILOG_NAMESPACE#include "oaVerilogFlexLexer.h"BEGIN_VERILOG_NAMESPACE#endif #define OAVLI_MAX_INCLUDE_DEPTH 15#define OAVLI_DEFAULT_NETTYPE_BUFSIZE 64#define OAVLI_ERROR_MESSAGE_BUFSIZE 2048// *****************************************************************************// Scanner// *****************************************************************************class OA_VERILOG_DLL_API Scanner : public yyFlexLexer { public: Scanner(); void init(StringList *fileNames); const char *getCurrentFileName() const; oaUInt4 getCurrentLineNumber() const; virtual int yylex(ParserStypeWrapper *lvalIn); virtual int yylex(); virtual const char *getText() const {return yytext;} void clearStack(); protected: ParserStypeWrapper *yylval; int yywrap(); void fatalExpectedNumber(const char text[]); void fatalUnexpectedToken(const char text[]); YY_BUFFER_STATE includeStack[OAVLI_MAX_INCLUDE_DEPTH]; int includeStackPtr; int fileLineNumber[OAVLI_MAX_INCLUDE_DEPTH]; oaString fileName[OAVLI_MAX_INCLUDE_DEPTH]; char defaultNettype[OAVLI_DEFAULT_NETTYPE_BUFSIZE]; char errorMessage[OAVLI_ERROR_MESSAGE_BUFSIZE]; StringList *files; StringListIter fileIter;};END_VERILOG_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -