RECORD fieldDecl { ";" fieldDecl ... } END ";"
where field-decl = id [ ":" type
] [ ":=" constant-expr ]
Record types group related data items together in a unified data structure. Each data item, or field, has a name, a type, and an optional constant initializer. If you supply the constant initializer, you can omit the type; it will be inferred from the constant.
TYPE (* Record type with uninitialized fields *) Rec1 = RECORD x, y: INTEGER; name: TEXT END; (* Record type with initialized fields *) Rec2 = RECORD x, y := 0; (* Type is INTEGER *) name := "" (* Type is TEXT *) END;