50 lines
990 B
ObjectPascal
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.
|