Files
bds.mr.dpg/doc/grammars/multiLexer/demo.dpr
T
2026-01-03 18:31:15 +01:00

50 lines
990 B
ObjectPascal

program demo;
{$APPTYPE CONSOLE}
uses
Classes,
SysUtils,
dpgTokenStreamSelector,
javaLexer,
javaDocLexer,
javaParser;
var
stm : TFileStream;
lexJava : TJavaLexer;
lexJavaDoc : TJavaDocLexer;
parJava : TJavaParser;
sel : TdpgTokenStreamSelector;
begin
if ParamCount = 1 then
begin
try
stm := TFileStream.Create( ParamStr(1), fmOpenRead);
sel := TdpgTokenStreamSelector.Create;
lexJava := TJavaLexer.Create( stm);
lexJavaDoc := TJavaDocLexer.Create( lexJava.InputState);
lexJava.Selector := sel;
lexJavaDoc.Selector := sel;
sel.add( lexJava, 'main');
sel.add( lexJavaDoc, 'docLexer');
sel.select( 'main');
parJava := TJavaParser.Create( sel);
parJava.input;
except
writeln('Exception...');
end;
end;
{ TODO -oUser -cConsole Main : Insert code here }
end.