mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-23 09:39:37 +01:00
Enhances the fast initial parse of lowercase
git-svn-id: trunk@32864 -
This commit is contained in:
parent
524c46d2cc
commit
0071c56828
@ -1567,11 +1567,34 @@ begin
|
|||||||
begin
|
begin
|
||||||
c1 := InStr^;
|
c1 := InStr^;
|
||||||
case c1 of
|
case c1 of
|
||||||
'A'..'Z',#$C3, #$C4, #$C5..#$C8, #$CE, #$D0..#$D2, #$E1: Break;
|
'A'..'Z': Break;
|
||||||
// already lower, or otherwhise not affected
|
#$C3, #$C4, #$C5..#$C8, #$CE, #$D0..#$D2, #$E1:
|
||||||
else
|
begin
|
||||||
inc(InStr);
|
c2 := InStr[1];
|
||||||
|
case c1 of
|
||||||
|
#$C3: if c2 in [#$80..#$9E] then Break;
|
||||||
|
#$C4:
|
||||||
|
begin
|
||||||
|
case c2 of
|
||||||
|
#$81..#$A9, #$B2..#$B6: if ord(c2) mod 2 = 0 then Break;
|
||||||
|
#$B8..#$FF: if ord(c2) mod 2 = 1 then Break;
|
||||||
|
#$B0: Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
#$C5:
|
||||||
|
begin
|
||||||
|
case c2 of
|
||||||
|
#$8A..#$B7: if ord(c2) mod 2 = 0 then Break;
|
||||||
|
#$00..#$88, #$B9..#$FF: if ord(c2) mod 2 = 1 then Break;
|
||||||
|
#$B8: Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
#$C6..#$C8,#$CE, #$D0..#$D2, #$E1: Break;
|
||||||
|
// already lower, or otherwhise not affected
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
|
inc(InStr);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if InStr >= InStrEnd then Exit;
|
if InStr >= InStrEnd then Exit;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user