Changeset 17
- Timestamp:
- Nov 8, 2010, 2:14:13 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Compiler/Analyze/UAnalyzerPascal.pas
r12 r17 27 27 Expressions: TListExpression; var Func: TFunctionCall): Boolean; 28 28 function ParseUses(SourceCode: TUsedModuleList; AExported: Boolean): Boolean; 29 function ParseUsesItem(SourceCode: TUsedModuleList; AExported: Boolean): Boolean; 29 30 function ParseModule(ProgramCode: TProgram): TModule; override; 30 31 function ParseUnit(var SourceCode: TModuleUnit; ProgramCode: TProgram): Boolean; … … 1256 1257 if NextToken = 'uses' then begin 1257 1258 Expect('uses'); 1259 ParseUsesItem(SourceCode, AExported); 1260 while NextToken = ',' do begin 1261 Expect(','); 1262 ParseUsesItem(SourceCode, AExported); 1263 end; 1264 Expect(';'); 1265 Result := True; 1266 end else Result := False; 1267 end; 1268 1269 function TAnalyzerPascal.ParseUsesItem(SourceCode: TUsedModuleList; 1270 AExported: Boolean): Boolean; 1271 begin 1258 1272 with TUsedModule(SourceCode.Items[SourceCode.Add(TUsedModule.Create)]) do begin 1259 1273 Name := ReadToken; … … 1273 1287 end; 1274 1288 end; 1275 while NextToken = ',' do begin1276 Expect(',');1277 with TUsedModule(SourceCode.Items[SourceCode.Add(TUsedModule.Create)]) do1278 begin1279 Name := ReadToken;1280 if NextToken = 'in' then begin1281 Expect('in');1282 Location := ReadToken;1283 end else Location := Name + '.pas';1284 Module := SourceCode.ParentModule.ParentProgram.Modules.Search(Name);1285 if not Assigned(Module) then begin1286 if not ParseFile(Name) then begin1287 ErrorMessage(SUnitNotFound, [Name], -2);1288 SourceCode.Delete(SourceCode.Count - 1);1289 end;1290 end;1291 end;1292 end;1293 Expect(';');1294 Result := True;1295 end else Result := False;1296 1289 end; 1297 1290 -
trunk/Compiler/Produce/UProducer.pas
r12 r17 7 7 8 8 uses 9 USourceCode, Classes, SysUtils ;9 USourceCode, Classes, SysUtils, StrUtils; 10 10 11 11 type 12 13 { TProducer } 14 12 15 TProducer = class 13 16 Name: string; 17 TextSource: TStringList; 18 IndentationLength: Integer; 19 Indetation: Integer; 20 procedure Emit(AText: string); 21 procedure EmitLn(AText: string = ''); 14 22 procedure AssignToStringList(Target: TStringList); virtual; abstract; 15 23 procedure Produce(Module: TModule); virtual; abstract; 24 constructor Create; 25 destructor Destroy; override; 16 26 end; 17 27 … … 41 51 {$I 'GenericObjectList.inc'} 42 52 53 { TProducer } 54 55 procedure TProducer.EmitLn(AText: string = ''); 56 begin 57 Emit(AText); 58 TextSource.Add(''); 59 end; 60 61 constructor TProducer.Create; 62 begin 63 TextSource := TStringList.Create; 64 IndentationLength := 2; 65 end; 66 67 destructor TProducer.Destroy; 68 begin 69 TextSource.Free; 70 inherited Destroy; 71 end; 72 73 procedure TProducer.Emit(AText: string); 74 begin 75 with TextSource do begin 76 if Count = 0 then Add(''); 77 if Strings[Count - 1] = '' then 78 Strings[Count - 1] := Strings[Count - 1] + DupeString(' ', IndentationLength * Indetation); 79 Strings[Count - 1] := Strings[Count - 1] + AText; 80 end; 81 end; 82 43 83 end. -
trunk/Compiler/Produce/UProducerDynamicC.pas
r12 r17 17 17 function TranslateType(Name: string): string; 18 18 function TranslateOperator(Name: string): string; 19 procedure Emit(AText: string);20 procedure EmitLn(AText: string = '');21 19 procedure GenerateUses(UsedModules: TUsedModuleList); 22 20 procedure GenerateModule(Module: TModule); … … 39 37 function GenerateExpression(Expression: TExpression): string; 40 38 public 41 TextSource: TStringList;42 IndentationLength: Integer;43 Indetation: Integer;44 39 procedure AssignToStringList(Target: TStringList); override; 45 40 procedure Produce(Module: TModule); override; … … 54 49 constructor TProducerDynamicC.Create; 55 50 begin 56 TextSource := TStringList.Create;57 IndentationLength := 2;58 51 Name := 'Dynamic C'; 59 52 end; … … 90 83 else if Name = 'xor' then Result := '^' 91 84 else Result := Name; 92 end;93 94 procedure TProducerDynamicC.EmitLn(AText: string = '');95 begin96 Emit(AText);97 TextSource.Add('');98 end;99 100 procedure TProducerDynamicC.Emit(AText: string);101 begin102 with TextSource do begin103 if Count = 0 then Add('');104 if Strings[Count - 1] = '' then105 Strings[Count - 1] := Strings[Count - 1] + DupeString(' ', IndentationLength * Indetation);106 Strings[Count - 1] := Strings[Count - 1] + AText;107 end;108 85 end; 109 86 -
trunk/Compiler/Produce/UProducerPascal.pas
r12 r17 15 15 TProducerPascal = class(TProducer) 16 16 private 17 procedure Emit(AText: string; NewLine: Boolean = True);18 17 procedure GenerateUses(UsedModules: TUsedModuleList); 19 18 procedure GenerateModule(Module: TModule); 19 procedure GenerateUnit(Module: TModule); 20 procedure GenerateLibrary(Module: TModule); 21 procedure GeneratePackage(Module: TModule); 20 22 procedure GenerateType(AType: TType; AssignSymbol: Char = ':'); 21 23 procedure GenerateTypes(Types: TTypeList); 22 24 procedure GenerateCommonBlock(CommonBlock: TCommonBlock; 23 25 LabelPrefix: string); 24 procedure GenerateProgram(ProgramBlock: TProgram);25 26 procedure GenerateFunctions(Functions: TFunctionList); 26 27 procedure GenerateConstants(Constants: TConstantList); … … 35 36 function GenerateExpression(Expression: TExpression): string; 36 37 public 37 TextSource: TStringList;38 IndentationLength: Integer;39 Indetation: Integer;40 38 procedure AssignToStringList(Target: TStringList); override; 41 39 procedure Produce(Module: TModule); override; … … 50 48 constructor TProducerPascal.Create; 51 49 begin 52 IndentationLength := 2; 53 TextSource := TStringList.Create; 50 inherited; 54 51 Name := 'Delphi'; 55 52 end; … … 57 54 destructor TProducerPascal.Destroy; 58 55 begin 59 TextSource.Free;60 56 inherited; 61 57 end; 62 58 63 procedure TProducerPascal.Emit(AText: string; NewLine: Boolean = True);64 begin65 with TextSource do begin66 if Count = 0 then Add('');67 if Strings[Count - 1] = '' then68 Strings[Count - 1] := Strings[Count - 1] + DupeString(' ', IndentationLength * Indetation);69 Strings[Count - 1] := Strings[Count - 1] + AText;70 if NewLine then Add('');71 end;72 end;73 74 59 procedure TProducerPascal.GenerateUses(UsedModules: TUsedModuleList); 75 60 var 76 61 I: Integer; 77 Line: string; 78 begin 79 Line := 'uses '; 62 ModuleName: string; 63 begin 64 EmitLn('uses'); 65 Inc(Indetation); 80 66 for I := 0 to UsedModules.Count - 1 do begin 81 Line := Line + TUsedModule(UsedModules[I]).Name; 82 if I < UsedModules.Count - 1 then Line := Line + ', '; 83 end; 84 Emit(Line + ';'); 85 Emit(''); 67 if Assigned(TUsedModule(UsedModules[I]).Module) then 68 ModuleName := TUsedModule(UsedModules[I]).Module.Name 69 else ModuleName := '(' + TUsedModule(UsedModules[I]).Name + ')'; 70 if UsedModules.ParentModule is TModuleProgram then begin 71 Emit(ModuleName + ' in ''' + ModuleName + '.pas'''); 72 if I < UsedModules.Count - 1 then EmitLn(', '); 73 end else begin 74 Emit(ModuleName); 75 if I < UsedModules.Count - 1 then Emit(', '); 76 end; 77 end; 78 EmitLn(';'); 79 Dec(Indetation); 86 80 end; 87 81 … … 91 85 if Module is TModuleProgram then 92 86 with TModuleProgram(Module) do begin 93 Emit('program', False); 94 Emit(' ' + Name + ';'); 95 Emit(''); 87 Module.TargetFile := Module.Name + '.dpr'; 88 EmitLn('program ' + Name + ';'); 96 89 GenerateUses(UsedModules); 97 90 GenerateCommonBlock(Body, ''); 98 Emit ('.', False);91 EmitLn('.'); 99 92 end else 100 if Module is TModuleUnit then Emit('unit', False) 101 else if Module is TModuleLibrary then Emit('library', False) 102 else if Module is TModulePackage then Emit('package', False); 93 if Module is TModuleUnit then GenerateUnit(Module) 94 else if Module is TModuleLibrary then GenerateLibrary(Module) 95 else if Module is TModulePackage then GeneratePackage(Module); 96 end; 97 98 procedure TProducerPascal.GenerateUnit(Module: TModule); 99 begin 100 EmitLn('unit ' + TModuleUnit(Module).Name + ';'); 101 EmitLn; 102 EmitLn('interface'); 103 EmitLn; 104 GenerateCommonBlock(TModuleUnit(Module).Body, '.'); 105 EmitLn('implementation'); 106 EmitLn; 107 EmitLn('end.'); 108 end; 109 110 procedure TProducerPascal.GenerateLibrary(Module: TModule); 111 begin 112 113 end; 114 115 procedure TProducerPascal.GeneratePackage(Module: TModule); 116 begin 117 103 118 end; 104 119 … … 108 123 begin 109 124 if AType is TTypeRecord then begin 110 Emit (AType.Name + ' ' + AssignSymbol + ' record');125 EmitLn(AType.Name + ' ' + AssignSymbol + ' record'); 111 126 Inc(Indetation); 112 127 for I := 0 to TTypeRecord(AType).CommonBlock.Types.Count - 1 do begin 113 128 GenerateType(TType(TTypeRecord(AType).CommonBlock.Types[I])); 114 Emit (';');129 EmitLn(';'); 115 130 end; 116 131 Dec(Indetation); 117 Emit('end' , False);132 Emit('end'); 118 133 end else 119 134 if AType is TTypeArray then begin 120 Emit(AType.Name + ' ' + AssignSymbol + ' array ' , False);135 Emit(AType.Name + ' ' + AssignSymbol + ' array '); 121 136 if Assigned(TTypeArray(AType).IndexType) then begin 122 Emit('[' , False);137 Emit('['); 123 138 GenerateType(TTypeArray(AType).IndexType); 124 Emit(']' , False);125 end; 126 Emit(' of ' , False);139 Emit(']'); 140 end; 141 Emit(' of '); 127 142 if Assigned(TTypeArray(AType).ItemType) then 128 143 GenerateType(TTypeArray(AType).ItemType); 129 144 end else begin 130 Emit(AType.Name , False);145 Emit(AType.Name); 131 146 if Assigned(AType.UsedType) then begin 132 Emit(' ' + AssignSymbol + ' ' , False);147 Emit(' ' + AssignSymbol + ' '); 133 148 GenerateType(AType.UsedType); 134 149 end; … … 141 156 begin 142 157 if Types.Count > 0 then begin 143 Emit ('type');158 EmitLn('type'); 144 159 Inc(Indetation); 145 160 for I := 0 to Types.Count - 1 do … … 147 162 if (not Internal) then begin 148 163 GenerateType(TType(Types[I]), '='); 149 Emit (';');164 EmitLn(';'); 150 165 end; 151 166 Dec(Indetation); 152 Emit ('');167 EmitLn; 153 168 end; 154 169 end; 155 170 156 171 procedure TProducerPascal.Produce(Module: TModule); 172 var 173 I: Integer; 157 174 begin 158 175 inherited; 159 176 TextSource.Clear; 177 178 // Check unit names 179 with Module.ParentProgram do 180 for I := 0 to Modules.Count - 1 do 181 if TModule(Modules[I]).Name = 'System' then 182 TModule(Modules[I]).Name := 'System2'; 183 160 184 GenerateModule(Module); 161 end;162 163 procedure TProducerPascal.GenerateProgram(ProgramBlock: TProgram);164 var165 I: Integer;166 begin167 Indetation := 0;;168 with ProgramBlock do169 for I := 0 to Modules.Count - 1 do170 GenerateModule(TModule(Modules[I]));171 185 end; 172 186 … … 195 209 if (FunctionType = ftFunction) and Assigned(ResultType) then 196 210 Line := Line + ': ' + ResultType.Name; 197 Emit (Line + ';');211 EmitLn(Line + ';'); 198 212 GenerateBeginEnd(Code); 199 Emit (';');200 Emit ('');213 EmitLn(';'); 214 EmitLn; 201 215 end; 202 216 end; … … 207 221 begin 208 222 if Constants.Count > 0 then begin 209 Emit ('const');223 EmitLn('const'); 210 224 Inc(Indetation); 211 225 for I := 0 to Constants.Count - 1 do 212 226 with TConstant(Constants[I]) do 213 227 if not System then begin 214 Emit(Name + ': ' + ValueType.Name + ' = ' + Value + ';'); 228 //Emit(Name + ': '); 229 //if Assigned(ValueType) then Emit(ValueType.Name); 230 //Emit(' = ' + Value + ';'); 215 231 end; 216 232 Dec(Indetation); … … 223 239 I: Integer; 224 240 begin 225 Emit ('begin');241 EmitLn('begin'); 226 242 Inc(Indetation); 227 243 // Commands 228 244 for I := 0 to BeginEnd.Commands.Count - 1 do begin 229 245 GenerateCommand(TCommand(BeginEnd.Commands[I])); 230 Emit (';');246 EmitLn(';'); 231 247 end; 232 248 233 249 Dec(Indetation); 234 Emit('end' , False);250 Emit('end'); 235 251 end; 236 252 … … 239 255 I: Integer; 240 256 begin 241 Emit ('var');257 EmitLn('var'); 242 258 Inc(Indetation); 243 259 for I := 0 to Variables.Count - 1 do 244 260 with TVariable(Variables[I]) do 245 Emit (Name + ': ' + ValueType.Name + ';');261 EmitLn(Name + ': ' + ValueType.Name + ';'); 246 262 Dec(Indetation); 247 Emit ('');263 EmitLn; 248 264 end; 249 265 … … 286 302 procedure TProducerPascal.GenerateAssignment(Assignment: TAssignment); 287 303 begin 288 Emit(Assignment.Target.Name + ' := ' + GenerateExpression(Assignment.Source) , False);304 Emit(Assignment.Target.Name + ' := ' + GenerateExpression(Assignment.Source)); 289 305 end; 290 306 … … 305 321 end; 306 322 end; 307 Emit(Line , False);323 Emit(Line); 308 324 end; 309 325 -
trunk/Compiler/TranspascalCompiler.lpk
r14 r17 12 12 </SearchPaths> 13 13 <Other> 14 <CustomOptions Value="-dSINGLE_PRODUCER "/>14 <CustomOptions Value="-dSINGLE_PRODUCER_"/> 15 15 <CompilerPath Value="$(CompPath)"/> 16 16 </Other> -
trunk/IDE/Transpascal.lpi
r16 r17 58 58 <IsPartOfProject Value="True"/> 59 59 <UnitName Value="Transpascal"/> 60 <WindowIndex Value="0"/> 61 <TopLine Value="1"/> 62 <CursorPos X="31" Y="4"/> 60 <EditorIndex Value="12"/> 61 <WindowIndex Value="0"/> 62 <TopLine Value="1"/> 63 <CursorPos X="17" Y="3"/> 63 64 <UsageCount Value="215"/> 65 <Loaded Value="True"/> 64 66 <DefaultSyntaxHighlighter Value="Delphi"/> 65 67 </Unit0> … … 73 75 <EditorIndex Value="0"/> 74 76 <WindowIndex Value="0"/> 75 <TopLine Value=" 162"/>76 <CursorPos X=" 52" Y="175"/>77 <TopLine Value="93"/> 78 <CursorPos X="21" Y="107"/> 77 79 <UsageCount Value="215"/> 78 80 <Loaded Value="True"/> … … 265 267 <ResourceBaseClass Value="Form"/> 266 268 <UnitName Value="UCompiledForm"/> 267 <EditorIndex Value=" 7"/>269 <EditorIndex Value="8"/> 268 270 <WindowIndex Value="0"/> 269 271 <TopLine Value="2"/> … … 279 281 <ResourceBaseClass Value="Form"/> 280 282 <UnitName Value="UCodeTreeForm"/> 281 <EditorIndex Value=" 6"/>283 <EditorIndex Value="7"/> 282 284 <WindowIndex Value="0"/> 283 285 <TopLine Value="1"/> … … 495 497 <Filename Value="..\Compiler\UCompiler.pas"/> 496 498 <UnitName Value="UCompiler"/> 497 <IsVisibleTab Value="True"/>498 499 <EditorIndex Value="3"/> 499 500 <WindowIndex Value="0"/> 500 <TopLine Value="6 1"/>501 <CursorPos X=" 56" Y="82"/>502 <UsageCount Value="1 2"/>501 <TopLine Value="63"/> 502 <CursorPos X="19" Y="79"/> 503 <UsageCount Value="13"/> 503 504 <Loaded Value="True"/> 504 505 </Unit49> … … 506 507 <Filename Value="..\Compiler\Produce\UProducer.pas"/> 507 508 <UnitName Value="UProducer"/> 508 <EditorIndex Value="1 0"/>509 <WindowIndex Value="0"/> 510 <TopLine Value="1 "/>511 <CursorPos X=" 32" Y="41"/>512 <UsageCount Value="1 1"/>509 <EditorIndex Value="11"/> 510 <WindowIndex Value="0"/> 511 <TopLine Value="10"/> 512 <CursorPos X="15" Y="23"/> 513 <UsageCount Value="12"/> 513 514 <Loaded Value="True"/> 514 515 </Unit50> … … 520 521 <TopLine Value="22"/> 521 522 <CursorPos X="14" Y="77"/> 522 <UsageCount Value="1 1"/>523 <UsageCount Value="12"/> 523 524 <Loaded Value="True"/> 524 525 </Unit51> … … 526 527 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 527 528 <UnitName Value="UAnalyzerPascal"/> 528 <EditorIndex Value=" 9"/>529 <WindowIndex Value="0"/> 530 <TopLine Value="1 0"/>531 <CursorPos X=" 68" Y="29"/>532 <UsageCount Value="1 1"/>529 <EditorIndex Value="10"/> 530 <WindowIndex Value="0"/> 531 <TopLine Value="1267"/> 532 <CursorPos X="46" Y="1281"/> 533 <UsageCount Value="12"/> 533 534 <Loaded Value="True"/> 534 535 </Unit52> … … 536 537 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 537 538 <UnitName Value="UProducerPascal"/> 539 <IsVisibleTab Value="True"/> 538 540 <EditorIndex Value="5"/> 539 541 <WindowIndex Value="0"/> 540 <TopLine Value=" 50"/>541 <CursorPos X=" 20" Y="54"/>542 <UsageCount Value="1 1"/>542 <TopLine Value="101"/> 543 <CursorPos X="1" Y="110"/> 544 <UsageCount Value="12"/> 543 545 <Loaded Value="True"/> 544 546 </Unit53> … … 546 548 <Filename Value="..\Compiler\Produce\UProducerDynamicC.pas"/> 547 549 <UnitName Value="UProducerDynamicC"/> 548 <WindowIndex Value="0"/> 549 <TopLine Value="54"/> 550 <CursorPos X="23" Y="58"/> 551 <UsageCount Value="10"/> 550 <EditorIndex Value="6"/> 551 <WindowIndex Value="0"/> 552 <TopLine Value="46"/> 553 <CursorPos X="47" Y="56"/> 554 <UsageCount Value="11"/> 555 <Loaded Value="True"/> 552 556 </Unit54> 553 557 <Unit55> … … 570 574 <Filename Value="..\Compiler\USourceCode.pas"/> 571 575 <UnitName Value="USourceCode"/> 572 <EditorIndex Value=" 8"/>573 <WindowIndex Value="0"/> 574 <TopLine Value=" 436"/>575 <CursorPos X=" 3" Y="449"/>576 <UsageCount Value="1 1"/>576 <EditorIndex Value="9"/> 577 <WindowIndex Value="0"/> 578 <TopLine Value="359"/> 579 <CursorPos X="5" Y="373"/> 580 <UsageCount Value="12"/> 577 581 <Loaded Value="True"/> 578 582 </Unit57> … … 596 600 <Filename Value="..\Compiler\Analyze\UAnalyzers.pas"/> 597 601 <UnitName Value="UAnalyzers"/> 598 <EditorIndex Value="1 1"/>602 <EditorIndex Value="13"/> 599 603 <WindowIndex Value="0"/> 600 604 <TopLine Value="1"/> 601 605 <CursorPos X="37" Y="12"/> 602 <UsageCount Value="1 1"/>606 <UsageCount Value="12"/> 603 607 <Loaded Value="True"/> 604 608 </Unit60> … … 606 610 <Filename Value="..\Compiler\Produce\UProducers.pas"/> 607 611 <UnitName Value="UProducers"/> 608 <EditorIndex Value="1 2"/>612 <EditorIndex Value="14"/> 609 613 <WindowIndex Value="0"/> 610 614 <TopLine Value="12"/> 611 615 <CursorPos X="55" Y="26"/> 612 <UsageCount Value="1 1"/>616 <UsageCount Value="12"/> 613 617 <Loaded Value="True"/> 614 618 </Unit61> … … 627 631 <TopLine Value="628"/> 628 632 <CursorPos X="1" Y="649"/> 629 <UsageCount Value="1 0"/>633 <UsageCount Value="11"/> 630 634 <Loaded Value="True"/> 631 635 </Unit63> … … 633 637 <JumpHistory Count="30" HistoryIndex="29"> 634 638 <Position1> 635 <Filename Value="..\Compiler\ Analyze\UAnalyzer.pas"/>636 <Caret Line=" 235" Column="1" TopLine="214"/>639 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 640 <Caret Line="60" Column="60" TopLine="60"/> 637 641 </Position1> 638 642 <Position2> 639 <Filename Value="..\Compiler\ UCompiler.pas"/>640 <Caret Line="7 6" Column="1" TopLine="61"/>643 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 644 <Caret Line="70" Column="109" TopLine="60"/> 641 645 </Position2> 642 646 <Position3> 643 <Filename Value="..\Compiler\ UCompiler.pas"/>644 <Caret Line=" 77" Column="1" TopLine="61"/>647 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 648 <Caret Line="177" Column="3" TopLine="173"/> 645 649 </Position3> 646 650 <Position4> 647 <Filename Value=" Forms\UMainForm.pas"/>648 <Caret Line=" 96" Column="1" TopLine="90"/>651 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 652 <Caret Line="192" Column="1" TopLine="173"/> 649 653 </Position4> 650 654 <Position5> 651 <Filename Value=" Forms\UMainForm.pas"/>652 <Caret Line=" 97" Column="1" TopLine="90"/>655 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 656 <Caret Line="193" Column="1" TopLine="173"/> 653 657 </Position5> 654 658 <Position6> 655 659 <Filename Value="Forms\UMainForm.pas"/> 656 <Caret Line=" 98" Column="1" TopLine="90"/>660 <Caret Line="107" Column="21" TopLine="93"/> 657 661 </Position6> 658 662 <Position7> 659 <Filename Value=" Forms\UMainForm.pas"/>660 <Caret Line=" 100" Column="1" TopLine="90"/>663 <Filename Value="..\Compiler\UCompiler.pas"/> 664 <Caret Line="79" Column="19" TopLine="63"/> 661 665 </Position7> 662 666 <Position8> 663 <Filename Value=" Forms\UMainForm.pas"/>664 <Caret Line="1 02" Column="1" TopLine="90"/>667 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 668 <Caret Line="173" Column="1" TopLine="173"/> 665 669 </Position8> 666 670 <Position9> 667 <Filename Value=" Forms\UMainForm.pas"/>668 <Caret Line="1 04" Column="1" TopLine="90"/>671 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 672 <Caret Line="171" Column="8" TopLine="166"/> 669 673 </Position9> 670 674 <Position10> 671 <Filename Value="..\Compiler\ UCompiler.pas"/>672 <Caret Line=" 74" Column="1" TopLine="61"/>675 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 676 <Caret Line="174" Column="19" TopLine="158"/> 673 677 </Position10> 674 678 <Position11> 675 <Filename Value="..\Compiler\ UCompiler.pas"/>676 <Caret Line=" 76" Column="21" TopLine="61"/>679 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 680 <Caret Line="176" Column="7" TopLine="158"/> 677 681 </Position11> 678 682 <Position12> 679 <Filename Value="..\Compiler\ Analyze\UAnalyzerPascal.pas"/>680 <Caret Line=" 29" Column="68" TopLine="10"/>683 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 684 <Caret Line="173" Column="1" TopLine="158"/> 681 685 </Position12> 682 686 <Position13> 683 <Filename Value=" Forms\UMainForm.pas"/>684 <Caret Line=" 96" Column="1" TopLine="90"/>687 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 688 <Caret Line="174" Column="1" TopLine="158"/> 685 689 </Position13> 686 690 <Position14> 687 <Filename Value="..\Compiler\ UCompiler.pas"/>688 <Caret Line=" 74" Column="1" TopLine="61"/>691 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 692 <Caret Line="175" Column="1" TopLine="158"/> 689 693 </Position14> 690 694 <Position15> 691 <Filename Value="..\Compiler\ UCompiler.pas"/>692 <Caret Line=" 76" Column="1" TopLine="61"/>695 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 696 <Caret Line="178" Column="1" TopLine="158"/> 693 697 </Position15> 694 698 <Position16> 695 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>696 <Caret Line=" 29" Column="24" TopLine="7"/>699 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 700 <Caret Line="179" Column="1" TopLine="158"/> 697 701 </Position16> 698 702 <Position17> 699 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>700 <Caret Line=" 27" Column="1" TopLine="7"/>703 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 704 <Caret Line="173" Column="1" TopLine="158"/> 701 705 </Position17> 702 706 <Position18> 703 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>704 <Caret Line=" 29" Column="1" TopLine="8"/>707 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 708 <Caret Line="174" Column="1" TopLine="158"/> 705 709 </Position18> 706 710 <Position19> 707 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>708 <Caret Line="1 0" Column="26" TopLine="9"/>711 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 712 <Caret Line="175" Column="1" TopLine="158"/> 709 713 </Position19> 710 714 <Position20> 711 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>712 <Caret Line=" 27" Column="1" TopLine="9"/>715 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 716 <Caret Line="178" Column="1" TopLine="158"/> 713 717 </Position20> 714 718 <Position21> 715 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>716 <Caret Line=" 29" Column="1" TopLine="9"/>719 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 720 <Caret Line="179" Column="1" TopLine="158"/> 717 721 </Position21> 718 722 <Position22> 719 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>720 <Caret Line=" 28" Column="33" TopLine="9"/>723 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 724 <Caret Line="173" Column="1" TopLine="158"/> 721 725 </Position22> 722 726 <Position23> 723 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>724 <Caret Line=" 29" Column="1" TopLine="9"/>727 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 728 <Caret Line="174" Column="1" TopLine="158"/> 725 729 </Position23> 726 730 <Position24> 727 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>728 <Caret Line=" 20" Column="23" TopLine="9"/>731 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 732 <Caret Line="175" Column="1" TopLine="158"/> 729 733 </Position24> 730 734 <Position25> 731 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>732 <Caret Line=" 29" Column="1" TopLine="9"/>735 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 736 <Caret Line="178" Column="1" TopLine="158"/> 733 737 </Position25> 734 738 <Position26> 735 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>736 <Caret Line="1 1" Column="12" TopLine="9"/>739 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 740 <Caret Line="179" Column="1" TopLine="158"/> 737 741 </Position26> 738 742 <Position27> 739 <Filename Value="..\Compiler\Produce\UProducer s.pas"/>740 <Caret Line=" 22" Column="49" TopLine="9"/>743 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 744 <Caret Line="176" Column="41" TopLine="158"/> 741 745 </Position27> 742 746 <Position28> 743 <Filename Value=" Forms\UMainForm.pas"/>744 <Caret Line=" 96" Column="1" TopLine="90"/>747 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 748 <Caret Line="69" Column="28" TopLine="59"/> 745 749 </Position28> 746 750 <Position29> 747 <Filename Value=" Forms\UMainForm.pas"/>748 <Caret Line=" 1" Column="1" TopLine="1"/>751 <Filename Value="..\Compiler\Produce\UProducerPascal.pas"/> 752 <Caret Line="73" Column="61" TopLine="59"/> 749 753 </Position29> 750 754 <Position30> 751 <Filename Value=" Forms\UMainForm.pas"/>752 <Caret Line=" 18" Column="29" TopLine="10"/>755 <Filename Value="..\Compiler\Analyze\UAnalyzerPascal.pas"/> 756 <Caret Line="29" Column="27" TopLine="15"/> 753 757 </Position30> 754 758 </JumpHistory>
Note:
See TracChangeset
for help on using the changeset viewer.