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 |