Table-Driven Parser Program Outline


program Parser(input,output,table)

{ declarations }

procedure Parse_Graph (top, flag)

{ parse input strings }

procedure Get_Table

{ read syntax table from file }

begin (Parser}

Get_Table;   {read syntax table definition}

read(sym);   {read first symbol}

top := 1;

Parse_Graph(top,flag);   {parse input string}

if eoln and flag{must be at end of line for valid string}

then writeln ('valid')

else writeln('invalid')


end. {Parser}