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*);
|