ITS Muddle.
[pdp10-muddle.git] / MUDDLE / ptest.13
1 <SETG FRAMEN 
2   <FUNCTION (N)
3    <COND (<0? .N> <FRAME>)
4          (T <FRAME <FRAMEN <- .N 1>>>)>>>\e
5
6
7 <SETG PATH 
8  <FUNCTION TL (START FINISH)
9    <PROG ((VAL <FAILPOINT () <PATH1 .START .FINISH ()>
10                     ()
11                     <EXIT .TL <>>   >))
12     <FINALIZE .TL>
13     <RETURN .VAL>>>>\e
14
15
16 <SETG PATH1
17  <FUNCTION  (START FINISH AVOID)
18    <COND (<==? .START .FINISH>
19           (.FINISH))
20          (<MEMBER .START .AVOID>
21           <FAIL>)
22          (T (.START 
23              !<PATH1
24                <FAILPOINT FP (N (NODES <GET .START CONNECTED>))
25                         <FAIL> ()
26                         <COND (<EMPTY? .NODES> <FAIL>)
27                               (<SET N <1 .NODES>>
28                                <SET NODES <REST .NODES>>
29                                <RESTORE .FP .N>)>   >
30                .FINISH
31                (.START !.AVOID)>))>>   >\e
32
33
34 <PUT ALPHA CONNECTED (B D K)>\e
35 <PUT B CONNECTED (ALPHA I C)>\e\r\r
36 <PUT I CONNECTED (B H J)>\e
37 <PUT H CONNECTED (I)>\e
38 <PUT J CONNECTED (I)>\e
39 <PUT C CONNECTED (B G D)>\e
40 <PUT G CONNECTED (C)>\e
41 <PUT D CONNECTED (ALPHA C F)>\e
42 \r<PUT F CONNECTED (D)>\e
43 <PUT K CONNECTED (ALPHA M L)>\e
44 <PUT M CONNECTED (K L N O)>\e
45 <PUT L CONNECTED (K M)>\e
46 <PUT N CONNECTED (M)>\e
47 <PUT O CONNECTED (M P OMEGA)>\e
48 <PUT P CONNECTED (O)>\e
49 <PUT OMEGA CONNECTED (O)>\e\f\f\ 3\f