the compound type (OBJECT)
OBJECTs are like a struct/class in C/C++ or a RECORD in pascal. Example:
This defines a data structure consisting of three elements. Syntax:
[ : ] /* any number of these */
where type is one of the following:
PTR TO CHAR/INT/LONG/
ARRAY OF CHAR/INT/LONG/
(ARRAY is short for ARRAY OF CHAR)
like DEF declarations, omitting the type means :LONG.
Not()e that need not be a unique identifier,
it may be in other objects too. There are lots of ways to use objects:
DEF x:myobj /* x is a structure */
DEF y:PTR TO myobj /* y is just a pointer to it */
DEF z:ARRAY OF myobj
y:=[-1,"a",100]:myobj /* typed lists */
IF y.b="a" THEN /* ... */
ARRAYs in objects are always rounded to even sizes, and put on
SIZEOF mystring is 12, and "data" starts at offset 2.
'PTR TO' is the only type in OBJECTs that may refer to yet undeclared
For all other OBJECT features that are somehow OO related see OO features.