TAL Programmer's Guide
Emulating Pascal Variant Parts
Using Equivalenced Variables
096254 Tandem Computers Incorporated 10–21
Emulating Pascal
Variant Parts
You can simulate variant parts of a Pascal record type by using equivalenced
structures as follows. (For information on record type variant parts, see the Pascal
Reference Manual.)
LITERAL triangle, rectangle, circle;
STRUCT geometry (*);
 BEGIN
 REAL x, y;
 REAL area;
 INT shape; ! 0 = TRIANGLE,
 ! 1 = RECTANGLE,
 ! 2 = CIRCLE
 STRUCT triangle_info; !If SHAPE = TRIANGLE
 BEGIN
 REAL side1, side2, side3;
 REAL(64) angle1, angle2, angle3;
 END;
 STRUCT rectangle_info = triangle_info;
 !If SHAPE = RECTANGLE
 BEGIN
 REAL side1, side2;
 END;
 STRUCT circle_info = triangle_info;
 !If SHAPE = CIRCLE
 BEGIN
 REAL diameter;
 END;
 END;










