chelper: added parser error reports

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1291 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2010-08-17 12:29:27 +00:00
parent 86e7cf7017
commit 90fda595b9
7 changed files with 181 additions and 39 deletions

View File

@ -22,6 +22,9 @@ unit TextParsingUtils;
interface
uses
Types;
type
TCharSet = set of Char;
@ -50,6 +53,8 @@ function SkipCommentBlock(const s: AnsiString; var index: Integer; const closecm
function SkipLine(const s: AnsiString; var index: Integer): AnsiString;
function OffsetToLinePos(const t: AnsiString; Offset: Integer; var P: TPoint): AnsiString;
implementation
function ScanWhile(const s: AnsiString; var index: Integer; const ch: TCharSet): AnsiString;
@ -147,5 +152,21 @@ begin
inc(index);
end;
function OffsetToLinePos(const t: AnsiString; Offset: Integer; var P: TPoint): AnsiString;
var
i, le : Integer;
begin
i := 1;
le := 0;
P.X := 0;
P.Y := 0;
while i < Offset do begin
Inc(P.Y);
le := i;
SkipLine(t, i);
end;
P.X := Offset - le + 1;
end;
end.