Der dazugehörige Syntaxanalysator mit rekursivem Abstieg (in Pascal)Procedure E ();
begin
{Ist es ein Term, dann nicht sofort zurückkehren }
T;
if not success then
return;
while symbol = plusSy do
begin
NewSymbol(symbol, value);
{Ist es ein Term, dann nicht sofort zurückkehren }
T;
if not success then
return;
end;
end;
Procedure T ();
begin
P;
if not success then
return;
while symbol = mulSy do
begin
NewSymbol(symbol, value);
P;
if not success then
return;
end;
end;
Procedure P ();
begin
if symbol = identSy then
begin
NewSymbol(symbol, value);
end;
else if symbol = numberSy then
begin
NewSymbol(symbol, value);
end;
else
begin
success := false;
end;
end;
|