@@ -270,6 +270,7 @@ int yyverilogerror(const char *error)
270
270
%token TOK_GREATERGREATERGREATER " >>>"
271
271
%token TOK_LESSLESS " <<"
272
272
%token TOK_LESSLESSLESS " <<<"
273
+ %token TOK_LESSMINUSGREATER " <->"
273
274
274
275
/* Unary or binary */
275
276
%token TOK_PLUS " +"
@@ -436,6 +437,7 @@ int yyverilogerror(const char *error)
436
437
%token TOK_BYTE " byte"
437
438
%token TOK_CHANDLE " chandle"
438
439
%token TOK_CHECKER " checker"
440
+ %token TOK_CELL " cell"
439
441
%token TOK_CLASS " class"
440
442
%token TOK_CLOCKING " clocking"
441
443
%token TOK_CONFIG " config"
@@ -447,8 +449,10 @@ int yyverilogerror(const char *error)
447
449
%token TOK_COVERGROUP " covergroup"
448
450
%token TOK_COVERPOINT " coverpoint"
449
451
%token TOK_CROSS " cross"
452
+ %token TOK_DESIGN " design"
450
453
%token TOK_DIST " dist"
451
454
%token TOK_DO " do"
455
+ %token TOK_ENDCHECKER " endchecker"
452
456
%token TOK_ENDCLASS " endclass"
453
457
%token TOK_ENDCLOCKING " endclocking"
454
458
%token TOK_ENDCONFIG " endconfig"
@@ -470,6 +474,8 @@ int yyverilogerror(const char *error)
470
474
%token TOK_IFF " iff"
471
475
%token TOK_IGNORE_BINS " ignore_bins"
472
476
%token TOK_ILLEGAL_BINS " illegal_bins"
477
+ %token TOK_IMPLEMENTS " implements"
478
+ %token TOK_IMPLIES " implies"
473
479
%token TOK_IMPORT " import"
474
480
%token TOK_INSIDE " inside"
475
481
%token TOK_INT " int"
@@ -506,6 +512,7 @@ int yyverilogerror(const char *error)
506
512
%token TOK_SEQUENCE " sequence"
507
513
%token TOK_SHORTINT " shortint"
508
514
%token TOK_SHORTREAL " shortreal"
515
+ %token TOK_SHOWCANCELLED " showcancelled"
509
516
%token TOK_SOLVE " solve"
510
517
%token TOK_STATIC " static"
511
518
%token TOK_STRING " string"
@@ -520,8 +527,10 @@ int yyverilogerror(const char *error)
520
527
%token TOK_TYPEDEF " typedef"
521
528
%token TOK_UNION " union"
522
529
%token TOK_UNIQUE " unique"
530
+ %token TOK_UNIQUE0 " unique0"
523
531
%token TOK_UNTIL " until"
524
532
%token TOK_UNTIL_WITH " until_with"
533
+ %token TOK_UNTYPED " untyped"
525
534
%token TOK_VAR " var"
526
535
%token TOK_VIRTUAL " virtual"
527
536
%token TOK_VOID " void"
@@ -1560,8 +1569,8 @@ property_expr:
1560
1569
| property_expr " until_with" property_expr { init($$ , " sva_until_with" ); mto($$ , $1 ); mto($$ , $3 ); }
1561
1570
| property_expr " s_until" property_expr { init($$ , " sva_s_until" ); mto($$ , $1 ); mto($$ , $3 ); }
1562
1571
| property_expr " s_until_with" property_expr { init($$ , " sva_s_until_with" ); mto($$ , $1 ); mto($$ , $3 ); }
1563
- // | property_expr " implies" property_expr { init($$ , ID_implies); mto($$ , $1 ); mto($$ , $3 ); }
1564
- // | property_expr " iff" property_expr { init($$ , ID_iff); mto($$ , $1 ); mto($$ , $3 ); }
1572
+ | property_expr " implies" property_expr { init($$ , ID_implies); mto($$ , $1 ); mto($$ , $3 ); }
1573
+ | property_expr " iff" property_expr { init($$ , ID_iff); mto($$ , $1 ); mto($$ , $3 ); }
1565
1574
| " accept_on" ' (' expression_or_dist ' )' { init($$ , " sva_accept_on" ); mto($$ , $3 ); }
1566
1575
| " reject_on" ' (' expression_or_dist ' )' { init($$ , " sva_reject_on" ); mto($$ , $3 ); }
1567
1576
| " sync_accept_on" ' (' expression_or_dist ' )' { init($$ , " sva_sync_accept_on" ); mto($$ , $3 ); }
@@ -2640,6 +2649,10 @@ expression:
2640
2649
| unary_operator attribute_instance_brace primary
2641
2650
{ $$ =$1 ; mto($$ , $3 ); }
2642
2651
| inc_or_dec_expression
2652
+ | expression " ->" expression
2653
+ { init($$ , ID_implies); mto($$ , $1 ); mto($$ , $3 ); }
2654
+ | expression " <->" expression
2655
+ { init($$ , ID_iff); mto($$ , $1 ); mto($$ , $3 ); }
2643
2656
| expression TOK_PLUS expression
2644
2657
{ init($$ , ID_plus); mto($$ , $1 ); mto($$ , $3 ); }
2645
2658
| expression TOK_MINUS expression
0 commit comments