dparser.pp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. Program DParser;
  2. {$mode objfpc}{$h+}
  3. uses Classes;
  4. var
  5. InFile : TFileStream;
  6. Parser : TParser;
  7. begin
  8. InFile := TFileStream.Create('parser.dat', fmOpenRead);
  9. if Assigned(InFile) then begin
  10. try
  11. Parser := TParser.Create(InFile);
  12. if Assigned(Parser) then begin
  13. try
  14. while Parser.Token <> toEOF do begin
  15. case Parser.Token of
  16. toInteger : WriteLn('Found integer: "', Parser.TokenInt, '"');
  17. toFloat : WriteLn('Found float: "', Parser.TokenFloat, '"');
  18. toString : WriteLn('Found string: "', Parser.TokenString, '"');
  19. toSymbol : WriteLn('Found symbol: "', Parser.TokenString, '"');
  20. else
  21. // Skip all other characters
  22. ;
  23. end;
  24. Parser.NextToken;
  25. end;
  26. finally
  27. WriteLn('Freeing parser object');
  28. Parser.Free;
  29. end;
  30. end;
  31. finally
  32. WriteLn('Freeing infile object');
  33. InFile.Free;
  34. end;
  35. end;
  36. end.