%include "ftn_ht" %include "ftn_triadops1" %include "ftn_consts1" %include "ftn_fmts2" !* %externalroutine gmop3(%integer atriads) %RECORD(TRIADF)%NAME Tr,Tr1,Tr2,Tr3 %INTEGER CH,Q CH=1 %CYCLE TR==RECORD(ATRIADS+CH*12) Q=Tr_Qopd1 %if Q=SRTEMP %thenstart Tr_Qopd1=BREG %finishelsestart %if Q=TRIAD %thenstart Tr1==record(Atriads+Tr_Opd1*12) %if Tr1_Op=REF %thenstart Tr_Res1=Tr1_Res1 Tr1_Op=NULL %finish %finish %finish Q=Tr_Qopd2 %if Q=SRTEMP %thenstart Tr_Qopd2=BREG %finishelsestart %if Q=TRIAD %thenstart Tr1==record(Atriads+Tr_Opd2*12) %if Tr1_Op=REF %thenstart Tr_Res2=Tr1_Res1 Tr1_Op=NULL %finish %finish %finish CH=TR_CHAIN %REPEAT %UNTIL CH=0 %END;! PRINT CHTRIADS !* %endoffile