📄 oaverilogparser.ypp
字号:
%{ // *****************************************************************************// *****************************************************************************// oaVerilogParser.ypp//// This file contains the Bison definition of the Verilog to OpenAccess parser.//// Compile with the following:// set BISON_PKGDATADIR=.// set PATH=$(BISON_HOME)\bin;$(PATH)// bison --skeleton=oaVerilogParser.skl \// --name-prefix=Parser \// --defines \// --file-prefix=oaVerilogParser \// --report=itemset \// --verbose \// --output=oaVerilogParser.cpp // oaVerilogParser.ypp//// *****************************************************************************// 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: shaun $// $Revision: 1.61 $// $Date: 2005/07/09 02:11:36 $// $State: Exp $// *****************************************************************************// *****************************************************************************#include "oaVerilogInPvt.h"#define YYSTYPE ParserStypeWrapper%}// Create a re-entrant parser.%pure_parser// Expect 161 meaningless shift/reduce conflicts.%expect 161// *****************************************************************************// The %union definition was moved to vliParserStype.h so it could be easily // shared between the parser and the scanner.// *****************************************************************************%token <oaStringStype()> YYESCAPED_IDENTIFIER /* NOTE: The leading \ is removed in the scanner */%token <oaStringStype()> YYSIMPLE_IDENTIFIER%token <oaStringStype()> YYSYSTEM_IDENTIFIER /* NOTE: The leading $ is removed in the scanner *//* some non system identfiers that start with $ */%token YYDOLLAR_FULLSKEW /* $fullskew */%token YYDOLLAR_HOLD /* $hold */%token YYDOLLAR_NOCHANGE /* $nochange */%token YYDOLLAR_PERIOD /* $period */%token YYDOLLAR_RECOVERY /* $recovery */%token YYDOLLAR_RECREM /* $recrem */%token YYDOLLAR_REMOVAL /* $removal */%token YYDOLLAR_SETUP /* $setup */%token YYDOLLAR_SETUPHOLD /* $setuphold */%token YYDOLLAR_SKEW /* $skew */%token YYDOLLAR_TIMESKEW /* $timeskew */%token YYDOLLAR_WIDTH /* $width *//* Misc. Idenifier */%token YYPATHPULSE /* PATHPULSE$ */%token <oaStringStype()> YYSTRING /* NOTE: the quotes are not included */%token <oaStringStype()> YYFILE_PATH /* Number bases */%token <oaStringStype()> YYBINARY_BASE%token <oaStringStype()> YYDECIMAL_BASE%token <oaStringStype()> YYHEX_BASE%token <oaStringStype()> YYOCTAL_BASE/* Number values */%token <oaStringStype()> YYFLOAT_VALUE%token <oaStringStype()> YYDECIMAL_VALUE%token <oaStringStype()> YYBINARY_VALUE%token <oaStringStype()> YYOCTAL_VALUE%token <oaStringStype()> YYHEX_VALUE/* special number chars [XxZz?] */%token <oaStringStype()> YYX_DIGIT /* [Xx] */%token <oaStringStype()> YYZ_DIGIT /* [Zz?] *//* Other Operators */%token YYPOUND /* # */%token YYAT /* @ */%token YYMINUSGREATER /* -> */%token YYEQUALGREATER /* => */%token YYASTERICGREATER /* *> */%token YYMINUSCOLON /* -: */%token YYPLUSCOLON /* +: */%token YYLPARENASTERIC /* (* */%token YYASTERICRPAREN /* *) */%token YYPOUNDLPAREN /* #( *//* Unary Operators */%token <oaStringStype()> YYEXCLAM /* ! */%token <oaStringStype()> YYTILDE /* ~ */%token <oaStringStype()> YYAMPER /* & */%token <oaStringStype()> YYTILDEAMPER /* ~& */%token <oaStringStype()> YYTILDEVERTBAR /* ~| */%token <oaStringStype()> YYCARET /* ^ */%token <oaStringStype()> YYTILDECARET /* ~^ */%token <oaStringStype()> YYCARETTILDE /* ^~ *//* Binary Operators */%token <oaStringStype()> YYEQUAL /* = */%token <oaStringStype()> YYASTERIC /* * */%token <oaStringStype()> YYSLASH /* / */%token <oaStringStype()> YYPERCENT /* % */%token <oaStringStype()> YYEQUALEQUAL /* == */%token <oaStringStype()> YYEXCLAMEQUAL /* != */%token <oaStringStype()> YYEQUALEQUALEQUAL /* === */%token <oaStringStype()> YYEXCLAMEQUALEQUAL /* !== */%token <oaStringStype()> YYAMPERAMPER /* && */%token <oaStringStype()> YYVERTBARVERTBAR /* || */%token <oaStringStype()> YYLESS /* < */%token <oaStringStype()> YYLESSEQUAL /* <= */%token <oaStringStype()> YYGREATER /* > */%token <oaStringStype()> YYGREATEREQUAL /* >= */%token <oaStringStype()> YYGREATERGREATER /* >> */%token <oaStringStype()> YYLESSLESS /* << */%token <oaStringStype()> YYGREATERGREATERGREATER /* >>> */%token <oaStringStype()> YYLESSLESSLESS /* <<< */%token <oaStringStype()> YYASTERICASTERIC /* ** *//* Unary or binary Operators */%token <oaStringStype()> YYPLUS /* + */%token <oaStringStype()> YYMINUS /* - */%token <oaStringStype()> YYVERTBAR /* | *//* Ternary Operators */%token YYQUESTION /* ? */%token YYCOLON /* : *//* Token Keywords */%token YYALWAYS /* */%token YYAND /* */%token YYASSIGN /* */%token YYAUTOMATIC /* */%token YYBEGIN /* */%token YYBUF /* */%token YYBUFIF0 /* */%token YYBUFIF1 /* */%token YYCASE /* */%token YYCASEX /* */%token YYCASEZ /* */%token YYCELL /* */%token YYCMOS /* */%token YYCOMMAINPUT /* */%token YYCOMMAINOUT /* */%token YYCOMMAOUTPUT /* */%token YYCONFIG /* */%token YYDEASSIGN /* */%token YYDEFAULT /* */%token YYDEFPARAM /* */%token YYDESIGN /* */%token YYDISABLE /* */%token YYEDGE /* */%token YYELSE /* */%token YYEND /* */%token YYENDCASE /* */%token YYENDCONFIG /* */%token YYENDFUNCTION /* */%token YYENDGENERATE /* */%token YYENDMODULE /* */%token YYENDPRIMITIVE /* */%token YYENDSPECIFY /* */%token YYENDTABLE /* */%token YYENDTASK /* */%token YYEVENT /* */%token YYFOR /* */%token YYFORCE /* */%token YYFOREVER /* */%token YYFORK /* */%token YYFUNCTION /* */%token YYGENERATE /* */%token YYGENVAR /* */%token YYHIGHZ0 /* */%token YYHIGHZ1 /* */%token YYIF /* */%token YYIFNONE /* */%token YYINCDIR /* */%token YYINCLUDE /* */%token YYINITIAL /* */%token YYINOUT /* */%token YYINPUT /* */%token YYINSTANCE /* */%token YYINTEGER /* */%token YYJOIN /* */%token YYLARGE /* */%token YYLIBLIST /* */%token YYLIBRARY /* */%token YYLOCALPARAM /* */%token YYMACROMODULE /* */%token YYMEDIUM /* */%token YYMODULE /* */%token YYNAND /* */%token YYNEGEDGE /* */%token YYNMOS /* */%token YYNOR /* */%token YYNOSHOWCANCELLED /* */%token YYNOT /* */%token YYNOTIF0 /* */%token YYNOTIF1 /* */%token YYOR /* */%token YYOUTPUT /* */%token YYPARAMETER /* */%token YYPARENHIGHZ0 /* */%token YYPARENHIGHZ1 /* */%token YYPARENPULL0 /* */%token YYPARENPULL1 /* */%token YYPARENSTRONG0 /* */%token YYPARENSTRONG1 /* */%token YYPARENSUPPLY0 /* */%token YYPARENSUPPLY1 /* */%token YYPARENWEAK0 /* */%token YYPARENWEAK1 /* */%token YYPMOS /* */%token YYPOSEDGE /* */%token YYPRIMITIVE /* */%token YYPULL0 /* */%token YYPULL1 /* */%token YYPULLDOWN /* */%token YYPULLUP /* */%token YYPULSESTYLE_ONDETECT /* */%token YYPULSESTYLE_ONEVENT /* */%token YYRCMOS /* */%token YYREAL /* */%token YYREALTIME /* */%token YYREG /* */%token YYRELEASE /* */%token YYREPEAT /* */%token YYRNMOS /* */%token YYRPMOS /* */%token YYRTRAN /* */%token YYRTRANIF0 /* */%token YYRTRANIF1 /* */%token YYSCALARED /* */%token YYSHOWCANCELLED /* */%token YYSIGNED /* */%token YYSMALL /* */%token YYSPECIFY /* */%token YYSPECPARAM /* */%token YYSTRONG0 /* */%token YYSTRONG1 /* */%token YYSUPPLY0 /* */%token YYSUPPLY1 /* */%token YYTABLE /* */%token YYTASK /* */%token YYTIME /* */%token YYTRAN /* */%token YYTRANIF0 /* */%token YYTRANIF1 /* */%token YYTRI /* */%token YYTRI0 /* */%token YYTRI1 /* */%token YYTRIAND /* */%token YYTRIOR /* */%token YYTRIREG /* */%token YYUSE /* */%token YYUNSIGNED /* */%token YYVECTORED /* */%token YYWAIT /* */%token YYWAND /* */%token YYWEAK0 /* */%token YYWEAK1 /* */%token YYWHILE /* */%token YYWIRE /* */%token YYWOR /* */%token YYXNOR /* */%token YYXOR /* */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -