Support --bbox-unsup parsing of for with multiple increments
This commit is contained in:
parent
3a0b8c8870
commit
ae701e014d
|
|
@ -294,7 +294,6 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
|
||||||
"always" { FL; return yALWAYS; }
|
"always" { FL; return yALWAYS; }
|
||||||
"and" { FL; return yAND; }
|
"and" { FL; return yAND; }
|
||||||
"assign" { FL; return yASSIGN; }
|
"assign" { FL; return yASSIGN; }
|
||||||
"before" { FL; return yBEFORE; }
|
|
||||||
"begin" { FL; return yBEGIN; }
|
"begin" { FL; return yBEGIN; }
|
||||||
"buf" { FL; return yBUF; }
|
"buf" { FL; return yBUF; }
|
||||||
"bufif0" { FL; return yBUFIF0; }
|
"bufif0" { FL; return yBUFIF0; }
|
||||||
|
|
@ -468,7 +467,7 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
|
||||||
"always_latch" { FL; return yALWAYS_LATCH; }
|
"always_latch" { FL; return yALWAYS_LATCH; }
|
||||||
"assert" { FL; return yASSERT; }
|
"assert" { FL; return yASSERT; }
|
||||||
"assume" { FL; return yASSUME; }
|
"assume" { FL; return yASSUME; }
|
||||||
"before" { ERROR_RSVD_WORD("SystemVerilog 2005"); }
|
"before" { FL; return yBEFORE; }
|
||||||
"bind" { FL; return yBIND; }
|
"bind" { FL; return yBIND; }
|
||||||
"bins" { ERROR_RSVD_WORD("SystemVerilog 2005"); }
|
"bins" { ERROR_RSVD_WORD("SystemVerilog 2005"); }
|
||||||
"binsof" { ERROR_RSVD_WORD("SystemVerilog 2005"); }
|
"binsof" { ERROR_RSVD_WORD("SystemVerilog 2005"); }
|
||||||
|
|
|
||||||
|
|
@ -3299,7 +3299,7 @@ for_initialization<nodep>: // ==IEEE: for_initialization + for_variable_declarat
|
||||||
|
|
||||||
for_initializationItemList<nodep>: // IEEE: [for_variable_declaration...]
|
for_initializationItemList<nodep>: // IEEE: [for_variable_declaration...]
|
||||||
for_initializationItem { $$ = $1; }
|
for_initializationItem { $$ = $1; }
|
||||||
| for_initializationItemList ',' for_initializationItem { $$ = $1; $<fl>2->v3error("Unsupported: for loop initialization after the first comma"); }
|
| for_initializationItemList ',' for_initializationItem { $$ = $1; BBUNSUP($2, "Unsupported: for loop initialization after the first comma"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
for_initializationItem<nodep>: // IEEE: variable_assignment + for_variable_declaration
|
for_initializationItem<nodep>: // IEEE: variable_assignment + for_variable_declaration
|
||||||
|
|
@ -3325,7 +3325,7 @@ for_stepE<nodep>: // IEEE: for_step + empty
|
||||||
|
|
||||||
for_step<nodep>: // IEEE: for_step
|
for_step<nodep>: // IEEE: for_step
|
||||||
for_step_assignment { $$ = $1; }
|
for_step_assignment { $$ = $1; }
|
||||||
| for_step ',' for_step_assignment { $$ = $1; $<fl>1->v3error("Unsupported: for loop step after the first comma"); }
|
| for_step ',' for_step_assignment { $$ = $1; BBUNSUP($2, "Unsupported: for loop step after the first comma"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
for_step_assignment<nodep>: // ==IEEE: for_step_assignment
|
for_step_assignment<nodep>: // ==IEEE: for_step_assignment
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
%Error: t/t_for_comma_bad.v:14:16: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:14:21: Unsupported: for loop step after the first comma
|
||||||
14 | for (; ; a=a+1, b=b+1) ;
|
14 | for (; ; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:17:19: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:17:24: Unsupported: for loop step after the first comma
|
||||||
17 | for (; a<1; a=a+1, b=b+1) ;
|
17 | for (; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:20:22: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:20:27: Unsupported: for loop step after the first comma
|
||||||
20 | for (a=0; a<1; a=a+1, b=b+1) ;
|
20 | for (a=0; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:23:30: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:23:35: Unsupported: for loop step after the first comma
|
||||||
23 | for (integer a=0; a<1; a=a+1, b=b+1) ;
|
23 | for (integer a=0; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:26:34: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:26:39: Unsupported: for loop step after the first comma
|
||||||
26 | for (var integer a=0; a<1; a=a+1, b=b+1) ;
|
26 | for (var integer a=0; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:27:23: Unsupported: for loop initialization after the first comma
|
%Error: t/t_for_comma_bad.v:27:23: Unsupported: for loop initialization after the first comma
|
||||||
27 | for (integer a=0, integer b=0; a<1; ) ;
|
27 | for (integer a=0, integer b=0; a<1; ) ;
|
||||||
| ^
|
| ^
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
%Error: t/t_for_comma_bad.v:29:23: Unsupported: for loop initialization after the first comma
|
%Error: t/t_for_comma_bad.v:29:23: Unsupported: for loop initialization after the first comma
|
||||||
29 | for (integer a=0, integer b=0; a<1; a=a+1, b=b+1) ;
|
29 | for (integer a=0, integer b=0; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: t/t_for_comma_bad.v:29:43: Unsupported: for loop step after the first comma
|
%Error: t/t_for_comma_bad.v:29:48: Unsupported: for loop step after the first comma
|
||||||
29 | for (integer a=0, integer b=0; a<1; a=a+1, b=b+1) ;
|
29 | for (integer a=0, integer b=0; a<1; a=a+1, b=b+1) ;
|
||||||
| ^
|
| ^
|
||||||
%Error: Exiting due to
|
%Error: Exiting due to
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue