123456789101112131415161718192021222324252627282930313233343536373839 |
- Program DParser;
- {$mode objfpc}{$h+}
- uses Classes;
- var
- InFile : TFileStream;
- Parser : TParser;
- begin
- InFile := TFileStream.Create('parser.dat', fmOpenRead);
- if Assigned(InFile) then begin
- try
- Parser := TParser.Create(InFile);
- if Assigned(Parser) then begin
- try
- while Parser.Token <> toEOF do begin
- case Parser.Token of
- toInteger : WriteLn('Found integer: "', Parser.TokenInt, '"');
- toFloat : WriteLn('Found float: "', Parser.TokenFloat, '"');
- toString : WriteLn('Found string: "', Parser.TokenString, '"');
- toSymbol : WriteLn('Found symbol: "', Parser.TokenString, '"');
- else
- // Skip all other characters
- ;
- end;
- Parser.NextToken;
- end;
- finally
- WriteLn('Freeing parser object');
- Parser.Free;
- end;
- end;
- finally
- WriteLn('Freeing infile object');
- InFile.Free;
- end;
- end;
- end.
|