You've already forked lazarus-ccr
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:
@ -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.
|
||||
|
||||
|
Reference in New Issue
Block a user