Browse Source

Initial implementation by TSE

michael 27 years ago
parent
commit
9fe96b32a8
2 changed files with 44 additions and 0 deletions
  1. 38 0
      fcl/tests/dparser.pp
  2. 6 0
      fcl/tests/parser.dat

+ 38 - 0
fcl/tests/dparser.pp

@@ -0,0 +1,38 @@
+Program DParser;
+
+uses ObjPas,
+     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.

+ 6 - 0
fcl/tests/parser.dat

@@ -0,0 +1,6 @@
+Line 1
+Line _21; Line _22; Line _23
+Line 3
+123456.7890
+12345 54321
+Result := 'Hi, I''m a string line';