列挙型
Adaでは、Pascalとよく似た定義となるが"="の替りに"is"を用いる。
属性Pred, Succ, ValおよびPosに加えて、Adaには更に属性ImageおよびValueがあり、文字列変換を行うことができる(Image: 列挙値から文字列への変換、Value: 文字列から列挙値への変換)。
Cスタイルの言語と同様に、Adaでは列挙値として数値に何を用いるかを指定することができる。
Cスタイルの言語と異なり、Adaでは列挙値に割り当てるビット数を指定することができる。
さらに列挙値を配列の添字として用いることもできる。
Modula-3と同様に、AdaではBooleanやCharacterは列挙型の一種に過ぎない(パッケージ"Standard"で既定義)。Modula-3と異なり、Adaでは自前の文字型も定義することができる。