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.