This commit is contained in:
2018-10-29 14:52:41 +02:00
parent 886cbb2974
commit 2e07350571
2 changed files with 61 additions and 67 deletions

View File

@@ -3,15 +3,17 @@ unit AG.PascalTokenizer;
interface
uses
{$IFDEF FPC}fgl,SysUtils,Classes{$ELSE}System.Generics.Collections,System.SysUtils,System.Classes{$ENDIF};
{$IFDEF FPC}
SysUtils,Classes
{$ELSE}
System.Generics.Collections,System.SysUtils,System.Classes
{$ENDIF};
{$IFDEF FPC}
{$mode Delphi}
{$ENDIF}
type
{$IFDEF FPC}TFpcList=specialize TFPGList<String>;{$ENDIF}
TAGTokenizerPos = record
x, y: integer;
end;
@@ -81,7 +83,7 @@ const
fix = {$IFDEF NEXTGEN}-1{$ELSE}0{$ENDIF};
var
SYMS2:{$IFDEF FPC}TFpcList{$ELSE}TList<string>{$ENDIF}; // array[0..8]of string=();
SYMS2:{$IFDEF FPC}TStringList{$ELSE}TList<string>{$ENDIF}; // array[0..8]of string=();
function IsComment(s:string):boolean;
begin
@@ -233,18 +235,11 @@ begin
begin
ss := now_sym;
inc(x);
{$IFDEF FPC}
ff:=false;
for i:=0 to SYMS2.Count-1 do
if SYMS2[i]=now_sym+next_sym then
begin
ff:=true;
break;
end;
if ff then
{$ELSE}
if SYMS2.Contains(now_sym+next_sym) then
{$ENDIF}
if SYMS2.{$IFDEF FPC}
IndexOf(now_sym+next_sym)<>-1
{$ELSE}
Contains(now_sym+next_sym)
{$ENDIF}then
begin
inc(x);
ss := ss + next_sym;
@@ -328,7 +323,7 @@ begin
end;
initialization
SYMS2 := {$IFDEF FPC}TFpcList{$ELSE}TList<string>{$ENDIF}.Create();
SYMS2 := {$IFDEF FPC}TStringList{$ELSE}TList<string>{$ENDIF}.Create();
SYMS2.Add('>=');
SYMS2.Add('<=');
SYMS2.Add('<>');

View File

@@ -16,7 +16,6 @@
<Filename Value="testcase1.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="TestCase1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="13"/>
<CursorPos X="23" Y="31"/>
@@ -24,151 +23,151 @@
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="232"/>
<CursorPos X="13" Y="242"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="C:\lazarus\components\fpcunit\guitestrunner.pas"/>
<UnitName Value="GuiTestRunner"/>
<EditorIndex Value="-1"/>
<TopLine Value="44"/>
<CursorPos X="12" Y="54"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="299"/>
<CursorPos X="20" Y="313"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\objpas\classes\classesh.inc"/>
<EditorIndex Value="3"/>
<EditorIndex Value="-1"/>
<TopLine Value="715"/>
<CursorPos X="47" Y="732"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit4>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="189" TopLine="171"/>
<Caret Line="191" TopLine="171"/>
</Position1>
<Position2>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="190" TopLine="171"/>
<Caret Line="192" TopLine="171"/>
</Position2>
<Position3>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="191" TopLine="171"/>
<Caret Line="193" TopLine="171"/>
</Position3>
<Position4>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="192" TopLine="171"/>
<Caret Line="196" TopLine="171"/>
</Position4>
<Position5>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="193" TopLine="171"/>
<Caret Line="295" TopLine="278"/>
</Position5>
<Position6>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="196" TopLine="171"/>
<Caret Line="300" TopLine="278"/>
</Position6>
<Position7>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="295" TopLine="278"/>
<Caret Line="312" TopLine="284"/>
</Position7>
<Position8>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="300" TopLine="278"/>
<Caret Line="189" TopLine="171"/>
</Position8>
<Position9>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="312" TopLine="284"/>
<Caret Line="190" TopLine="171"/>
</Position9>
<Position10>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="189" TopLine="171"/>
<Caret Line="191" TopLine="171"/>
</Position10>
<Position11>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="190" TopLine="171"/>
<Caret Line="192" TopLine="171"/>
</Position11>
<Position12>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="191" TopLine="171"/>
<Caret Line="193" TopLine="171"/>
</Position12>
<Position13>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="192" TopLine="171"/>
<Caret Line="196" TopLine="171"/>
</Position13>
<Position14>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="193" TopLine="171"/>
<Caret Line="295" TopLine="278"/>
</Position14>
<Position15>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="196" TopLine="171"/>
<Caret Line="300" TopLine="278"/>
</Position15>
<Position16>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="295" TopLine="278"/>
<Caret Line="312" TopLine="284"/>
</Position16>
<Position17>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="300" TopLine="278"/>
<Caret Line="189" TopLine="171"/>
</Position17>
<Position18>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="312" TopLine="284"/>
<Caret Line="190" TopLine="171"/>
</Position18>
<Position19>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="189" TopLine="171"/>
<Caret Line="191" TopLine="171"/>
</Position19>
<Position20>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="190" TopLine="171"/>
<Caret Line="192" TopLine="171"/>
</Position20>
<Position21>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="191" TopLine="171"/>
<Caret Line="193" TopLine="171"/>
</Position21>
<Position22>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="192" TopLine="171"/>
<Caret Line="196" TopLine="171"/>
</Position22>
<Position23>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="193" TopLine="171"/>
<Caret Line="295" Column="7" TopLine="278"/>
</Position23>
<Position24>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="196" TopLine="171"/>
</Position24>
<Position25>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="295" Column="7" TopLine="278"/>
</Position25>
<Position26>
<Filename Value="testcase1.pas"/>
<Caret Line="28" Column="11" TopLine="4"/>
</Position26>
<Position27>
</Position24>
<Position25>
<Filename Value="testcase1.pas"/>
<Caret Line="29" Column="15" TopLine="4"/>
</Position27>
<Position28>
</Position25>
<Position26>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="295" Column="9"/>
</Position26>
<Position27>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="313" Column="20" TopLine="299"/>
</Position27>
<Position28>
<Filename Value="testcase1.pas"/>
<Caret Line="23" Column="12" TopLine="8"/>
</Position28>
<Position29>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="313" Column="20" TopLine="299"/>
<Caret Line="110" Column="34" TopLine="106"/>
</Position29>
<Position30>
<Filename Value="testcase1.pas"/>
<Caret Line="23" Column="12" TopLine="8"/>
<Filename Value="..\AG.PascalTokenizer.pas"/>
<Caret Line="86" Column="32" TopLine="72"/>
</Position30>
</JumpHistory>
</ProjectSession>