blob: 4b9e2129ecf6a2eef33f5bf75dd2a494a9ef9b82 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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.
|