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:
“Can anything be more ridiculous than that a man should have the right to kill me because he lives on the other side of the water, and because his ruler has a quarrel with mine, though I have none with him?”
—Blaise Pascal (16231662)
“Swear words and profanities are mere abbreviations of speech, similar to the abbreviations in writing.”
—Franz Grillparzer (17911872)
“The trouble with foreign languages is, you have to think before your speak.”
—Swedish proverb, trans. by Verne Moberg.