ITS Muddle.
[pdp10-muddle.git] / MUDDLE / ptest.13
diff --git a/MUDDLE/ptest.13 b/MUDDLE/ptest.13
new file mode 100644 (file)
index 0000000..f566d4a
--- /dev/null
@@ -0,0 +1,49 @@
+<SETG FRAMEN 
+  <FUNCTION (N)
+   <COND (<0? .N> <FRAME>)
+         (T <FRAME <FRAMEN <- .N 1>>>)>>>\e
+
+
+<SETG PATH 
+ <FUNCTION TL (START FINISH)
+   <PROG ((VAL <FAILPOINT () <PATH1 .START .FINISH ()>
+                    ()
+                    <EXIT .TL <>>   >))
+    <FINALIZE .TL>
+    <RETURN .VAL>>>>\e
+
+
+<SETG PATH1
+ <FUNCTION  (START FINISH AVOID)
+   <COND (<==? .START .FINISH>
+          (.FINISH))
+         (<MEMBER .START .AVOID>
+          <FAIL>)
+         (T (.START 
+             !<PATH1
+               <FAILPOINT FP (N (NODES <GET .START CONNECTED>))
+                        <FAIL> ()
+                        <COND (<EMPTY? .NODES> <FAIL>)
+                              (<SET N <1 .NODES>>
+                               <SET NODES <REST .NODES>>
+                               <RESTORE .FP .N>)>   >
+               .FINISH
+               (.START !.AVOID)>))>>   >\e
+
+
+<PUT ALPHA CONNECTED (B D K)>\e
+<PUT B CONNECTED (ALPHA I C)>\e\r\r
+<PUT I CONNECTED (B H J)>\e
+<PUT H CONNECTED (I)>\e
+<PUT J CONNECTED (I)>\e
+<PUT C CONNECTED (B G D)>\e
+<PUT G CONNECTED (C)>\e
+<PUT D CONNECTED (ALPHA C F)>\e
+\r<PUT F CONNECTED (D)>\e
+<PUT K CONNECTED (ALPHA M L)>\e
+<PUT M CONNECTED (K L N O)>\e
+<PUT L CONNECTED (K M)>\e
+<PUT N CONNECTED (M)>\e
+<PUT O CONNECTED (M P OMEGA)>\e
+<PUT P CONNECTED (O)>\e
+<PUT OMEGA CONNECTED (O)>\e\f\f\ 3\f
\ No newline at end of file