Switch statements have their own set of syntactic symbols. Here’s an example:
1: void spam( enum Ingredient i ) 2: { 3: switch( i ) { 4: case Ham: 5: be_a_pig(); 6: break; 7: case Salt: 8: drink_some_water(); 9: break; 10: default: 11: { 12: what_is_it(); 13: break; 14: } 15: } 14: }
Here, lines 4, 7, and 10 are all assigned case-label
syntax,
while lines 5 and 8 are assigned statement-case-intro
. Line 11
is treated slightly differently since it contains a brace that opens a
block — it is given statement-case-open
syntax.