1 { 2+ 2? 2 type_definition 2 file_scope_data_declaration 2 block_scope_data_declaration 3+ 3? 3 case_clause 4? 4 default_clause 5+ 5? 5 case_clause 6 }