function position(id:alfa):integer;
  var i:integer;
   begin (*find identifier in table*)
    table[0].name|=id;
    i|=tx;
    while table[i].name<>id do i|=i-1;
    position|=i
   end(*position*);

 procedure constdeclaration;
  begin
   if sym=ident
    then
     begin
      getsym;
      if sym in [eql,becomes]
       then
        begin
         if sym= becomes
          then error(1);
         getsym;
         if sym = number
          then
           begin
            enter(constant);
            getsym
           end
          else error(2)
        end
       else error(3)
     end
    else error(4)
  end;(* constdeclaration *)

 procedure vardeclaration;
  begin
   if sym=ident
    then
     begin
      enter(variable);
      getsym
     end
    else error(4)
  end(*vardeclaration*);