More files.
[pdp10-muddle.git] / <mdl.comp> / ac.bug.1
1 ;"need to fload <ac.mud>init.mud in order to compile this"
2
3 <DEFINE GENERATE_PROCESSING_ORDERS (TR           ;"transaction description"
4                                     PS                  ;"partial sequence"
5                                     "AUX" (NN <NTH .TR ,nnodes_t>)
6                                                             ;"no. of nodes"
7                                           TEMP)
8    #DECL ((TR) transaction_type_desc (PS) <LIST [REST FIX]>
9           (TEMP) <OR <LIST [REST FIX]> FALSE> (NN) FIX)
10    <COND
11     (<==? <LENGTH .PS> .NN> .PS)
12     (<MAPF <>
13       <FUNCTION (X) 
14          #DECL ((X) FIX)
15          <SET TEMP
16           <MAPF ,LIST
17            <FUNCTION (Y) 
18               #DECL ((Y) FIX)
19               <COND (<NOT <MEMBER .Y .PS>>
20                      <MAPRET !<GENERATE_PROCESSING_ORDERS .TR (.Y !.PS)>>)
21                     (ELSE <MAPRET>)>>
22            <NTH <NTH <NTH .TR ,conns_t> .X> ,rcn_c>>>
23          <COND (<NOT <EMPTY? .TEMP>> <MAPLEAVE .TEMP>)>>
24       .PS>)
25     (<MAPF <>
26       <FUNCTION (X "AUX" (Y <NTH <NTH <NTH .TR ,conns_t> .X> ,pn_c>)) 
27               #DECL ((X) FIX (Y) <OR FIX FALSE>)
28               <COND
29                (<AND .Y <NOT <MEMBER .Y .PS>>>
30                 <MAPLEAVE <GENERATE_PROCESSING_ORDERS .TR (.Y !.PS)>>)>>
31       .PS>)
32     (ELSE                           ;"look for unrestricted children nodes"
33      <MAPF <>
34       <FUNCTION (X) 
35          #DECL ((X) FIX)
36          <SET TEMP
37           <MAPF <>
38            <FUNCTION (Y) 
39               #DECL ((Y) FIX)
40               <COND
41                (<NOT <MEMBER .Y .PS>>
42                 <MAPLEAVE <GENERATE_PROCESSING_ORDERS .TR (.Y !.PS)>>)>>
43            <NTH <NTH <NTH .TR ,conns_t> .X> ,ucn_c>>>
44          <COND (.TEMP <MAPLEAVE .TEMP>)>>
45       <LREVERSE <LIST !.PS>>>)>>
46