PTSTest.mesa
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Last tweaked by Mike Spreitzer on June 15, 1990 6:09 pm PDT
DIRECTORY PTSTestDefs, Rope;
PTSTest: CEDAR PROGRAM = BEGIN
LORA: TYPE ~ LIST OF REF ANY;
A1: TYPE ~ ARRAY BOOL OF A2;
A2: TYPE ~ REF A1;
Zowie: TYPE ~ REF Zowie;
Popa: TYPE ~ LONG POINTER TO PTSTestDefs.Opa;
Test:
PROC
RETURNS [
LORA] ~ {
r1:
REF
ANY ←
NEW [
PROC [
a: {x, y},
b: RECORD [i, j: INT],
r: ATOM,
s: ERROR RETURNS [SIGNAL ANY],
t: REF ANY,
u: LIST OF ZONE,
v: Popa RELATIVE POINTER TO TEXT,
w: PROCESS RETURNS [PORT [i: INT] RETURNS [c: CARD]],
x: PROC RETURNS ANY,
y: LONG DESCRIPTOR FOR ARRAY {u, v, w} OF STRING,
z: Zowie]
RETURNS [
c:
RECORD [
const: A2,
var: SELECT kind: BOOL FROM FALSE => [c: CARD], TRUE => [i: INT] ENDCASE],
d: A2,
e: MACHINE DEPENDENT {alpha(0), omega(255)}]
← NIL];
r2: REF ANY ← NEW [{x, y} ← x];
r3: REF ANY ← NEW [A1 ← ALL[NIL]];
RETURN [LIST[r1, r2, r3]]};
END.