%EXTERNALROUTINE nrs %alias "c#nrs"(%STRING (255) s) %ROUTINE define(%STRING (255) s) %EXTERNALROUTINESPEC emas3(%STRINGNAME command,params, %INTEGERNAME flag) %INTEGER flag emas3("DEFINE",s,flag) %END; ! Of %ROUTINE define. %STRING (255) t,u,v %INTEGER i,j,k %OWNINTEGER state= 0, lines = 0 %OWNINTEGERARRAY field(0:4)= 34, 18, 20, 5, 5 %OWNINTEGERARRAY spc(0:2)= 34, 52, 72 %OWNBYTEINTEGERARRAY first(0:4)= 'S', 'A', 'D', 'Y', 'A' %OWNSTRING (25) %ARRAY names(0:4)= %C "Standard name", "Abbreviated name", "DTE string", "YBTS string", "Application relay" %ON 9 %START %STOP %FINISH %ROUTINE strip(%STRING (*) %NAME s) %INTEGER i,j,k k = length(s) %IF k<20 %THEN s = "" %ANDRETURN charno(s,18) = k-18 s = string(addr(s)+18) %END %ROUTINE next item printstring(s) newline state = 0 lines = lines+1 %END %ROUTINE readstring(%STRING (*) %NAME s) %INTEGER i,j s = "" %CYCLE readsymbol(i) %RETURNIF i=nl s = s.tostring(i) %REPEAT %END %UNLESS s->s.("/").t %START printstring("Parameters / please ") %STOP %FINISH define("1,".s) define("2,".t) select input(1) select output(2) %CYCLE readstring(s) %IF s#"" %and charno(s,1)='.' %START newline %IF lines>0 %THEN newpage lines = 0; state = 0 printstring(s) newline %CONTINUE %FINISH %IF length(s)<10 %THENCONTINUE %IF charno(s,1)=first(state) %START first again: strip(s) %IF state=3 %THEN next item %ANDCONTINUE printstring(s); spaces(field(state)-length(s)) %IF length(s)>field(state) %THEN newline %AND spaces(spc(state)) state = state+1 %CONTINUE %FINISH %IF charno(s,1)=first(4) %START ! applics strip(s) %IF state=0 %THEN spaces(spc(2)) printstring("Relay:") next item %CONTINUE %FINISH %IF charno(s,1)=first(0) %START state = 0; newline ->first again %FINISH %CONTINUE; ! ?????????????????????????????????????????????????? %REPEAT %END %ENDOFFILE