Enumerated Type - Pascal and Syntactically Similar Languages

Pascal and Syntactically Similar Languages

In Pascal, an enumerated type can be implicitly declared by listing the values in a parenthesised list:

var suit: (clubs, diamonds, hearts, spades);

The declaration will often appear in a type synonym declaration, such that it can be used for multiple variables:

type cardsuit = (clubs, diamonds, hearts, spades); card = record suit: cardsuit; value: 1 .. 13; end; var hand: array of card; trump: cardsuit;

The order in which the enumeration values are given matters. An enumerated type is an ordinal type, and the pred and succ functions will give the prior or next value of the enumeration, and ord can convert enumeration values to their integer representation. Standard Pascal does not offer a conversion from arithmetic types to enumerations, however. Extended Pascal offers this functionality via an extended succ function. Some other Pascal dialects allow it via type-casts. Some modern descendants of Pascal, such as Modula-3, provide a special conversion syntax using a method called VAL; Modula-3 also treats BOOLEAN and CHAR as special pre-defined enumerated types and uses ORD and VAL for standard ASCII decoding and encoding.

Pascal style languages also allow for enumeration to be used as array index

var suitcount: array of integer;

Read more about this topic:  Enumerated Type

Famous quotes containing the words pascal, similar and/or languages:

    Atheism shows strength of mind, but only to a certain degree.
    —Blaise Pascal (1623–1662)

    Custom, then, is the great guide of human life. It is that principle alone, which renders our experience useful to us, and makes us expect, for the future, a similar train of events with those which have appeared in the past.
    David Hume (1711–1776)

    Wealth is so much the greatest good that Fortune has to bestow that in the Latin and English languages it has usurped her name.
    William Lamb Melbourne, 2nd Viscount (1779–1848)