Changeset 75
- Timestamp:
- Oct 21, 2010, 7:56:25 AM (14 years ago)
- Location:
- branches/Transpascal
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Transpascal/Compiler/Analyze/UPascalParser.pas
r74 r75 26 26 procedure ParseUnitImplementation(SourceCode: TModuleUnit); 27 27 procedure ParseProgram(SourceCode: TModuleProgram); 28 procedure ParseCommonBlock(SourceCode: TCommonBlock; EndSymbol: char = ';'); 28 procedure ParseCommonBlock(SourceCode: TCommonBlock; EndSymbol: char = ';'; 29 WithBody: Boolean = True); 29 30 procedure ParseCommonBlockInterface(SourceCode: TCommonBlock); 30 31 function ParseCommand(SourceCode: TCommonBlock): TCommand; … … 368 369 369 370 ParseCommonBlock(Body, '.'); 371 SourceCode.ParentProgram.Modules.Add(SourceCode); 370 372 end; 371 373 end; … … 384 386 if NextToken = 'implementation' then 385 387 ParseUnitImplementation(SourceCode); 388 389 SourceCode.ParentProgram.Modules.Add(SourceCode); 386 390 387 391 if NextToken = 'initialization' then begin … … 411 415 ParseUses(SourceCode.UsedModules, False); 412 416 413 ParseCommonBlock(SourceCode.Body, '.' );417 ParseCommonBlock(SourceCode.Body, '.', False); 414 418 end; 415 419 … … 417 421 418 422 procedure TPascalParser.ParseCommonBlock(SourceCode: TCommonBlock; 419 EndSymbol: char = ';' );423 EndSymbol: char = ';'; WithBody: Boolean = True); 420 424 begin 421 425 with SourceCode do begin 422 426 while (NextToken <> EndSymbol) do begin 423 if NextToken = 'var' then 427 if NextToken = 'var' then begin 428 Expect('var'); 424 429 ParseVariableList(Variables) 425 else if NextToken = 'const' then 430 end else 431 if NextToken = 'const' then begin 432 Expect('const'); 426 433 ParseConstantList(Constants) 427 else if NextToken = 'type' then 428 ParseTypeList(Types) 429 else if NextToken = 'procedure' then 434 end else 435 if NextToken = 'type' then begin 436 Expect('type'); 437 ParseTypeList(Types); 438 end else 439 if NextToken = 'procedure' then 430 440 ParseFunctionList(Functions) 431 441 else if NextToken = 'function' then 432 442 ParseFunctionList(Functions) 433 443 else begin 434 ParseBeginEnd(Code); 444 if WithBody then 445 ParseBeginEnd(Code); 435 446 Break; 436 447 end; 437 448 end; 438 Expect(EndSymbol);449 if WithBody then Expect(EndSymbol); 439 450 end; 440 451 end; … … 444 455 with SourceCode do begin 445 456 while (NextToken <> 'implementation') and (NextTokenType <> ttEndOfFile) do begin 446 if NextToken = 'var' then 447 ParseVariableList(Variables) 448 else if NextToken = 'const' then 449 ParseConstantList(Constants, True) 450 else if NextToken = 'type' then 451 ParseTypeList(Types, True) 452 else if NextToken = 'procedure' then 457 if NextToken = 'var' then begin 458 Expect('var'); 459 ParseVariableList(Variables); 460 end else 461 if NextToken = 'const' then begin 462 Expect('const'); 463 ParseConstantList(Constants, True); 464 end else 465 if NextToken = 'type' then begin 466 Expect('type'); 467 ParseTypeList(Types, True); 468 end else 469 if NextToken = 'procedure' then 453 470 ParseFunctionList(Functions, True) 454 471 else if NextToken = 'function' then … … 496 513 I: integer; 497 514 begin 515 try 498 516 Identifiers := TStringList.Create; 499 517 with SourceCode do begin 500 518 with TFunction(Items[Add(TFunction.Create)]) do begin 501 519 Parent := SourceCode.Parent; 502 if NextToken = 'procedure' then 503 begin 520 if NextToken = 'procedure' then begin 504 521 Expect('procedure'); 505 522 HaveResult := False; 506 end 507 else 508 begin 523 end else begin 509 524 Expect('function'); 510 525 HaveResult := True; … … 545 560 end; 546 561 end; 562 if NextToken = ';' then Expect(';'); 547 563 end; 548 564 Expect(')'); … … 580 596 if not Exported then ParseCommonBlock(TFunction(Last)); 581 597 end; 582 Identifiers.Destroy; 598 finally 599 Identifiers.Free; 600 end; 583 601 end; 584 602 … … 638 656 Identifiers := TStringList.Create; 639 657 with SourceCode do begin 640 Expect('var');641 658 while IsIdentificator(NextToken) and (NextTokenType <> ttEndOfFile) do begin 642 659 Identifiers.Clear; … … 694 711 begin 695 712 Identifiers := TStringList.Create; 696 with SourceCode do 697 begin 698 Expect('const'); 699 while IsIdentificator(NextToken) do 700 begin 713 with SourceCode do begin 714 while IsIdentificator(NextToken) do begin 701 715 ConstantName := ReadCode; 702 716 Constant := Search(ConstantName); 703 if not Assigned(Constant) then 704 begin 717 if not Assigned(Constant) then begin 705 718 Identifiers.Add(ConstantName); 706 while NextToken = ',' do 707 begin 719 while NextToken = ',' do begin 708 720 Expect(','); 709 721 Identifiers.Add(ReadCode); 710 722 end; 711 end 712 else 723 end else 713 724 ErrorMessage(SRedefineIdentifier, [ConstantName], -1); 714 725 Expect(':'); … … 742 753 with SourceCode do 743 754 begin 744 Expect('type');745 755 while IsIdentificator(NextToken) do begin 746 756 NewType := ParseType(SourceCode); … … 872 882 function TPascalParser.ParseTypeRecord(TypeList: TTypeList; Name: string 873 883 ): TType; 884 type 885 TSectionType = (stVar, stType, stConst); 874 886 var 875 887 Visibility: TTypeVisibility; 876 begin 888 SectionType: TSectionType; 889 begin 890 SectionType := stVar; 877 891 Visibility := tvPublic; 878 892 Expect('record'); 879 893 Result := TTypeRecord.Create; 880 894 TTypeRecord(Result).Parent := TypeList; 895 TTypeRecord(Result).CommonBlock.Parent := TypeList.Parent; 881 896 TType(Result).Name := Name; 882 897 while (NextToken <> 'end') and (NextTokenType <> ttEndOfFile) do … … 898 913 Visibility := tvProtected; 899 914 end else 900 if NextToken = 'var' then 901 ParseVariableList(TTypeRecord(Result).CommonBlock.Variables) 902 else if NextToken = 'const' then 915 if NextToken = 'var' then begin 916 Expect('var'); 917 SectionType := stVar 918 end else 919 if NextToken = 'const' then begin 920 Expect('const'); 921 SectionType := stConst 922 end else 923 if NextToken = 'type' then begin 924 Expect('type'); 925 SectionType := stType; 926 end; 927 928 if SectionType = stVar then begin 929 if NextToken = 'procedure' then 930 ParseFunctionList(TTypeRecord(Result).CommonBlock.Functions, True) 931 else if NextToken = 'function' then 932 ParseFunctionList(TTypeRecord(Result).CommonBlock.Functions, True) 933 else begin 934 ParseVariableList(TTypeRecord(Result).CommonBlock.Variables, True) 935 //TTypeRecord(Result).CommonBlock.Types.Add(ParseType(TypeList, True, ':')); 936 //TType(TTypeRecord(Result).CommonBlock.Types.Last).Visibility := Visibility; 937 end; ParseVariableList(TTypeRecord(Result).CommonBlock.Variables) 938 end 939 else if SectionType = stConst then 903 940 ParseConstantList(TTypeRecord(Result).CommonBlock.Constants, True) 904 else if NextToken = 'type' then 905 ParseTypeList(TTypeRecord(Result).CommonBlock.Types, True) 906 else if NextToken = 'procedure' then 907 ParseFunctionList(TTypeRecord(Result).CommonBlock.Functions, True) 908 else if NextToken = 'function' then 909 ParseFunctionList(TTypeRecord(Result).CommonBlock.Functions, True) 910 else begin 911 TTypeRecord(Result).CommonBlock.Types.Add(ParseType(TypeList, True, ':')); 912 TType(TTypeRecord(Result).CommonBlock.Types.Last).Visibility := Visibility; 913 end; 914 Expect(';'); 941 else if SectionType = stType then 942 ParseTypeList(TTypeRecord(Result).CommonBlock.Types, True); 915 943 end; 916 944 Expect('end'); -
branches/Transpascal/Compiler/Produce/UProducerC.pas
r68 r75 29 29 procedure GenerateFunctions(Functions: TFunctionList); 30 30 procedure GenerateBeginEnd(BeginEnd: TBeginEnd); 31 procedure GenerateVariableList(VariableList: TVariableList); 32 procedure GenerateVariable(Variable: TVariable); 31 33 procedure GenerateCommand(Command: TCommand); 32 34 procedure GenerateWhileDo(WhileDo: TWhileDo); … … 123 125 GenerateUses(TModuleProgram(Module).UsedModules); 124 126 GenerateCommonBlock(TModuleProgram(Module).Body, ''); 127 end else 128 if Module is TModuleUnit then begin 129 GenerateUses(TModuleProgram(Module).UsedModules); 130 GenerateCommonBlock(TModuleUnit(Module).Body, ''); 125 131 end; 126 132 end; … … 176 182 Inc(Indetation); 177 183 178 179 184 // Variables 180 185 if BeginEnd.Parent is TCommonBlock then begin 181 for I := 0 to BeginEnd.CommonBlock.Variables.Count - 1 do 182 with TVariable(BeginEnd.CommonBlock.Variables[I]) do 183 Emit(TranslateType(ValueType.Name) + ' ' + Name + ';'); 184 Emit(''); 186 GenerateVariableList(BeginEnd.CommonBlock.Variables); 185 187 end; 186 188 … … 191 193 Dec(Indetation); 192 194 Emit('}'); 195 end; 196 197 procedure TProducerC.GenerateVariableList(VariableList: TVariableList); 198 var 199 I: Integer; 200 begin 201 for I := 0 to VariableList.Count - 1 do 202 GenerateVariable(TVariable(VariableList[I])); 203 // Emit(''); 204 end; 205 206 procedure TProducerC.GenerateVariable(Variable: TVariable); 207 begin 208 with Variable do 209 Emit(TranslateType(ValueType.Name) + ' ' + Name + ';'); 193 210 end; 194 211 … … 296 313 if Assigned(AType) then begin 297 314 if AType is TTypeRecord then begin 298 Emit(' typedefstruct');315 Emit('struct'); 299 316 Emit('{'); 300 317 Inc(Indetation); 301 for I := 0 to TTypeRecord(AType).CommonBlock.Types.Count - 1 do begin 302 GenerateType(TType(TTypeRecord(AType).CommonBlock.Types[I])); 303 Emit(';'); 304 end; 318 GenerateVariableList(TTypeRecord(AType).CommonBlock.Variables); 305 319 Dec(Indetation); 306 320 Emit('} ' + TranslateType(AType.Name), False); … … 321 335 end else begin 322 336 if Assigned(AType.UsedType) then begin 323 GenerateType(AType.UsedType); 337 //GenerateType(AType.UsedType); 338 Emit(AType.UsedType.Name, False); 324 339 Emit(' ', False); 325 340 end; … … 338 353 with TType(Types[I]) do 339 354 if (not System) then begin 355 Emit('typedef ', False); 340 356 GenerateType(TType(Types[I])); 341 357 Emit(';'); -
branches/Transpascal/Compiler/UCompiler.pas
r74 r75 67 67 Parser.Process; 68 68 //ShowMessage(IntToHex(Integer(Addr(Parser.OnGetSource)), 8)); 69 NewModule := Parser.ParseModule(ProgramCode); 70 ProgramCode.Modules.Add(NewModule); 69 Parser.ParseModule(ProgramCode); 71 70 for I := 0 to ProgramCode.Modules.Count - 1 do begin 72 71 Producer.Produce(TModule(ProgramCode.Modules[I])); -
branches/Transpascal/Transpascal.lpi
r74 r75 46 46 </Item4> 47 47 </RequiredPackages> 48 <Units Count="4 4">48 <Units Count="43"> 49 49 <Unit0> 50 50 <Filename Value="Transpascal.lpr"/> 51 51 <IsPartOfProject Value="True"/> 52 52 <UnitName Value="Transpascal"/> 53 <EditorIndex Value="1 2"/>53 <EditorIndex Value="11"/> 54 54 <WindowIndex Value="0"/> 55 55 <TopLine Value="7"/> … … 66 66 <ResourceBaseClass Value="Form"/> 67 67 <UnitName Value="UMainForm"/> 68 <EditorIndex Value=" 10"/>68 <EditorIndex Value="9"/> 69 69 <WindowIndex Value="0"/> 70 70 <TopLine Value="97"/> … … 91 91 <TopLine Value="745"/> 92 92 <CursorPos X="46" Y="759"/> 93 <UsageCount Value="15 4"/>93 <UsageCount Value="150"/> 94 94 <DefaultSyntaxHighlighter Value="Delphi"/> 95 95 </Unit3> … … 100 100 <TopLine Value="1"/> 101 101 <CursorPos X="40" Y="11"/> 102 <UsageCount Value="15 4"/>102 <UsageCount Value="150"/> 103 103 <DefaultSyntaxHighlighter Value="Delphi"/> 104 104 </Unit4> … … 109 109 <TopLine Value="187"/> 110 110 <CursorPos X="34" Y="201"/> 111 <UsageCount Value="15 4"/>111 <UsageCount Value="150"/> 112 112 </Unit5> 113 113 <Unit6> … … 117 117 <TopLine Value="1"/> 118 118 <CursorPos X="1" Y="14"/> 119 <UsageCount Value="15 4"/>119 <UsageCount Value="150"/> 120 120 </Unit6> 121 121 <Unit7> … … 125 125 <TopLine Value="124"/> 126 126 <CursorPos X="42" Y="136"/> 127 <UsageCount Value="15 4"/>127 <UsageCount Value="150"/> 128 128 </Unit7> 129 129 <Unit8> … … 133 133 <TopLine Value="442"/> 134 134 <CursorPos X="47" Y="455"/> 135 <UsageCount Value="15 4"/>135 <UsageCount Value="150"/> 136 136 </Unit8> 137 137 <Unit9> … … 141 141 <TopLine Value="78"/> 142 142 <CursorPos X="27" Y="86"/> 143 <UsageCount Value="4 6"/>143 <UsageCount Value="42"/> 144 144 </Unit9> 145 145 <Unit10> 146 <Filename Value="E:\Programy\Lazarus\lcl\stdctrls.pp"/> 147 <UnitName Value="StdCtrls"/> 148 <WindowIndex Value="0"/> 149 <TopLine Value="936"/> 150 <CursorPos X="35" Y="948"/> 151 <UsageCount Value="4"/> 146 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutilh.inc"/> 147 <WindowIndex Value="0"/> 148 <TopLine Value="61"/> 149 <CursorPos X="7" Y="68"/> 150 <UsageCount Value="52"/> 152 151 </Unit10> 153 152 <Unit11> 154 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutil h.inc"/>155 <WindowIndex Value="0"/> 156 <TopLine Value=" 61"/>157 <CursorPos X=" 7" Y="68"/>158 <UsageCount Value="5 6"/>153 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutils.inc"/> 154 <WindowIndex Value="0"/> 155 <TopLine Value="139"/> 156 <CursorPos X="16" Y="146"/> 157 <UsageCount Value="52"/> 159 158 </Unit11> 160 159 <Unit12> 161 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutils.inc"/> 162 <WindowIndex Value="0"/> 163 <TopLine Value="139"/> 164 <CursorPos X="16" Y="146"/> 165 <UsageCount Value="56"/> 160 <Filename Value="Produce\UProducerTreeView.pas"/> 161 <UnitName Value="UProducerTreeView"/> 162 <WindowIndex Value="0"/> 163 <TopLine Value="69"/> 164 <CursorPos X="1" Y="82"/> 165 <UsageCount Value="112"/> 166 166 </Unit12> 167 167 <Unit13> 168 <Filename Value="Produce\UProducerTreeView.pas"/> 169 <UnitName Value="UProducerTreeView"/> 170 <WindowIndex Value="0"/> 171 <TopLine Value="69"/> 172 <CursorPos X="1" Y="82"/> 173 <UsageCount Value="116"/> 168 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/> 169 <WindowIndex Value="0"/> 170 <TopLine Value="19"/> 171 <CursorPos X="4" Y="32"/> 172 <UsageCount Value="9"/> 174 173 </Unit13> 175 174 <Unit14> 176 <Filename Value=" E:\Programy\Lazarus\lcl\comctrls.pp"/>177 <UnitName Value=" ComCtrls"/>178 <WindowIndex Value="0"/> 179 <TopLine Value=" 2159"/>180 <CursorPos X="1 4" Y="2178"/>181 <UsageCount Value=" 2"/>175 <Filename Value="Produce\UProducerPascal.pas"/> 176 <UnitName Value="UProducerPascal"/> 177 <WindowIndex Value="0"/> 178 <TopLine Value="320"/> 179 <CursorPos X="1" Y="327"/> 180 <UsageCount Value="66"/> 182 181 </Unit14> 183 182 <Unit15> 184 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/> 185 <EditorIndex Value="7"/> 186 <WindowIndex Value="0"/> 187 <TopLine Value="19"/> 188 <CursorPos X="4" Y="32"/> 189 <UsageCount Value="13"/> 190 <Loaded Value="True"/> 183 <Filename Value="UProject.pas"/> 184 <IsPartOfProject Value="True"/> 185 <UnitName Value="UProject"/> 186 <EditorIndex Value="8"/> 187 <WindowIndex Value="0"/> 188 <TopLine Value="3"/> 189 <CursorPos X="50" Y="10"/> 190 <UsageCount Value="178"/> 191 <Loaded Value="True"/> 192 <DefaultSyntaxHighlighter Value="Delphi"/> 191 193 </Unit15> 192 194 <Unit16> 193 <Filename Value="Produce\UProducerPascal.pas"/> 194 <UnitName Value="UProducerPascal"/> 195 <WindowIndex Value="0"/> 196 <TopLine Value="320"/> 197 <CursorPos X="1" Y="327"/> 198 <UsageCount Value="70"/> 195 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\wstringh.inc"/> 196 <WindowIndex Value="0"/> 197 <TopLine Value="17"/> 198 <CursorPos X="11" Y="30"/> 199 <UsageCount Value="5"/> 199 200 </Unit16> 200 201 <Unit17> 201 <Filename Value="UProject.pas"/> 202 <IsPartOfProject Value="True"/> 203 <UnitName Value="UProject"/> 204 <EditorIndex Value="9"/> 205 <WindowIndex Value="0"/> 206 <TopLine Value="3"/> 207 <CursorPos X="50" Y="10"/> 208 <UsageCount Value="142"/> 209 <Loaded Value="True"/> 210 <DefaultSyntaxHighlighter Value="Delphi"/> 202 <Filename Value="Compiler\TranspascalCompiler.pas"/> 203 <UnitName Value="TranspascalCompiler"/> 204 <WindowIndex Value="0"/> 205 <TopLine Value="1"/> 206 <CursorPos X="33" Y="1"/> 207 <UsageCount Value="30"/> 211 208 </Unit17> 212 209 <Unit18> 213 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\wstringh.inc"/>214 <WindowIndex Value="0"/>215 <TopLine Value="17"/>216 <CursorPos X="11" Y="30"/>217 <UsageCount Value="9"/>218 </Unit18>219 <Unit19>220 <Filename Value="Compiler\TranspascalCompiler.pas"/>221 <UnitName Value="TranspascalCompiler"/>222 <WindowIndex Value="0"/>223 <TopLine Value="1"/>224 <CursorPos X="33" Y="1"/>225 <UsageCount Value="34"/>226 </Unit19>227 <Unit20>228 210 <Filename Value="Compiler\UCompiler.pas"/> 229 211 <UnitName Value="UCompiler"/> 230 212 <EditorIndex Value="1"/> 231 213 <WindowIndex Value="0"/> 232 <TopLine Value=" 32"/>233 <CursorPos X="1 " Y="48"/>234 <UsageCount Value=" 62"/>235 <Loaded Value="True"/> 236 </Unit 20>237 <Unit 21>214 <TopLine Value="92"/> 215 <CursorPos X="15" Y="98"/> 216 <UsageCount Value="80"/> 217 <Loaded Value="True"/> 218 </Unit18> 219 <Unit19> 238 220 <Filename Value="Compiler\USourceCode.pas"/> 239 221 <UnitName Value="USourceCode"/> 240 <EditorIndex Value="1 1"/>241 <WindowIndex Value="0"/> 242 <TopLine Value="1 53"/>243 <CursorPos X=" 29" Y="172"/>244 <UsageCount Value=" 61"/>245 <Loaded Value="True"/> 246 </Unit 21>247 <Unit2 2>222 <EditorIndex Value="10"/> 223 <WindowIndex Value="0"/> 224 <TopLine Value="144"/> 225 <CursorPos X="38" Y="158"/> 226 <UsageCount Value="79"/> 227 <Loaded Value="True"/> 228 </Unit19> 229 <Unit20> 248 230 <Filename Value="Compiler\Analyze\UParser.pas"/> 249 231 <UnitName Value="UParser"/> 250 232 <EditorIndex Value="4"/> 251 233 <WindowIndex Value="0"/> 252 <TopLine Value=" 33"/>253 <CursorPos X=" 57" Y="87"/>254 <UsageCount Value=" 62"/>255 <Loaded Value="True"/> 256 </Unit2 2>257 <Unit2 3>234 <TopLine Value="79"/> 235 <CursorPos X="23" Y="88"/> 236 <UsageCount Value="80"/> 237 <Loaded Value="True"/> 238 </Unit20> 239 <Unit21> 258 240 <Filename Value="Forms\UProjectManager.pas"/> 259 241 <IsPartOfProject Value="True"/> … … 265 247 <TopLine Value="33"/> 266 248 <CursorPos X="29" Y="44"/> 267 <UsageCount Value="1 26"/>268 <Loaded Value="True"/> 269 <DefaultSyntaxHighlighter Value="Delphi"/> 270 </Unit2 3>271 <Unit2 4>249 <UsageCount Value="162"/> 250 <Loaded Value="True"/> 251 <DefaultSyntaxHighlighter Value="Delphi"/> 252 </Unit21> 253 <Unit22> 272 254 <Filename Value="Forms\UCodeForm.pas"/> 273 255 <IsPartOfProject Value="True"/> … … 279 261 <TopLine Value="1"/> 280 262 <CursorPos X="26" Y="17"/> 281 <UsageCount Value="1 26"/>263 <UsageCount Value="162"/> 282 264 <Loaded Value="True"/> 283 265 <LoadedDesigner Value="True"/> 284 266 <DefaultSyntaxHighlighter Value="Delphi"/> 285 </Unit2 4>286 <Unit2 5>267 </Unit22> 268 <Unit23> 287 269 <Filename Value="Forms\UMessagesForm.pas"/> 288 270 <IsPartOfProject Value="True"/> … … 294 276 <TopLine Value="11"/> 295 277 <CursorPos X="38" Y="76"/> 296 <UsageCount Value="1 26"/>297 <Loaded Value="True"/> 298 <DefaultSyntaxHighlighter Value="Delphi"/> 299 </Unit2 5>300 <Unit2 6>278 <UsageCount Value="162"/> 279 <Loaded Value="True"/> 280 <DefaultSyntaxHighlighter Value="Delphi"/> 281 </Unit23> 282 <Unit24> 301 283 <Filename Value="Forms\UCompiledForm.pas"/> 302 284 <IsPartOfProject Value="True"/> … … 308 290 <TopLine Value="5"/> 309 291 <CursorPos X="28" Y="21"/> 310 <UsageCount Value="1 25"/>311 <DefaultSyntaxHighlighter Value="Delphi"/> 312 </Unit2 6>313 <Unit2 7>292 <UsageCount Value="161"/> 293 <DefaultSyntaxHighlighter Value="Delphi"/> 294 </Unit24> 295 <Unit25> 314 296 <Filename Value="Forms\UCodeTreeForm.pas"/> 315 297 <IsPartOfProject Value="True"/> … … 320 302 <TopLine Value="1"/> 321 303 <CursorPos X="1" Y="1"/> 322 <UsageCount Value="125"/> 323 <DefaultSyntaxHighlighter Value="Delphi"/> 304 <UsageCount Value="161"/> 305 <DefaultSyntaxHighlighter Value="Delphi"/> 306 </Unit25> 307 <Unit26> 308 <Filename Value="Compiler\Produce\UProducerTreeView.pas"/> 309 <UnitName Value="UProducerTreeView"/> 310 <WindowIndex Value="0"/> 311 <TopLine Value="291"/> 312 <CursorPos X="54" Y="304"/> 313 <UsageCount Value="28"/> 314 </Unit26> 315 <Unit27> 316 <Filename Value="E:\Programy\Lazarus\components\synedit\synhighlightermulti.pas"/> 317 <UnitName Value="SynHighlighterMulti"/> 318 <WindowIndex Value="0"/> 319 <TopLine Value="316"/> 320 <CursorPos X="14" Y="329"/> 321 <UsageCount Value="28"/> 324 322 </Unit27> 325 323 <Unit28> 326 <Filename Value="Compiler\Produce\UProducerTreeView.pas"/> 327 <UnitName Value="UProducerTreeView"/> 328 <WindowIndex Value="0"/> 329 <TopLine Value="291"/> 330 <CursorPos X="54" Y="304"/> 331 <UsageCount Value="32"/> 324 <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/> 325 <WindowIndex Value="0"/> 326 <TopLine Value="1756"/> 327 <CursorPos X="31" Y="1770"/> 328 <UsageCount Value="25"/> 332 329 </Unit28> 333 330 <Unit29> 334 <Filename Value="E:\Programy\Lazarus\components\synedit\synhighlightermulti.pas"/> 335 <UnitName Value="SynHighlighterMulti"/> 336 <WindowIndex Value="0"/> 337 <TopLine Value="316"/> 338 <CursorPos X="14" Y="329"/> 339 <UsageCount Value="32"/> 331 <Filename Value="Common\URegistry.pas"/> 332 <IsPartOfProject Value="True"/> 333 <UnitName Value="URegistry"/> 334 <UsageCount Value="154"/> 335 <DefaultSyntaxHighlighter Value="Delphi"/> 340 336 </Unit29> 341 337 <Unit30> 342 <Filename Value=" E:\Programy\Lazarus\lcl\include\customform.inc"/>343 < WindowIndex Value="0"/>344 < TopLine Value="1756"/>345 < CursorPos X="31" Y="1770"/>346 < UsageCount Value="29"/>338 <Filename Value="Common\ULastOpenedList.pas"/> 339 <IsPartOfProject Value="True"/> 340 <UnitName Value="ULastOpenedList"/> 341 <UsageCount Value="154"/> 342 <DefaultSyntaxHighlighter Value="Delphi"/> 347 343 </Unit30> 348 344 <Unit31> 349 <Filename Value=" Common\URegistry.pas"/>350 <IsPartOfProject Value="True"/> 351 <UnitName Value="U Registry"/>352 <UsageCount Value="1 18"/>345 <Filename Value="UApplicationInfo.pas"/> 346 <IsPartOfProject Value="True"/> 347 <UnitName Value="UApplicationInfo"/> 348 <UsageCount Value="153"/> 353 349 <DefaultSyntaxHighlighter Value="Delphi"/> 354 350 </Unit31> 355 351 <Unit32> 356 <Filename Value="Common\ULastOpenedList.pas"/> 357 <IsPartOfProject Value="True"/> 358 <UnitName Value="ULastOpenedList"/> 359 <UsageCount Value="118"/> 360 <DefaultSyntaxHighlighter Value="Delphi"/> 352 <Filename Value="Compiler\Produce\UProducerC.pas"/> 353 <UnitName Value="UProducerC"/> 354 <IsVisibleTab Value="True"/> 355 <EditorIndex Value="7"/> 356 <WindowIndex Value="0"/> 357 <TopLine Value="197"/> 358 <CursorPos X="3" Y="203"/> 359 <UsageCount Value="76"/> 360 <Loaded Value="True"/> 361 361 </Unit32> 362 362 <Unit33> 363 <Filename Value="UApplicationInfo.pas"/> 364 <IsPartOfProject Value="True"/> 365 <UnitName Value="UApplicationInfo"/> 366 <UsageCount Value="117"/> 367 <DefaultSyntaxHighlighter Value="Delphi"/> 363 <Filename Value="Compiler\Produce\UProducerAsm8051.pas"/> 364 <UnitName Value="UProducerAsm8051"/> 365 <WindowIndex Value="0"/> 366 <TopLine Value="1"/> 367 <CursorPos X="1" Y="1"/> 368 <UsageCount Value="24"/> 368 369 </Unit33> 369 370 <Unit34> 370 <Filename Value="Compiler\Produce\UProducerC.pas"/> 371 <UnitName Value="UProducerC"/> 372 <EditorIndex Value="8"/> 373 <WindowIndex Value="0"/> 374 <TopLine Value="67"/> 375 <CursorPos X="35" Y="81"/> 376 <UsageCount Value="58"/> 377 <Loaded Value="True"/> 371 <Filename Value="Compiler\Produce\UProducerPascal.pas"/> 372 <UnitName Value="UProducerPascal"/> 373 <WindowIndex Value="0"/> 374 <TopLine Value="99"/> 375 <CursorPos X="57" Y="112"/> 376 <UsageCount Value="21"/> 378 377 </Unit34> 379 378 <Unit35> 380 <Filename Value="Compiler\Produce\UProducerAsm8051.pas"/> 381 <UnitName Value="UProducerAsm8051"/> 382 <WindowIndex Value="0"/> 383 <TopLine Value="1"/> 384 <CursorPos X="1" Y="1"/> 385 <UsageCount Value="28"/> 379 <Filename Value=""/> 380 <UsageCount Value="1"/> 381 <DefaultSyntaxHighlighter Value="None"/> 386 382 </Unit35> 387 383 <Unit36> 388 <Filename Value="Compiler\Produce\UProducerPascal.pas"/> 389 <UnitName Value="UProducerPascal"/> 390 <WindowIndex Value="0"/> 391 <TopLine Value="99"/> 392 <CursorPos X="57" Y="112"/> 393 <UsageCount Value="25"/> 384 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 385 <UnitName Value="UPascalParser"/> 386 <EditorIndex Value="2"/> 387 <WindowIndex Value="0"/> 388 <TopLine Value="715"/> 389 <CursorPos X="26" Y="735"/> 390 <UsageCount Value="55"/> 391 <Loaded Value="True"/> 394 392 </Unit36> 395 393 <Unit37> 396 <Filename Value=""/> 397 <UsageCount Value="5"/> 398 <DefaultSyntaxHighlighter Value="None"/> 394 <Filename Value="Compiler\Analyze\UGrammer.pas"/> 395 <UnitName Value="UGrammer"/> 396 <EditorIndex Value="12"/> 397 <WindowIndex Value="0"/> 398 <TopLine Value="15"/> 399 <CursorPos X="1" Y="28"/> 400 <UsageCount Value="53"/> 401 <Loaded Value="True"/> 399 402 </Unit37> 400 403 <Unit38> 401 <Filename Value="Compiler\Analyze\UPascalParser.pas"/>402 <UnitName Value="UPascalParser"/>403 <IsVisibleTab Value="True"/>404 <EditorIndex Value="2"/>405 <WindowIndex Value="0"/>406 <TopLine Value="952"/>407 <CursorPos X="23" Y="966"/>408 <UsageCount Value="37"/>409 <Loaded Value="True"/>410 </Unit38>411 <Unit39>412 <Filename Value="Compiler\Analyze\UGrammer.pas"/>413 <UnitName Value="UGrammer"/>414 <EditorIndex Value="13"/>415 <WindowIndex Value="0"/>416 <TopLine Value="15"/>417 <CursorPos X="1" Y="28"/>418 <UsageCount Value="35"/>419 <Loaded Value="True"/>420 </Unit39>421 <Unit40>422 404 <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.pp"/> 423 405 <UnitName Value="SynEdit"/> … … 426 408 <TopLine Value="828"/> 427 409 <CursorPos X="27" Y="841"/> 428 <UsageCount Value="13"/> 429 <Loaded Value="True"/> 410 <UsageCount Value="31"/> 411 <Loaded Value="True"/> 412 </Unit38> 413 <Unit39> 414 <Filename Value="E:\Programy\Lazarus\components\synedit\synedittypes.pp"/> 415 <UnitName Value="SynEditTypes"/> 416 <WindowIndex Value="0"/> 417 <TopLine Value="56"/> 418 <CursorPos X="3" Y="69"/> 419 <UsageCount Value="5"/> 420 </Unit39> 421 <Unit40> 422 <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmarkup.pp"/> 423 <UnitName Value="SynEditMarkup"/> 424 <WindowIndex Value="0"/> 425 <TopLine Value="113"/> 426 <CursorPos X="3" Y="120"/> 427 <UsageCount Value="5"/> 430 428 </Unit40> 431 429 <Unit41> 432 <Filename Value="E:\Programy\Lazarus\components\synedit\synedittypes.pp"/> 433 <UnitName Value="SynEditTypes"/> 434 <WindowIndex Value="0"/> 435 <TopLine Value="56"/> 436 <CursorPos X="3" Y="69"/> 437 <UsageCount Value="9"/> 430 <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.inc"/> 431 <WindowIndex Value="0"/> 432 <TopLine Value="1"/> 433 <CursorPos X="24" Y="11"/> 434 <UsageCount Value="5"/> 438 435 </Unit41> 439 436 <Unit42> 440 <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmarkup.pp"/> 441 <UnitName Value="SynEditMarkup"/> 442 <WindowIndex Value="0"/> 443 <TopLine Value="113"/> 444 <CursorPos X="3" Y="120"/> 445 <UsageCount Value="9"/> 437 <Filename Value="Compiler\Analyze\x.sss"/> 438 <UnitName Value="Unit1"/> 439 <WindowIndex Value="0"/> 440 <TopLine Value="1"/> 441 <CursorPos X="17" Y="5"/> 442 <UsageCount Value="20"/> 443 <DefaultSyntaxHighlighter Value="None"/> 446 444 </Unit42> 447 <Unit43>448 <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.inc"/>449 <WindowIndex Value="0"/>450 <TopLine Value="1"/>451 <CursorPos X="24" Y="11"/>452 <UsageCount Value="9"/>453 </Unit43>454 445 </Units> 455 <JumpHistory Count=" 29" HistoryIndex="28">446 <JumpHistory Count="30" HistoryIndex="29"> 456 447 <Position1> 457 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>458 <Caret Line=" 24" Column="47" TopLine="14"/>448 <Filename Value="Compiler\Produce\UProducerC.pas"/> 449 <Caret Line="132" Column="15" TopLine="128"/> 459 450 </Position1> 460 451 <Position2> 461 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>462 <Caret Line=" 25" Column="57" TopLine="14"/>452 <Filename Value="Compiler\Produce\UProducerC.pas"/> 453 <Caret Line="128" Column="18" TopLine="116"/> 463 454 </Position2> 464 455 <Position3> 465 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>466 <Caret Line=" 55" Column="17" TopLine="42"/>456 <Filename Value="Compiler\Produce\UProducerC.pas"/> 457 <Caret Line="290" Column="19" TopLine="283"/> 467 458 </Position3> 468 459 <Position4> 469 460 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 470 <Caret Line=" 537" Column="44" TopLine="524"/>461 <Caret Line="634" Column="25" TopLine="621"/> 471 462 </Position4> 472 463 <Position5> 473 464 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 474 <Caret Line=" 557" Column="40" TopLine="544"/>465 <Caret Line="438" Column="30" TopLine="415"/> 475 466 </Position5> 476 467 <Position6> 477 468 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 478 <Caret Line=" 657" Column="36" TopLine="644"/>469 <Caret Line="439" Column="7" TopLine="415"/> 479 470 </Position6> 480 471 <Position7> 481 472 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 482 <Caret Line=" 722" Column="36" TopLine="709"/>473 <Caret Line="452" Column="1" TopLine="439"/> 483 474 </Position7> 484 475 <Position8> 485 476 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 486 <Caret Line=" 799" Column="54" TopLine="786"/>477 <Caret Line="428" Column="23" TopLine="416"/> 487 478 </Position8> 488 479 <Position9> 489 480 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 490 <Caret Line=" 806" Column="36" TopLine="786"/>481 <Caret Line="458" Column="9" TopLine="445"/> 491 482 </Position9> 492 483 <Position10> 493 484 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 494 <Caret Line=" 4" Column="73" TopLine="1"/>485 <Caret Line="930" Column="13" TopLine="917"/> 495 486 </Position10> 496 487 <Position11> 497 488 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 498 <Caret Line=" 78" Column="48" TopLine="65"/>489 <Caret Line="933" Column="89" TopLine="917"/> 499 490 </Position11> 500 491 <Position12> 501 492 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 502 <Caret Line=" 208" Column="27" TopLine="195"/>493 <Caret Line="459" Column="26" TopLine="445"/> 503 494 </Position12> 504 495 <Position13> 505 496 <Filename Value="Compiler\Analyze\UPascalParser.pas"/> 506 <Caret Line=" 327" Column="21" TopLine="314"/>497 <Caret Line="942" Column="25" TopLine="923"/> 507 498 </Position13> 508 499 <Position14> 509 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>510 <Caret Line="3 33" Column="19" TopLine="314"/>500 <Filename Value="Compiler\Produce\UProducerC.pas"/> 501 <Caret Line="310" Column="39" TopLine="296"/> 511 502 </Position14> 512 503 <Position15> 513 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>514 <Caret Line=" 457" Column="21" TopLine="444"/>504 <Filename Value="Compiler\Produce\UProducerC.pas"/> 505 <Caret Line="306" Column="12" TopLine="296"/> 515 506 </Position15> 516 507 <Position16> 517 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>518 <Caret Line=" 532" Column="69" TopLine="519"/>508 <Filename Value="Compiler\Produce\UProducerC.pas"/> 509 <Caret Line="329" Column="10" TopLine="308"/> 519 510 </Position16> 520 511 <Position17> 521 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>522 <Caret Line=" 537" Column="29" TopLine="519"/>512 <Filename Value="Compiler\Produce\UProducerC.pas"/> 513 <Caret Line="345" Column="16" TopLine="330"/> 523 514 </Position17> 524 515 <Position18> 525 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>526 <Caret Line=" 557" Column="25" TopLine="544"/>516 <Filename Value="Compiler\Produce\UProducerC.pas"/> 517 <Caret Line="313" Column="14" TopLine="311"/> 527 518 </Position18> 528 519 <Position19> 529 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>530 <Caret Line=" 614" Column="58" TopLine="601"/>520 <Filename Value="Compiler\Produce\UProducerC.pas"/> 521 <Caret Line="345" Column="29" TopLine="330"/> 531 522 </Position19> 532 523 <Position20> 533 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>534 <Caret Line=" 652" Column="61" TopLine="639"/>524 <Filename Value="Compiler\Produce\UProducerC.pas"/> 525 <Caret Line="346" Column="18" TopLine="330"/> 535 526 </Position20> 536 527 <Position21> 537 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>538 <Caret Line=" 657" Column="53" TopLine="639"/>528 <Filename Value="Compiler\Produce\UProducerC.pas"/> 529 <Caret Line="292" Column="18" TopLine="283"/> 539 530 </Position21> 540 531 <Position22> 541 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>542 <Caret Line=" 713" Column="21" TopLine="700"/>532 <Filename Value="Compiler\Produce\UProducerC.pas"/> 533 <Caret Line="31" Column="53" TopLine="17"/> 543 534 </Position22> 544 535 <Position23> 545 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>546 <Caret Line=" 714" Column="61" TopLine="700"/>536 <Filename Value="Compiler\Produce\UProducerC.pas"/> 537 <Caret Line="187" Column="16" TopLine="176"/> 547 538 </Position23> 548 539 <Position24> 549 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>550 <Caret Line=" 722" Column="21" TopLine="700"/>540 <Filename Value="Compiler\Produce\UProducerC.pas"/> 541 <Caret Line="31" Column="65" TopLine="17"/> 551 542 </Position24> 552 543 <Position25> 553 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>554 <Caret Line=" 799" Column="23" TopLine="786"/>544 <Filename Value="Compiler\Produce\UProducerC.pas"/> 545 <Caret Line="186" Column="11" TopLine="177"/> 555 546 </Position25> 556 547 <Position26> 557 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>558 <Caret Line=" 806" Column="21" TopLine="786"/>548 <Filename Value="Compiler\Produce\UProducerC.pas"/> 549 <Caret Line="318" Column="12" TopLine="309"/> 559 550 </Position26> 560 551 <Position27> 561 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>562 <Caret Line=" 833" Column="23" TopLine="820"/>552 <Filename Value="Compiler\Produce\UProducerC.pas"/> 553 <Caret Line="202" Column="17" TopLine="197"/> 563 554 </Position27> 564 555 <Position28> 565 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>566 <Caret Line=" 837" Column="23" TopLine="820"/>556 <Filename Value="Compiler\Produce\UProducerC.pas"/> 557 <Caret Line="208" Column="3" TopLine="206"/> 567 558 </Position28> 568 559 <Position29> 569 <Filename Value="Compiler\ Analyze\UPascalParser.pas"/>570 <Caret Line=" 949" Column="21" TopLine="936"/>560 <Filename Value="Compiler\Produce\UProducerC.pas"/> 561 <Caret Line="202" Column="44" TopLine="188"/> 571 562 </Position29> 563 <Position30> 564 <Filename Value="Compiler\Produce\UProducerC.pas"/> 565 <Caret Line="318" Column="14" TopLine="305"/> 566 </Position30> 572 567 </JumpHistory> 573 568 </ProjectOptions>
Note:
See TracChangeset
for help on using the changeset viewer.