begin (*getsym*)
   while ch=> > do getch;
   if ch in [>a>..>z>]
    then
     begin (*id or reserved word*)
      k|=0;
      repeat
       if k<al
        then
         begin
          k|=k+1;
          a[k]|=ch
         end;
       getch
      until not(ch in [>a>..>z>,>0>..>9>]);
      if k>=kk
       then kk|=k
       else
        repeat
         a[kk]|=> >;
         kk|=kk-1
        untilkk=k;
      id|=a;
      i|=1;
      j|=norw;
      repeat
       k|=(i+j) div 2;
       if id<=word[k]
        then j|=k-1;
        if id >= word[k]
        then i|=k+1
        until i>j;
        if i-1 > j
         then sym|=wsym[k]
         else sym|=ident
     end