1 2 3 4 5 6 7 8 9 10 11 12 13 14 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 [FOO] TRACK 63 [ 16.28 2 NOV 1973] CRBATED L6.28 1 I1 1R78 NEW ' VARS TYPE; [UNCTION TYPE N1;SUBSCRC(N1+1, '222222222234333400403435643363430111111111111111111111111L163434) ); BND; BUNCTION ITR; VARS CNT; 0->CNT; IF C1=17 OR C1=16 OR C1=63 THEN 1-XCNT; LOOPSP: DDF1()->C2; IF C1=C2 THEN CNT+1-XCNT; OOTO LOOPSP; CLOSE; CONSPAIR(C1,GNT); C2->C1;EXIT; IF CL=23 THEN 1->CNT; APPLY(INCHARITEM(LAMBDA; IF CNT THEN 23; 0->CNT; ELSE DDF1()->C1;G1;CLOSE;END)); EXIT; IF C1=TERMIN THEN TERMIN;EXIT; IF G1<10 THEN LOOPIF C1<10 THEN C1;DDF1()->C1;CNT+1->CNT;CLDSE; ISNUMBER->KIND; GOTO GOBBLE; ELSEIF TYPE(C1)=1 THEN LOOPIF TYPE(C1)=1 OR TYPE(C1)=2 THEN C1;DDF1()->C1;CNT+1->CNT;CLOSE; GOTO OUTITEM; ELSEIF TYPE(C1)=3 THEN LOOPIF TYPE(C1)=3 THEN G1;DDF1()->C1;CNT+1->CNT;CLOSE; OUTITEM: IF CNT<9 THEN CONSWORD(CNT);EXIT; ISWORD->KIND;GOTO GOBBLE; ELSE DDF1()->C2; IF C2=21 THEN IF C1=24 OR C1= 59 THEN CONSWORD(C1,C2,2);DDF1()->C1;EXIT; CONSWORD(C1,1);C2->C1;RETURN; ELSEIF G1=21 THEN IF C2=25 OR C2=61 THEN CONSWORD(C1,C2,2);DDF1()->C1;EXIT; CONSWORD(C1,1);G2->C1;RETURN; ELSE CONSWORD(C1,1);C2->C1;EXIT; CLOSE; GOBBLE: INITC(CNT)->FOO; LOOPIF CNT THEN ->SUBSCRC(CNT,FOO);CNT-1->CNT;CLOSE; CONSPAIR(KIND,FOO); END; FUNCTION INDENT DDF1 DDF2; VARS OLD NEW; [0] -> PDL;