iintegerchcharwwordbegin root :nilline : texts writeint( )texts write(wtab)texts read(rch)while ~ eot do if ch dx then (*line end*texts writeln( )inc(line)texts writeint(wline )texts write( )texts read(rchelsif (" <ch(ch <" "or (" <ch(ch <" "then : repeat if wordlen- then [ :chinc(iendtexts write(wch)texts read(rchuntil ( wordlen- or ~((" <ch(ch <" ")~((" <ch(ch <" ")~((" <ch(ch <" ")) [ : (*string terminator*search(rootwelse texts write(wch)texts read(rchendendtexts writeln( )texts writeln( )tabulate(rootend crossref procedure search (xintegervar pnode)begin if key then search(xp leftelsif ^key then search(xp rightelsif then inc( countelse (*insert*new( ) key :xp left :sp right :sp count : end end begin else elsif end if inc integer new node procedure then var count insert key left right search table sample output of cross reference generator