Parse
(vl-parse-case-statement atts &key (tokstream 'tokstream)
(config 'config))
→
(mv errmsg? value new-tokstream)Verilog-2005 Syntax:
case_statement ::=
'case' '(' expression ')' case_item {case_item} 'endcase'
| 'casez' '(' expression ')' case_item {case_item} 'endcase'
| 'casex' '(' expression ')' case_item {case_item} 'endcase'
SystemVerilog-2012 extends this kind of basic case statement with
optional
case_statement ::= [unique_priority]
case_keyword '(' expression ')' case_item {case_item} 'endcase'
| ...
case_keyword ::= 'case' | 'casez' | 'casex'
unique_priority ::= 'unique' | 'unique0' | 'priority'
So the above is the same across Verilog-2005 and
SystemVerilog-2012 except for the optional
SystemVerilog also adds new
case_statement ::= ...
| [unique_priority] case_keyword '(' expression ')'
'matches' case_pattern_item {case_pattern_item} 'endcase'
| [unique_priority] 'case' '(' expression ')'
'inside' case_inside_item {case_inside_item} 'endcase'
But BOZO we do not yet implement these.