% ** TEST PROGRAM ** func search %--- main --- var dict,buf array tend[2] begin dict := openm($2,0) write(dict:ascii(0)) write(dict:ascii(30),ascii(-'P'),"ROC") write(dict:ascii(31),ascii(-'F'),"UNC") write(dict:ascii(33),ascii(-'V'),"AR") postion(dict,tend) buf := openm($2,0) write(buf:"FUNC",ascii(0)) write(0:search(buf),crlf) seek(buf,0) write(buf:"NONAME",ascii(0)) write(0:search(buf),crlf) end search(buf) var val,k,c array bend begin val := seek(dict,tend) position(buf,bend) while val#0 do [ c:=seekr(buf,-1) k:=seekr(dict,-1) if k.lt.0 then [ if c=-k then return val % found val := seekr(dict,-1) ] else if c#k then [ seek(buf,bend) repeat k:=seekr(dict,-1) until k.lt.0 val := seekr(dict,-1) ] ] return val % not found end