Changeset 65


Ignore:
Timestamp:
Oct 18, 2010, 8:53:48 AM (14 years ago)
Author:
george
Message:

Added: Base parsing of class, pointer and enumeration.

Location:
branches/Transpascal
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/Transpascal/Compiler/Analyze/UParser.pas

    r64 r65  
    3535    procedure GetNextToken;
    3636    function ReadCode: string;
     37    function NextToken: string;
    3738    procedure Expect(Code: string);
    3839    function IsWhiteSpace(Character: char): boolean;
     
    345346  GetNextToken;
    346347  Log('Read: ' + Result);
     348end;
     349
     350function TBaseParser.NextToken: string;
     351begin
     352  Result := FNextToken;
    347353end;
    348354
     
    10641070      Expect(AssignSymbol);
    10651071    end;
    1066     if FNextToken = 'record' then begin
     1072    if NextToken = '(' then begin
     1073      // Enumeration
     1074      Expect('(');
     1075      Result := TTypeEnumeration.Create;
     1076      TTypeEnumeration(Result).Parent := TypeList;
     1077      TTypeEnumeration(Result).Name := Name;
     1078      with TTypeEnumeration(Result) do
     1079      with TEnumItem(Items[Items.Add(TEnumItem.Create)]) do begin
     1080        Name := ReadCode;
     1081        if (NextToken = '=') and (FNextTokenType = ttConstantNumber) then begin
     1082          Expect('=');
     1083          Index := StrToInt(ReadCode);
     1084        end;
     1085      end;
     1086      while (NextToken = ',') and (FNextTokenType <> ttEndOfFile) do
     1087      begin
     1088        Expect(',');
     1089        with TTypeEnumeration(Result) do
     1090        with TEnumItem(Items[Items.Add(TEnumItem.Create)]) do begin
     1091          Name := ReadCode;
     1092          if (NextToken = '=') and (FNextTokenType = ttConstantNumber) then begin
     1093            Expect('=');
     1094            Index := StrToInt(ReadCode);
     1095          end;
     1096        end;
     1097      end;
     1098      Expect(')');
     1099    end else
     1100    if NextToken = 'record' then begin
    10671101      Expect('record');
    10681102      Result := TTypeRecord.Create;
    10691103      TTypeRecord(Result).Parent := TypeList;
    10701104      TType(Result).Name := Name;
    1071       while (FNextToken <> 'end') and (FNextTokenType <> ttEndOfFile) do
     1105      while (NextToken <> 'end') and (FNextTokenType <> ttEndOfFile) do
    10721106      begin
    10731107        TTypeRecord(Result).Items.Add(ParseType(TypeList, True, ':'));
     
    10761110      Expect('end');
    10771111    end else
    1078     if FNextToken = 'array' then begin
     1112    if NextToken = 'class' then begin
     1113      Expect('class');
     1114      Result := TTypeClass.Create;
     1115      TTypeClass(Result).Parent := TypeList;
     1116      TTypeClass(Result).Name := Name;
     1117      if NextToken <> ';' then begin
     1118        while (NextToken <> 'end') and (FNextTokenType <> ttEndOfFile) do
     1119        begin
     1120          TTypeClass(Result).Items.Add(ParseType(TypeList, True, ':'));
     1121          Expect(';');
     1122        end;
     1123        Expect('end');
     1124      end;
     1125    end else
     1126    if NextToken = 'array' then begin
    10791127      Expect('array');
    10801128      Result := TTypeArray.Create;
    10811129      TTypeArray(Result).Parent := TypeList;
    10821130      TType(Result).Name := Name;
    1083       if FNextToken = '[' then begin
     1131      if NextToken = '[' then begin
    10841132        Expect('[');
    10851133        TypeName := FNextToken;
     
    10941142      if not Assigned(TTypeArray(Result).ItemType) then
    10951143        ErrorMessage(SUndefinedType, [TypeName]);
     1144    end else
     1145    if NextToken = '^' then begin
     1146      Expect('^');
     1147      Result := TTypePointer.Create;
     1148      TTypePointer(Result).Parent := TypeList;
     1149      TTypePointer(Result).Name := Name;
     1150      TTypePointer(Result).UsedType := ParseType(TypeList, False);
     1151    end else
     1152    if NextToken = 'type' then begin
     1153      Expect('type');
     1154      Result := TTypeInherited.Create;
     1155      TTypeInherited(Result).Parent := TypeList;
     1156      TTypeInherited(Result).Name := Name;
     1157      if NextToken = '(' then begin
     1158        Expect('(');
     1159        TTypeInherited(Result).UsedType := ParseType(TypeList, False);
     1160        Expect(')');
     1161      end else TTypeInherited(Result).UsedType := nil;
    10961162    end else begin
    10971163      TypeName := ReadCode;
    1098       if TypeName = 'internal' then begin
    1099         Result := TType.Create;
    1100         TType(Result).Parent := TypeList;
    1101         TType(Result).Name := Name;
    1102         TType(Result).UsedType := nil;
    1103       end else
    11041164      if ExpectName then begin
    11051165        Result := TType.Create;
  • branches/Transpascal/Compiler/USourceCode.pas

    r64 r65  
    158158  end;
    159159
    160   { TTypeRecord }
     160  TTypeInherited = class(TType)
     161  end;
    161162
    162163  TTypeRecord = class(TType)
     
    169170    IndexType: TType;
    170171    ItemType: TType;
     172  end;
     173
     174  TTypePointer = class(TType)
     175  end;
     176
     177  TEnumItem = class
     178    Name: string;
     179    Index: Integer;
     180  end;
     181
     182  TTypeEnumeration = class(TType)
     183    Items: TObjectList; // TObjectList<TEnumItem>
     184    constructor Create;
     185    destructor Destroy; override;
     186  end;
     187
     188  { TTypeClass }
     189
     190  TTypeClass = class(TType)
     191    Items: TObjectList; // TObjectList<TType>
     192    constructor Create;
     193    destructor Destroy; override;
    171194  end;
    172195
     
    787810end;
    788811
     812{ TTypeEnumeration }
     813
     814constructor TTypeEnumeration.Create;
     815begin
     816  inherited;
     817  Items := TObjectList.Create;
     818end;
     819
     820destructor TTypeEnumeration.Destroy;
     821begin
     822  Items.Free;
     823  inherited Destroy;
     824end;
     825
     826{ TTypeClass }
     827
     828constructor TTypeClass.Create;
     829begin
     830  Items := TObjectList.Create;
     831end;
     832
     833destructor TTypeClass.Destroy;
     834begin
     835  Items.Free;
     836  inherited Destroy;
     837end;
     838
    789839end.
    790840
  • branches/Transpascal/Project/Network.pas

    r64 r65  
    44
    55type
     6  TSocket = class
     7 
     8  end;
    69
    710  TTCPServer = class
  • branches/Transpascal/Project/System.pas

    r64 r65  
    44
    55type
    6   TType = internal;
    7   Void = internal;
    8   Byte = internal;
    9   ShortInt = internal;
    10   Word = internal;
    11   SmallInt = internal;
    12   Cardinal = internal;
    13   DWord = Cardinal;
    14   Integer = internal;
    15   QWord = internal;
    16   Int64 = internal;
    17   Char = internal;
     6  Void = type;
     7  Ordinal = type(Void);
     8  Float = type(Void);
     9  Boolean = (False, True);
     10 
     11  // Ordinal types
     12  Byte = type(Ordinal);
     13  ShortInt = type(Ordinal);
     14  Word = type(Ordinal);
     15  SmallInt = type(Ordinal);
     16  Cardinal = type(Ordinal);
     17  DWord = Cardinal;
     18  LongWord = Cardinal;
     19  Integer = type(Ordinal);
     20  LongInt = Integer;
     21  QWord = type(Ordinal);
     22  Int64 = type(Ordinal);
     23  Char = type(Ordinal);
     24 
     25  // Float types
     26  Real = type(Float);
     27  Single = type(Float);
     28  Double = type(Float);
     29  Extended = type(Float);
     30 
    1831  String = array of Char;
    1932  Pointer = ^Void;
    20   Ordinal = (Byte, ShortInt, Word, SmallInt, Cardinal, DWord, Integer, QWord, Int64, Char);
    21   Float = (Single, Double, Extended)
    2233  TObject = class;
    2334
     
    4253procedure WriteLn; internal;
    4354
     55procedure Move(const Source: type; var Dest: type; Count: Integer);
     56procedure FillChar(var Dest: type; Count: Integer; Value: Byte);
    4457 
    4558implementation
  • branches/Transpascal/Transpascal.lpi

    r64 r65  
    5151        <IsPartOfProject Value="True"/>
    5252        <UnitName Value="Transpascal"/>
    53         <EditorIndex Value="14"/>
     53        <EditorIndex Value="13"/>
    5454        <WindowIndex Value="0"/>
    5555        <TopLine Value="4"/>
    5656        <CursorPos X="45" Y="17"/>
    57         <UsageCount Value="168"/>
     57        <UsageCount Value="171"/>
    5858        <Loaded Value="True"/>
    5959        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    6666        <ResourceBaseClass Value="Form"/>
    6767        <UnitName Value="UMainForm"/>
    68         <EditorIndex Value="11"/>
     68        <EditorIndex Value="10"/>
    6969        <WindowIndex Value="0"/>
    7070        <TopLine Value="1"/>
    7171        <CursorPos X="22" Y="15"/>
    72         <UsageCount Value="168"/>
     72        <UsageCount Value="171"/>
    7373        <Loaded Value="True"/>
    7474        <LoadedDesigner Value="True"/>
     
    8282        <TopLine Value="1"/>
    8383        <CursorPos X="1" Y="6"/>
    84         <UsageCount Value="168"/>
     84        <UsageCount Value="171"/>
    8585        <DefaultSyntaxHighlighter Value="Delphi"/>
    8686      </Unit2>
     
    138138        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\packages\fcl-base\src\contnrs.pp"/>
    139139        <UnitName Value="contnrs"/>
    140         <EditorIndex Value="4"/>
    141140        <WindowIndex Value="0"/>
    142141        <TopLine Value="78"/>
    143         <CursorPos X="14" Y="91"/>
    144         <UsageCount Value="55"/>
    145         <Loaded Value="True"/>
     142        <CursorPos X="27" Y="86"/>
     143        <UsageCount Value="56"/>
    146144      </Unit9>
    147145      <Unit10>
     
    216214        <IsPartOfProject Value="True"/>
    217215        <UnitName Value="UProject"/>
    218         <EditorIndex Value="7"/>
     216        <EditorIndex Value="6"/>
    219217        <WindowIndex Value="0"/>
    220218        <TopLine Value="126"/>
    221219        <CursorPos X="6" Y="1"/>
    222         <UsageCount Value="40"/>
     220        <UsageCount Value="43"/>
    223221        <Loaded Value="True"/>
    224222        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    238236        <TopLine Value="1"/>
    239237        <CursorPos X="33" Y="1"/>
    240         <UsageCount Value="13"/>
     238        <UsageCount Value="14"/>
    241239        <Loaded Value="True"/>
    242240      </Unit21>
     
    248246        <TopLine Value="81"/>
    249247        <CursorPos X="20" Y="82"/>
    250         <UsageCount Value="11"/>
     248        <UsageCount Value="12"/>
    251249        <Loaded Value="True"/>
    252250      </Unit22>
     
    254252        <Filename Value="Compiler\USourceCode.pas"/>
    255253        <UnitName Value="USourceCode"/>
    256         <IsVisibleTab Value="True"/>
    257         <EditorIndex Value="8"/>
    258         <WindowIndex Value="0"/>
    259         <TopLine Value="137"/>
    260         <CursorPos X="16" Y="169"/>
    261         <UsageCount Value="10"/>
     254        <EditorIndex Value="7"/>
     255        <WindowIndex Value="0"/>
     256        <TopLine Value="173"/>
     257        <CursorPos X="4" Y="192"/>
     258        <UsageCount Value="11"/>
    262259        <Loaded Value="True"/>
    263260      </Unit23>
     
    265262        <Filename Value="Compiler\Analyze\UParser.pas"/>
    266263        <UnitName Value="UParser"/>
    267         <EditorIndex Value="6"/>
    268         <WindowIndex Value="0"/>
    269         <TopLine Value="351"/>
    270         <CursorPos X="29" Y="361"/>
    271         <UsageCount Value="11"/>
     264        <IsVisibleTab Value="True"/>
     265        <EditorIndex Value="5"/>
     266        <WindowIndex Value="0"/>
     267        <TopLine Value="1099"/>
     268        <CursorPos X="46" Y="1119"/>
     269        <UsageCount Value="12"/>
    272270        <Loaded Value="True"/>
    273271      </Unit24>
     
    290288        <TopLine Value="31"/>
    291289        <CursorPos X="15" Y="40"/>
    292         <UsageCount Value="24"/>
     290        <UsageCount Value="27"/>
    293291        <Loaded Value="True"/>
    294292        <LoadedDesigner Value="True"/>
     
    305303        <TopLine Value="7"/>
    306304        <CursorPos X="32" Y="16"/>
    307         <UsageCount Value="24"/>
     305        <UsageCount Value="27"/>
    308306        <Loaded Value="True"/>
    309307        <LoadedDesigner Value="True"/>
     
    316314        <ResourceBaseClass Value="Form"/>
    317315        <UnitName Value="UMessagesForm"/>
    318         <EditorIndex Value="12"/>
     316        <EditorIndex Value="11"/>
    319317        <WindowIndex Value="0"/>
    320318        <TopLine Value="1"/>
    321319        <CursorPos X="36" Y="9"/>
    322         <UsageCount Value="24"/>
     320        <UsageCount Value="27"/>
    323321        <Loaded Value="True"/>
    324322        <LoadedDesigner Value="True"/>
     
    332330        <ResourceBaseClass Value="Form"/>
    333331        <UnitName Value="UCompiledForm"/>
    334         <EditorIndex Value="9"/>
     332        <EditorIndex Value="8"/>
    335333        <WindowIndex Value="0"/>
    336334        <TopLine Value="5"/>
    337335        <CursorPos X="28" Y="21"/>
    338         <UsageCount Value="23"/>
     336        <UsageCount Value="26"/>
    339337        <Loaded Value="True"/>
    340338        <LoadedDesigner Value="True"/>
     
    347345        <ResourceBaseClass Value="Form"/>
    348346        <UnitName Value="UCodeTreeForm"/>
    349         <EditorIndex Value="13"/>
     347        <EditorIndex Value="12"/>
    350348        <WindowIndex Value="0"/>
    351349        <TopLine Value="1"/>
    352350        <CursorPos X="1" Y="1"/>
    353         <UsageCount Value="23"/>
     351        <UsageCount Value="26"/>
    354352        <Loaded Value="True"/>
    355353        <LoadedDesigner Value="True"/>
     
    359357        <Filename Value="Compiler\Produce\UProducerTreeView.pas"/>
    360358        <UnitName Value="UProducerTreeView"/>
    361         <EditorIndex Value="5"/>
    362         <WindowIndex Value="0"/>
    363         <TopLine Value="351"/>
     359        <EditorIndex Value="4"/>
     360        <WindowIndex Value="0"/>
     361        <TopLine Value="350"/>
    364362        <CursorPos X="3" Y="355"/>
    365         <UsageCount Value="11"/>
     363        <UsageCount Value="12"/>
    366364        <Loaded Value="True"/>
    367365      </Unit31>
     
    369367        <Filename Value="E:\Programy\Lazarus\components\synedit\synhighlightermulti.pas"/>
    370368        <UnitName Value="SynHighlighterMulti"/>
    371         <EditorIndex Value="10"/>
     369        <EditorIndex Value="9"/>
    372370        <WindowIndex Value="0"/>
    373371        <TopLine Value="316"/>
    374372        <CursorPos X="14" Y="329"/>
    375         <UsageCount Value="11"/>
     373        <UsageCount Value="12"/>
    376374        <Loaded Value="True"/>
    377375      </Unit32>
    378376    </Units>
    379     <JumpHistory Count="29" HistoryIndex="28">
     377    <JumpHistory Count="30" HistoryIndex="26">
    380378      <Position1>
    381         <Filename Value="Forms\UProjectManager.pas"/>
    382         <Caret Line="55" Column="23" TopLine="38"/>
     379        <Filename Value="Compiler\Analyze\UParser.pas"/>
     380        <Caret Line="1074" Column="1" TopLine="1067"/>
    383381      </Position1>
    384382      <Position2>
    385         <Filename Value="Forms\UProjectManager.pas"/>
    386         <Caret Line="57" Column="9" TopLine="38"/>
     383        <Filename Value="Compiler\Analyze\UParser.pas"/>
     384        <Caret Line="1075" Column="1" TopLine="1067"/>
    387385      </Position2>
    388386      <Position3>
    389         <Filename Value="Forms\UCompiledForm.pas"/>
    390         <Caret Line="1" Column="1" TopLine="1"/>
     387        <Filename Value="Compiler\Analyze\UParser.pas"/>
     388        <Caret Line="1076" Column="1" TopLine="1067"/>
    391389      </Position3>
    392390      <Position4>
    393         <Filename Value="Forms\UProjectManager.pas"/>
    394         <Caret Line="48" Column="29" TopLine="29"/>
     391        <Filename Value="Compiler\Analyze\UParser.pas"/>
     392        <Caret Line="1077" Column="1" TopLine="1067"/>
    395393      </Position4>
    396394      <Position5>
    397         <Filename Value="Forms\UCompiledForm.pas"/>
    398         <Caret Line="18" Column="25" TopLine="5"/>
     395        <Filename Value="Compiler\Analyze\UParser.pas"/>
     396        <Caret Line="1078" Column="1" TopLine="1067"/>
    399397      </Position5>
    400398      <Position6>
    401         <Filename Value="Forms\UProjectManager.pas"/>
    402         <Caret Line="48" Column="45" TopLine="29"/>
     399        <Filename Value="Compiler\Analyze\UParser.pas"/>
     400        <Caret Line="1089" Column="1" TopLine="1067"/>
    403401      </Position6>
    404402      <Position7>
    405         <Filename Value="Forms\UCompiledForm.pas"/>
    406         <Caret Line="18" Column="25" TopLine="5"/>
     403        <Filename Value="Compiler\USourceCode.pas"/>
     404        <Caret Line="723" Column="1" TopLine="710"/>
    407405      </Position7>
    408406      <Position8>
    409         <Filename Value="Forms\UCompiledForm.pas"/>
    410         <Caret Line="17" Column="24" TopLine="5"/>
     407        <Filename Value="Compiler\Analyze\UParser.pas"/>
     408        <Caret Line="1074" Column="1" TopLine="1067"/>
    411409      </Position8>
    412410      <Position9>
    413         <Filename Value="Forms\UCompiledForm.pas"/>
    414         <Caret Line="18" Column="28" TopLine="5"/>
     411        <Filename Value="Compiler\Analyze\UParser.pas"/>
     412        <Caret Line="1075" Column="1" TopLine="1067"/>
    415413      </Position9>
    416414      <Position10>
    417         <Filename Value="Forms\UCompiledForm.pas"/>
    418         <Caret Line="20" Column="28" TopLine="5"/>
     415        <Filename Value="Compiler\Analyze\UParser.pas"/>
     416        <Caret Line="1076" Column="1" TopLine="1067"/>
    419417      </Position10>
    420418      <Position11>
    421         <Filename Value="Forms\UProjectManager.pas"/>
    422         <Caret Line="48" Column="19" TopLine="31"/>
     419        <Filename Value="Compiler\Analyze\UParser.pas"/>
     420        <Caret Line="1077" Column="1" TopLine="1067"/>
    423421      </Position11>
    424422      <Position12>
    425         <Filename Value="Forms\UMainForm.pas"/>
    426         <Caret Line="60" Column="40" TopLine="60"/>
     423        <Filename Value="Compiler\Analyze\UParser.pas"/>
     424        <Caret Line="1079" Column="1" TopLine="1067"/>
    427425      </Position12>
    428426      <Position13>
    429         <Filename Value="Forms\UMainForm.pas"/>
    430         <Caret Line="281" Column="17" TopLine="259"/>
     427        <Filename Value="Compiler\Analyze\UParser.pas"/>
     428        <Caret Line="1080" Column="1" TopLine="1067"/>
    431429      </Position13>
    432430      <Position14>
    433         <Filename Value="Forms\UMainForm.pas"/>
    434         <Caret Line="106" Column="1" TopLine="93"/>
     431        <Filename Value="Compiler\Analyze\UParser.pas"/>
     432        <Caret Line="1081" Column="1" TopLine="1067"/>
    435433      </Position14>
    436434      <Position15>
    437         <Filename Value="Forms\UProjectManager.pas"/>
    438         <Caret Line="38" Column="1" TopLine="25"/>
     435        <Filename Value="Compiler\Analyze\UParser.pas"/>
     436        <Caret Line="1094" Column="1" TopLine="1075"/>
    439437      </Position15>
    440438      <Position16>
    441         <Filename Value="Compiler\UCompiler.pas"/>
    442         <Caret Line="29" Column="56" TopLine="9"/>
     439        <Filename Value="Compiler\Analyze\UParser.pas"/>
     440        <Caret Line="1160" Column="1" TopLine="1147"/>
    443441      </Position16>
    444442      <Position17>
    445         <Filename Value="Compiler\UCompiler.pas"/>
    446         <Caret Line="117" Column="18" TopLine="105"/>
     443        <Filename Value="Compiler\Analyze\UParser.pas"/>
     444        <Caret Line="1085" Column="13" TopLine="1072"/>
    447445      </Position17>
    448446      <Position18>
    449         <Filename Value="Compiler\UCompiler.pas"/>
    450         <Caret Line="127" Column="5" TopLine="105"/>
     447        <Filename Value="Compiler\Analyze\UParser.pas"/>
     448        <Caret Line="1079" Column="1" TopLine="1072"/>
    451449      </Position18>
    452450      <Position19>
    453         <Filename Value="Forms\UMessagesForm.pas"/>
    454         <Caret Line="1" Column="1" TopLine="1"/>
     451        <Filename Value="Compiler\Analyze\UParser.pas"/>
     452        <Caret Line="1080" Column="1" TopLine="1072"/>
    455453      </Position19>
    456454      <Position20>
    457         <Filename Value="Forms\UMessagesForm.pas"/>
    458         <Caret Line="36" Column="1" TopLine="26"/>
     455        <Filename Value="Compiler\Analyze\UParser.pas"/>
     456        <Caret Line="1081" Column="1" TopLine="1063"/>
    459457      </Position20>
    460458      <Position21>
    461         <Filename Value="Forms\UMessagesForm.pas"/>
    462         <Caret Line="9" Column="25" TopLine="1"/>
     459        <Filename Value="Compiler\Analyze\UParser.pas"/>
     460        <Caret Line="1086" Column="25" TopLine="1077"/>
    463461      </Position21>
    464462      <Position22>
    465         <Filename Value="Forms\UMessagesForm.pas"/>
    466         <Caret Line="33" Column="23" TopLine="14"/>
     463        <Filename Value="Compiler\Analyze\UParser.pas"/>
     464        <Caret Line="1079" Column="1" TopLine="1074"/>
    467465      </Position22>
    468466      <Position23>
    469         <Filename Value="Forms\UMainForm.pas"/>
    470         <Caret Line="109" Column="1" TopLine="108"/>
     467        <Filename Value="Compiler\Analyze\UParser.pas"/>
     468        <Caret Line="1080" Column="1" TopLine="1074"/>
    471469      </Position23>
    472470      <Position24>
    473471        <Filename Value="Compiler\Analyze\UParser.pas"/>
    474         <Caret Line="443" Column="28" TopLine="426"/>
     472        <Caret Line="1081" Column="1" TopLine="1074"/>
    475473      </Position24>
    476474      <Position25>
    477475        <Filename Value="Compiler\Analyze\UParser.pas"/>
    478         <Caret Line="398" Column="27" TopLine="388"/>
     476        <Caret Line="1088" Column="1" TopLine="1074"/>
    479477      </Position25>
    480478      <Position26>
    481         <Filename Value="Transpascal.lpr"/>
    482         <Caret Line="27" Column="55" TopLine="2"/>
     479        <Filename Value="Compiler\Analyze\UParser.pas"/>
     480        <Caret Line="1090" Column="1" TopLine="1074"/>
    483481      </Position26>
    484482      <Position27>
    485483        <Filename Value="Compiler\Analyze\UParser.pas"/>
    486         <Caret Line="1138" Column="7" TopLine="1131"/>
     484        <Caret Line="1091" Column="1" TopLine="1074"/>
    487485      </Position27>
    488486      <Position28>
    489487        <Filename Value="Compiler\Analyze\UParser.pas"/>
    490         <Caret Line="1160" Column="66" TopLine="1141"/>
     488        <Caret Line="1102" Column="21" TopLine="1092"/>
    491489      </Position28>
    492490      <Position29>
    493         <Filename Value="Compiler\Analyze\UParser.pas"/>
    494         <Caret Line="1145" Column="18" TopLine="1129"/>
     491        <Filename Value="Compiler\USourceCode.pas"/>
     492        <Caret Line="192" Column="4" TopLine="173"/>
    495493      </Position29>
     494      <Position30>
     495        <Filename Value="Compiler\USourceCode.pas"/>
     496        <Caret Line="193" Column="16" TopLine="180"/>
     497      </Position30>
    496498    </JumpHistory>
    497499  </ProjectOptions>
     
    538540  </CompilerOptions>
    539541  <Debugging>
    540     <BreakPoints Count="1">
    541       <Item1>
    542         <Source Value="USourceCode.pas"/>
    543         <Line Value="723"/>
    544       </Item1>
    545     </BreakPoints>
    546542    <Exceptions Count="3">
    547543      <Item1>
Note: See TracChangeset for help on using the changeset viewer.