%EXTERNALROUTINE COPYTOPD(%STRING(12) PD) %EXTERNALROUTINESPEC COPY(%STRING(63) SA) %EXTERNALROUTINESPEC DESTROY(%STRING(63) SB) %EXTERNALINTEGERFNSPEC RETURNCODE %BYTEINTEGERARRAY BUF(1:12) %INTEGER I %STRING(12) S %ON %EVENT 9 %START %STOP %FINISH SELECTINPUT(1) %CYCLE %WHILE NEXTSYMBOL = 10 %OR NEXTSYMBOL = 32 %THEN SKIPSYMBOL STRING(ADDR(BUF(1)))="" %CYCLE I=2,1,11 %IF NEXTSYMBOL =10 %OR NEXTSYMBOL = 32 %C %THEN %EXIT READSYMBOL(BUF(I)) %REPEAT BUF(1)<-I-2 S<-STRING(ADDR(BUF(1))) COPY(S.",".PD."_".S) %IF RETURNCODE=0 %THEN DESTROY(S) %REPEAT %END %ENDOFFILE