diff --git a/src/verilog.y b/src/verilog.y index 6d06f969e..fd0c18ca9 100644 --- a/src/verilog.y +++ b/src/verilog.y @@ -4465,7 +4465,8 @@ taskId: funcId: // IEEE: function_data_type_or_implicit + part of function_body_declaration // // IEEE: function_data_type_or_implicit must be expanded here to prevent conflict - // // function_data_type expanded here to prevent conflicts with implicit_type:empty vs data_type:ID + // // function_data_type expanded here to prevent conflicts with + // // implicit_type:empty vs data_type:ID /**/ fIdScoped { $$ = $1; $$->fvarp(new AstBasicDType{$1, LOGIC_IMPLICIT}); @@ -4932,7 +4933,7 @@ fexpr: // For use as first part of statement (disam //UNSUP // //UNSUP //--------------------- //UNSUP // // IEEE: expr -//UNSUP | BISONPRE_COPY(expr,{s/~l~/ev_/g; s/~r~/ev_/g; s/~p~/ev_/g; s/~noPar__IGNORE~'.'/yP_PAR__IGNORE /g;}) // {copied} +//UNSUP | BISONPRE_COPY(expr,{s/~l~/ev_/g; s/~r~/ev_/g; s/~p~/ev_/g; s/~noPar__IGNORE~'.'/yP_PAR__IGNORE /g;}) // {copied} //UNSUP // //UNSUP // // IEEE: '(' event_expression ')' //UNSUP // // expr:'(' x ')' conflicts with event_expression:'(' event_expression ')' @@ -5722,7 +5723,8 @@ clocking_eventE: // IEEE: optional clocking_event clocking_event: // IEEE: clocking_event '@' id - { $$ = new AstSenItem{$2, VEdgeType::ET_CHANGED, new AstParseRef{$2, VParseRefExp::PX_TEXT, *$2, nullptr, nullptr}}; } + { $$ = new AstSenItem{$2, VEdgeType::ET_CHANGED, + new AstParseRef{$2, VParseRefExp::PX_TEXT, *$2, nullptr, nullptr}}; } | '@' '(' event_expression ')' { $$ = $3; } ; @@ -5787,9 +5789,12 @@ clocking_skew: // IEEE: clocking_skew ; cycle_delay: // IEEE: cycle_delay - yP_POUNDPOUND yaINTNUM { $$ = new AstDelay{$1, new AstConst{$2, *$2}, true}; } - | yP_POUNDPOUND id { $$ = new AstDelay{$1, new AstParseRef{$2, VParseRefExp::PX_TEXT, *$2, nullptr, nullptr}, true}; } - | yP_POUNDPOUND '(' expr ')' { $$ = new AstDelay{$1, $3, true}; } + yP_POUNDPOUND yaINTNUM + { $$ = new AstDelay{$1, new AstConst{$2, *$2}, true}; } + | yP_POUNDPOUND id + { $$ = new AstDelay{$1, new AstParseRef{$2, VParseRefExp::PX_TEXT, *$2, nullptr, nullptr}, true}; } + | yP_POUNDPOUND '(' expr ')' + { $$ = new AstDelay{$1, $3, true}; } ; //************************************************