-
Notifications
You must be signed in to change notification settings - Fork 1
typespec
#typeSpec
##Syntax A typeSpec (type specification) is one of:
(a) int (b) real (c) boolean (d) stringType % Example: string ( 20 ) (e) subrangeType % Example: 1 .. 150 (f) enumeratedType % Example: enum ( red, green, blue ) (g) arrayType % Example: array 1 .. 150 of real (h) setType % Example: set of 1 .. 10 (i) recordType % Example: record � end record (j) unionType % Example: union � end union (k) pointerType % Example: pointer to collectionVar (l) namedType % Example: colorRange (m) nat % natural number (n) intn % n-byte integer (n=1, 2, 4) (o) natn % n-byte natural (n= 1, 2, 4) (p) realn % n-byte real (n=4, 8) (q) char % single character (r) char(n) % n characters (s) subprogramType
##Description A type specification determines the allowed values for a variable or constant. For example, if variable x is an integer (its typeSpec is int), the possible values for x are numbers such as -15, 0, 3 and 348207. If x is a real number (its typeSpec is real), then its possible values include 7.8, -35.0, and 15e12. If x is a boolean, its possible values are true and false. If x is a string, its possible values include Hello and Good-bye.
##Example
var numberOfSides : int
var x, y : real
type range : 0 .. 150 % The typeSpec here is 0 .. 150
type entry : % Here is a record typeSpec
record
name : string ( 25 )
age : range
end record
##See also int.html, real.html, boolean.html, string1.html, subrangetype.html, enum.html, array.html, set.html, record.html, union.html, pointer.html, named.html, nat.html, int.htmln, nat.htmln, real.htmln, char.html, and char.html(n) types.