We distinguish three primitive types: (1) elementary types such as
numeric values or strings; (2) arrays; and (3) records.
Initially every declared variable gets a unique primitive type. Types
are made unique by encoding a label into them: since variable
occurrences must have unique names in a COBOL program (module),
the variable
names can be used for this. We qualify variable names with program
names to obtain uniqueness at the system level. We use to denote
the primitive type of variable
.