Next: , Previous: External Values, Up: Project File Reference

13.12 Case Construction

A case construction supports attribute declarations that depend on the value of a previously declared variable.


     case_construction ::=
       case <typed_variable_>name is
       end case ;
     case_item ::=
       when discrete_choice_list =>
         {case_construction | attribute_declaration | empty_declaration}
     discrete_choice_list ::=
       string_literal {| string_literal} |

All choices in a choice list must be distinct. The choice lists of two distinct alternatives must be disjoint. Unlike Ada, the choice lists of all alternatives do not need to include all values of the type. An others choice must appear last in the list of alternatives.