- Timestamp:
- Nov 5, 2010, 9:36:20 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Compiler/Analyze/UPascalParser.pas
r4 r5 137 137 function TPascalParser.ParseExpression(SourceCode: TExpression): Boolean; 138 138 var 139 NewVariable: TVariable;140 NewExpression: TExpression;141 NewMethod: TFunction;142 Constant: TConstant;143 UseType: TType;144 // Brackets: Integer;145 139 Expressions: TListExpression; 146 I: integer;147 II: integer;140 I: Integer; 141 II: Integer; 148 142 begin 149 143 try 150 144 Expressions := TListExpression.Create; 145 Expressions.OwnsObjects := False; 151 146 Expressions.Add(TExpression.Create); 152 147 with SourceCode do begin … … 155 150 if not ParseExpressionParenthases(SourceCode, Expressions) then 156 151 if not ParseExpressionOperator(SourceCode, Expressions) then 157 if not ParseExpressionRightValue(SourceCode, Expressions) then begin 152 if not ParseExpressionRightValue(SourceCode, Expressions) then 153 begin 158 154 ErrorMessage(SInvalidAssignmentValue, [NextToken]); 159 155 ReadToken; … … 171 167 Expressions[I - 1].SubItems.Last := Expressions[I]; 172 168 Expressions[I + 1].SubItems.First := Expressions[I]; 173 //Expressions.Delete(I);169 Expressions.Delete(I); 174 170 end else Inc(I); 175 171 end; … … 196 192 // Subexpression 197 193 NewExpression := TExpression.Create; 194 NewExpression.Braces := True; 198 195 NewExpression.CommonBlock := SourceCode.CommonBlock; 199 196 ParseExpression(NewExpression); … … 230 227 NewExpression: TExpression; 231 228 Identifier: string; 232 O: TObject;233 begin 234 O:= nil;235 with SourceCode do 236 if IsIdentificator(NextToken) then begin229 IntConst: Integer; 230 begin 231 NewExpression := nil; 232 with SourceCode do begin 233 // if IsIdentificator(NextToken) then begin 237 234 // Start with type 238 235 UseType := CommonBlock.Types.Search(NextToken); … … 240 237 ReadToken; 241 238 if (UseType is TTypeRecord) or (UseType is TTypeClass) then begin 239 // type.variable or type.function 242 240 Expect('.'); 243 241 Identifier := ReadToken; 244 242 UseVariable := TTypeRecord(UseType).CommonBlock.Variables.Search(Identifier); 245 243 if Assigned(UseVariable) then begin 246 O := UseVariable; 247 end; 248 if not Assigned(O) then begin 244 NewExpression := TExpression.Create; 245 NewExpression.CommonBlock := SourceCode.CommonBlock; 246 NewExpression.NodeType := ntVariable; 247 NewExpression.Variable := UseVariable; 248 end; 249 if not Assigned(NewExpression) then begin 249 250 UseFunction := TTypeRecord(UseType).CommonBlock.Functions.Search(Identifier); 250 251 if Assigned(UseFunction) then begin 251 O := UseFunction; 252 NewExpression := TExpression.Create; 253 NewExpression.CommonBlock := SourceCode.CommonBlock; 254 NewExpression.NodeType := ntFunction; 255 NewExpression.FunctionCall := UseFunction; 252 256 end; 253 257 end; 254 if not Assigned( O) then258 if not Assigned(NewExpression) then 255 259 ErrorMessage(SUndefinedVariable, [Identifier]); 256 260 end else ErrorMessage(SIllegalExpression, [Identifier]); 257 261 end; 258 if not Assigned(O) then begin 259 UseVariable := CommonBlock.Variables.Search(Identifier); 262 if not Assigned(NewExpression) then begin 263 // Referenced variable 264 UseVariable := CommonBlock.Variables.Search(NextToken); 260 265 if Assigned(UseVariable) then begin 261 // Referenced variable262 266 ReadToken; 263 267 NewExpression := TExpression.Create; 264 268 NewExpression.CommonBlock := SourceCode.CommonBlock; 265 269 NewExpression.NodeType := ntVariable; 266 NewExpression.Variable := TVariable(UseVariable); 267 SubItems.Last := NewExpression; 268 end; 269 end; 270 if not Assigned(O) then begin 271 ParseExpressionFunctionCall(SourceCode, Expressions, TFunction(O)); 272 NewExpression := TExpression.Create; 273 NewExpression.CommonBlock := SourceCode.CommonBlock; 274 NewExpression.NodeType := ntFunction; 275 NewExpression.FunctionCall := TFunction(O); 276 SubItems.Last := NewExpression; 277 end; 278 if not Assigned(O) then begin 270 NewExpression.Variable := UseVariable; 271 end; 272 end; 273 if not Assigned(NewExpression) then begin 274 // Function call 275 ParseExpressionFunctionCall(SourceCode, Expressions, UseFunction); 276 if Assigned(UseFunction) then begin 277 NewExpression := TExpression.Create; 278 NewExpression.CommonBlock := SourceCode.CommonBlock; 279 NewExpression.NodeType := ntFunction; 280 NewExpression.FunctionCall := UseFunction; 281 end; 282 end; 283 if not Assigned(NewExpression) then begin 284 // Referenced constant 279 285 UseConstant := CommonBlock.Constants.Search(NextToken); 280 286 if Assigned(UseConstant) then begin 281 287 ReadToken; 282 O := UseConstant;283 288 NewExpression := TExpression.Create; 284 289 NewExpression.CommonBlock := SourceCode.CommonBlock; 285 290 NewExpression.NodeType := ntConstant; 286 NewExpression.Constant := TConstant(O); 287 SubItems.Last := NewExpression; 288 end; 289 end; 290 if not Assigned(O) then begin 291 NewExpression.Constant := UseConstant; 292 end; 293 end; 294 if not Assigned(NewExpression) then begin 291 295 // Constant value 292 O := TConstant.Create;293 TConstant(O).Value := ReadToken;294 296 NewExpression := TExpression.Create; 295 297 NewExpression.CommonBlock := SourceCode.CommonBlock; 296 NewExpression.NodeType := ntConstant; 297 NewExpression.Constant := TConstant(O); 298 SubItems.Last := NewExpression; 299 end; 300 if not Assigned(O) then begin 298 NewExpression.NodeType := ntValue; 299 NewExpression.Constant := TConstant.Create; 300 NewExpression.Value := ReadToken; 301 if TryStrToInt(NewExpression.Value, IntConst) then 302 NewExpression.Value := IntConst; 303 end; 304 if Assigned(NewExpression) then begin 305 Expressions.Last.SubItems.Last := NewExpression; 306 with Expressions.Items[Expressions.Add(TExpression.Create)] do 307 begin 308 CommonBlock := SourceCode.CommonBlock; 309 SubItems.First := NewExpression; 310 end; 311 Result := True; 312 end else begin 313 Result := False; 301 314 ErrorMessage(SUnknownIdentifier, [ReadToken]); 302 315 end; 303 304 with Expressions.Items[Expressions.Add(TExpression.Create)] do 305 begin 306 CommonBlock := SourceCode.CommonBlock; 307 SubItems.First := NewExpression; 308 end; 309 Result := True; 310 end else Result := False; 316 // end else Result := False; 317 end; 311 318 end; 312 319 -
trunk/Compiler/Produce/UProducerDynamicC.pas
r2 r5 274 274 function TProducerDynamicC.GenerateExpression(Expression: TExpression): string; 275 275 begin 276 case Expression.NodeType of 277 ntConstant: begin 278 if VarType(Expression.Value) = varString then 279 Result := '"' + Expression.Value + '"' 280 else Result := Expression.Value; 281 end; 282 ntVariable: Result := Expression.Variable.Name; 283 ntFunction: Result := Expression.FunctionCall.Name; 284 ntOperator: begin 285 Result := GenerateExpression(TExpression(Expression.SubItems.First)) 286 + ' ' + TranslateOperator(Expression.OperatorName) + ' ' + 287 GenerateExpression(TExpression(Expression.SubItems.Last)); 288 end; 289 ntNone: ; 276 if Assigned(Expression) then begin 277 case Expression.NodeType of 278 ntConstant: begin 279 Result := Expression.Constant.Name; 280 end; 281 ntValue: begin 282 if VarType(Expression.Value) = varString then 283 Result := '"' + Expression.Value + '"' 284 else Result := Expression.Value; 285 end; 286 ntVariable: Result := Expression.Variable.Name; 287 ntFunction: Result := Expression.FunctionCall.Name; 288 ntOperator: begin 289 Result := GenerateExpression(TExpression(Expression.SubItems.First)) 290 + ' ' + TranslateOperator(Expression.OperatorName) + ' ' + 291 GenerateExpression(TExpression(Expression.SubItems.Last)); 292 end; 293 ntNone: ; 294 end; 295 if Expression.Braces then Result := '(' + Result + ')'; 290 296 end; 291 297 end; -
trunk/Compiler/Produce/UProducerPascal.pas
r2 r5 309 309 function TProducerPascal.GenerateExpression(Expression: TExpression): string; 310 310 begin 311 case Expression.NodeType of 312 ntConstant: Result := Expression.Value; 313 ntVariable: Result := Expression.Variable.Name; 314 ntFunction: Result := Expression.FunctionCall.Name; 315 ntOperator: begin 316 Result := GenerateExpression(TExpression(Expression.SubItems.First)) 317 + ' ' + Expression.OperatorName + ' ' + 318 GenerateExpression(TExpression(Expression.SubItems.Last)); 319 end; 320 ntNone: ; 311 if Assigned(Expression) then begin 312 case Expression.NodeType of 313 ntConstant: begin 314 Result := Expression.Constant.Name; 315 end; 316 ntValue: begin 317 if VarType(Expression.Value) = varString then 318 Result := '''' + Expression.Value + '''' 319 else Result := Expression.Value; 320 end; 321 ntVariable: Result := Expression.Variable.Name; 322 ntFunction: Result := Expression.FunctionCall.Name; 323 ntOperator: begin 324 Result := GenerateExpression(TExpression(Expression.SubItems.First)) 325 + ' ' + Expression.OperatorName + ' ' + 326 GenerateExpression(TExpression(Expression.SubItems.Last)); 327 end; 328 ntNone: ; 329 end; 330 if Expression.Braces then Result := '(' + Result + ')'; 321 331 end; 322 332 end; -
trunk/Compiler/USourceCode.pas
r4 r5 14 14 TModuleType = (mdProgram, mdUnit, mdLibrary, mdPackage); 15 15 16 TNodeType = (ntNone, ntVariable, ntFunction, ntConstant, ntOperator); 16 TNodeType = (ntNone, ntVariable, ntFunction, ntConstant, ntOperator, 17 ntValue); 17 18 18 19 TTypeVisibility = (tvPublic, tvPublished, tvPrivate, tvProtected); … … 333 334 SubItems: TListExpression; 334 335 Associated: Boolean; 336 Braces: Boolean; 335 337 constructor Create; 336 338 destructor Destroy; override; -
trunk/Transpascal.lpi
r4 r5 53 53 </Item5> 54 54 </RequiredPackages> 55 <Units Count="7 7">55 <Units Count="78"> 56 56 <Unit0> 57 57 <Filename Value="Transpascal.lpr"/> … … 183 183 <EditorIndex Value="8"/> 184 184 <WindowIndex Value="0"/> 185 <TopLine Value=" 4"/>186 <CursorPos X="25" Y="1 6"/>185 <TopLine Value="9"/> 186 <CursorPos X="25" Y="17"/> 187 187 <UsageCount Value="223"/> 188 188 <Loaded Value="True"/> … … 202 202 <EditorIndex Value="3"/> 203 203 <WindowIndex Value="0"/> 204 <TopLine Value=" 70"/>205 <CursorPos X=" 20" Y="82"/>204 <TopLine Value="120"/> 205 <CursorPos X="1" Y="133"/> 206 206 <UsageCount Value="102"/> 207 207 <Loaded Value="True"/> … … 212 212 <EditorIndex Value="0"/> 213 213 <WindowIndex Value="0"/> 214 <TopLine Value=" 322"/>215 <CursorPos X=" 17" Y="335"/>214 <TopLine Value="814"/> 215 <CursorPos X="26" Y="825"/> 216 216 <UsageCount Value="103"/> 217 217 <Loaded Value="True"/> … … 222 222 <EditorIndex Value="2"/> 223 223 <WindowIndex Value="0"/> 224 <TopLine Value=" 362"/>225 <CursorPos X="1 " Y="381"/>224 <TopLine Value="45"/> 225 <CursorPos X="14" Y="58"/> 226 226 <UsageCount Value="102"/> 227 227 <Loaded Value="True"/> … … 344 344 <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/> 345 345 <UnitName Value="UProducerDynamicC"/> 346 <WindowIndex Value="0"/> 347 <TopLine Value="263"/> 348 <CursorPos X="36" Y="273"/> 346 <EditorIndex Value="7"/> 347 <WindowIndex Value="0"/> 348 <TopLine Value="274"/> 349 <CursorPos X="13" Y="285"/> 349 350 <UsageCount Value="113"/> 351 <Loaded Value="True"/> 350 352 </Unit30> 351 353 <Unit31> … … 360 362 <Filename Value="Compiler\Produce\UProducerPascal.pas"/> 361 363 <UnitName Value="UProducerPascal"/> 362 <WindowIndex Value="0"/> 363 <TopLine Value="301"/> 364 <CursorPos X="50" Y="314"/> 364 <IsVisibleTab Value="True"/> 365 <EditorIndex Value="5"/> 366 <WindowIndex Value="0"/> 367 <TopLine Value="309"/> 368 <CursorPos X="50" Y="318"/> 365 369 <UsageCount Value="42"/> 370 <Loaded Value="True"/> 366 371 </Unit32> 367 372 <Unit33> 368 373 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 369 374 <UnitName Value="UPascalParser"/> 370 <IsVisibleTab Value="True"/>371 375 <EditorIndex Value="4"/> 372 376 <WindowIndex Value="0"/> 373 <TopLine Value="28 6"/>374 <CursorPos X=" 20" Y="307"/>377 <TopLine Value="281"/> 378 <CursorPos X="3" Y="287"/> 375 379 <UsageCount Value="110"/> 376 380 <Loaded Value="True"/> … … 415 419 <TopLine Value="1"/> 416 420 <CursorPos X="28" Y="22"/> 417 <UsageCount Value="1 88"/>421 <UsageCount Value="193"/> 418 422 <DefaultSyntaxHighlighter Value="Delphi"/> 419 423 </Unit38> … … 438 442 <TopLine Value="1"/> 439 443 <CursorPos X="1" Y="1"/> 440 <UsageCount Value="6 6"/>444 <UsageCount Value="68"/> 441 445 <Loaded Value="True"/> 442 446 <DefaultSyntaxHighlighter Value="LFM"/> … … 709 713 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedList.pas"/> 710 714 <UnitName Value="SpecializedList"/> 711 <EditorIndex Value="6"/>712 715 <WindowIndex Value="0"/> 713 716 <TopLine Value="5"/> 714 717 <CursorPos X="54" Y="17"/> 715 718 <UsageCount Value="10"/> 716 <Loaded Value="True"/>717 719 </Unit74> 718 720 <Unit75> 719 721 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/> 720 <EditorIndex Value="7"/> 721 <WindowIndex Value="0"/> 722 <TopLine Value="232"/> 723 <CursorPos X="10" Y="246"/> 724 <UsageCount Value="10"/> 725 <Loaded Value="True"/> 722 <WindowIndex Value="0"/> 723 <TopLine Value="216"/> 724 <CursorPos X="1" Y="229"/> 725 <UsageCount Value="11"/> 726 726 </Unit75> 727 727 <Unit76> 728 728 <Filename Value="E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericObjectList.inc"/> 729 <EditorIndex Value="5"/>730 729 <WindowIndex Value="0"/> 731 730 <TopLine Value="1"/> 732 731 <CursorPos X="24" Y="4"/> 733 732 <UsageCount Value="10"/> 733 </Unit76> 734 <Unit77> 735 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\sysutils\sysstrh.inc"/> 736 <EditorIndex Value="6"/> 737 <WindowIndex Value="0"/> 738 <TopLine Value="107"/> 739 <CursorPos X="10" Y="120"/> 740 <UsageCount Value="10"/> 734 741 <Loaded Value="True"/> 735 </Unit7 6>742 </Unit77> 736 743 </Units> 737 <JumpHistory Count=" 25" HistoryIndex="24">744 <JumpHistory Count="30" HistoryIndex="28"> 738 745 <Position1> 739 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>740 <Caret Line=" 261" Column="20" TopLine="247"/>746 <Filename Value="Compiler\Analyze\UParser.pas"/> 747 <Caret Line="381" Column="1" TopLine="370"/> 741 748 </Position1> 742 749 <Position2> 743 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>744 <Caret Line=" 269" Column="18" TopLine="247"/>750 <Filename Value="Compiler\Analyze\UParser.pas"/> 751 <Caret Line="84" Column="1" TopLine="71"/> 745 752 </Position2> 746 753 <Position3> 747 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>748 <Caret Line=" 278" Column="35" TopLine="265"/>754 <Filename Value="Compiler\Analyze\UParser.pas"/> 755 <Caret Line="85" Column="1" TopLine="71"/> 749 756 </Position3> 750 757 <Position4> 751 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>752 <Caret Line=" 279" Column="20" TopLine="265"/>758 <Filename Value="Compiler\Analyze\UParser.pas"/> 759 <Caret Line="86" Column="1" TopLine="71"/> 753 760 </Position4> 754 761 <Position5> 755 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>756 <Caret Line=" 281" Column="20" TopLine="265"/>762 <Filename Value="Compiler\Analyze\UParser.pas"/> 763 <Caret Line="88" Column="1" TopLine="71"/> 757 764 </Position5> 758 765 <Position6> 759 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>760 <Caret Line=" 287" Column="24" TopLine="271"/>766 <Filename Value="Compiler\Analyze\UParser.pas"/> 767 <Caret Line="89" Column="1" TopLine="71"/> 761 768 </Position6> 762 769 <Position7> 763 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>764 <Caret Line=" 288" Column="33" TopLine="271"/>770 <Filename Value="Compiler\Analyze\UParser.pas"/> 771 <Caret Line="91" Column="1" TopLine="71"/> 765 772 </Position7> 766 773 <Position8> 767 774 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 768 <Caret Line=" 297" Column="55" TopLine="284"/>775 <Caret Line="363" Column="1" TopLine="347"/> 769 776 </Position8> 770 777 <Position9> 771 778 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 772 <Caret Line="3 06" Column="75" TopLine="284"/>779 <Caret Line="360" Column="1" TopLine="347"/> 773 780 </Position9> 774 781 <Position10> 775 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>776 <Caret Line="3 07" Column="31" TopLine="284"/>782 <Filename Value="Compiler\Analyze\UParser.pas"/> 783 <Caret Line="375" Column="1" TopLine="362"/> 777 784 </Position10> 778 785 <Position11> 779 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>780 <Caret Line=" 735" Column="39" TopLine="722"/>786 <Filename Value="Compiler\Analyze\UParser.pas"/> 787 <Caret Line="376" Column="1" TopLine="362"/> 781 788 </Position11> 782 789 <Position12> 783 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>784 <Caret Line=" 758" Column="46" TopLine="745"/>790 <Filename Value="Compiler\Analyze\UParser.pas"/> 791 <Caret Line="377" Column="1" TopLine="362"/> 785 792 </Position12> 786 793 <Position13> 787 <Filename Value="Compiler\ USourceCode.pas"/>788 <Caret Line="3 53" Column="4" TopLine="340"/>794 <Filename Value="Compiler\Analyze\UParser.pas"/> 795 <Caret Line="378" Column="1" TopLine="362"/> 789 796 </Position13> 790 797 <Position14> 791 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>792 <Caret Line=" 155" Column="28" TopLine="143"/>798 <Filename Value="Compiler\Analyze\UParser.pas"/> 799 <Caret Line="380" Column="1" TopLine="362"/> 793 800 </Position14> 794 801 <Position15> 795 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>796 <Caret Line=" 200" Column="31" TopLine="187"/>802 <Filename Value="Compiler\Analyze\UParser.pas"/> 803 <Caret Line="381" Column="1" TopLine="362"/> 797 804 </Position15> 798 805 <Position16> 799 <Filename Value="Compiler\Analyze\UPa scalParser.pas"/>800 <Caret Line=" 197" Column="27" TopLine="187"/>806 <Filename Value="Compiler\Analyze\UParser.pas"/> 807 <Caret Line="84" Column="1" TopLine="71"/> 801 808 </Position16> 802 809 <Position17> 803 <Filename Value="Compiler\ USourceCode.pas"/>804 <Caret Line=" 333" Column="27" TopLine="318"/>810 <Filename Value="Compiler\Analyze\UParser.pas"/> 811 <Caret Line="85" Column="1" TopLine="71"/> 805 812 </Position17> 806 813 <Position18> 807 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>808 <Caret Line=" 44" Column="26" TopLine="35"/>814 <Filename Value="Compiler\Analyze\UParser.pas"/> 815 <Caret Line="86" Column="1" TopLine="71"/> 809 816 </Position18> 810 817 <Position19> 811 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>812 <Caret Line=" 16" Column="31" TopLine="10"/>818 <Filename Value="Compiler\Analyze\UParser.pas"/> 819 <Caret Line="88" Column="1" TopLine="71"/> 813 820 </Position19> 814 821 <Position20> 815 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>816 <Caret Line=" 240" Column="3" TopLine="238"/>822 <Filename Value="Compiler\UCompiler.pas"/> 823 <Caret Line="133" Column="1" TopLine="120"/> 817 824 </Position20> 818 825 <Position21> 819 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>820 <Caret Line=" 17" Column="22" TopLine="4"/>826 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 827 <Caret Line="45" Column="14" TopLine="32"/> 821 828 </Position21> 822 829 <Position22> 823 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>824 <Caret Line=" 37" Column="60" TopLine="24"/>830 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 831 <Caret Line="220" Column="53" TopLine="211"/> 825 832 </Position22> 826 833 <Position23> 827 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>828 <Caret Line=" 172" Column="1" TopLine="159"/>834 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 835 <Caret Line="272" Column="12" TopLine="263"/> 829 836 </Position23> 830 837 <Position24> 831 <Filename Value=" E:\Projekty\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>832 <Caret Line="2 0" Column="23" TopLine="1"/>838 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 839 <Caret Line="266" Column="1" TopLine="235"/> 833 840 </Position24> 834 841 <Position25> 835 842 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 836 <Caret Line=" 202" Column="46" TopLine="187"/>843 <Caret Line="146" Column="27" TopLine="133"/> 837 844 </Position25> 845 <Position26> 846 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 847 <Caret Line="125" Column="14" TopLine="112"/> 848 </Position26> 849 <Position27> 850 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 851 <Caret Line="137" Column="58" TopLine="112"/> 852 </Position27> 853 <Position28> 854 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 855 <Caret Line="232" Column="17" TopLine="226"/> 856 </Position28> 857 <Position29> 858 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 859 <Caret Line="300" Column="15" TopLine="278"/> 860 </Position29> 861 <Position30> 862 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\sysutils\sysstrh.inc"/> 863 <Caret Line="120" Column="10" TopLine="107"/> 864 </Position30> 838 865 </JumpHistory> 839 866 </ProjectOptions>
Note:
See TracChangeset
for help on using the changeset viewer.