|
@@ -40,6 +40,7 @@ var
|
|
|
InputFiles, DescrFiles: TStringList;
|
|
|
PackageName, DocLang, ContentFile : String;
|
|
|
Engine: TFPDocEngine;
|
|
|
+ StopOnParserError : Boolean;
|
|
|
|
|
|
Procedure Usage(AnExitCode : Byte);
|
|
|
|
|
@@ -108,6 +109,7 @@ begin
|
|
|
DescrFiles := TStringList.Create;
|
|
|
BackendOptions := TStringList.Create;
|
|
|
Engine := TFPDocEngine.Create;
|
|
|
+ StopOnParserError:=False;
|
|
|
end;
|
|
|
|
|
|
procedure FreeOptions;
|
|
@@ -161,6 +163,8 @@ begin
|
|
|
Engine.WarnNoNode := True
|
|
|
else if s = '--show-private' then
|
|
|
Engine.HidePrivate := False
|
|
|
+ else if s = '--stop-on-parser-error' then
|
|
|
+ StopOnParserError := True
|
|
|
else
|
|
|
begin
|
|
|
i := Pos('=', s);
|
|
@@ -243,8 +247,11 @@ begin
|
|
|
ParseSource(Engine, InputFiles[i], OSTarget, CPUTarget);
|
|
|
except
|
|
|
on e: EParserError do
|
|
|
- WriteLn(StdErr, Format('%s(%d,%d): %s',
|
|
|
- [e.Filename, e.Row, e.Column, e.Message]));
|
|
|
+ If StopOnParserError then
|
|
|
+ Raise
|
|
|
+ else
|
|
|
+ WriteLn(StdErr, Format('%s(%d,%d): %s',
|
|
|
+ [e.Filename, e.Row, e.Column, e.Message]));
|
|
|
end;
|
|
|
WriterClass:=GetWriterClass(Backend);
|
|
|
Writer:=WriterClass.Create(Engine.Package,Engine);
|