Changeset 67
- Timestamp:
- Oct 18, 2010, 12:39:37 PM (14 years ago)
- Location:
- branches/Transpascal
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Transpascal/Compiler/Analyze/UParser.pas
r65 r67 11 11 type 12 12 TOnErrorMessage = procedure(Text: string; Position: TPoint; FileName: string) of object; 13 14 TParserState = (psNone, psIdentifier, psConstantNumber, psConstantString, 15 psOperator, psEndOfFile, psLineComment, psBlockComment1, psBlockComment2, 16 psUnknown, psWhiteSpace, psConstantStringEnd); 13 17 14 18 TTokenType = (ttNone, ttIdentifier, ttConstantNumber, ttConstantString, … … 25 29 FNextToken: string; 26 30 FNextTokenType: TTokenType; 31 FParserState: TParserState; 27 32 PreviousChar: char; 28 33 CurrentChar: char; … … 36 41 function ReadCode: string; 37 42 function NextToken: string; 43 function NextTokenType: TTokenType; 38 44 procedure Expect(Code: string); 39 45 function IsWhiteSpace(Character: char): boolean; … … 216 222 FNextToken := ''; 217 223 FNextTokenType := ttNone; 224 FParserState := psNone; 218 225 with SourceCodeText do 219 226 while True do 220 227 begin 221 if CodeStreamPosition < Length(Text) then 222 begin 228 if CodeStreamPosition < Length(Text) then begin 223 229 CurrentChar := Text[CodeStreamPosition]; 224 end 225 else 226 begin 230 end else begin 227 231 FNextToken := ''; 232 FParserState := psEndOfFile; 228 233 FNextTokenType := ttEndOfFile; 229 234 Break; 230 235 end; 231 236 232 if FNextTokenType = ttNone then 233 begin 237 if FParserState = psNone then begin 234 238 if IsWhiteSpace(CurrentChar) then 235 F NextTokenType := ttWhiteSpace239 FParserState := psWhiteSpace 236 240 else 237 if CurrentChar = '{' then 238 begin 239 FNextTokenType := ttBlockComment1; 240 end 241 else 242 if CurrentChar = '''' then 243 begin 244 FNextTokenType := ttConstantString; 245 end 246 else 247 if CurrentChar in SpecChar then 248 begin 249 FNextTokenType := ttOperator; 241 if CurrentChar = '{' then begin 242 FParserState := psBlockComment1; 243 end else 244 if CurrentChar = '''' then begin 245 FParserState := psConstantString; 246 end else 247 if CurrentChar in SpecChar then begin 248 FParserState := psOperator; 250 249 FNextToken := FNextToken + CurrentChar; 251 end 252 else 253 if IsAlphanumeric(CurrentChar) then 254 begin 255 FNextTokenType := ttIdentifier; 250 end else 251 if IsAlphanumeric(CurrentChar) then begin 252 FParserState := psIdentifier; 256 253 FNextToken := FNextToken + CurrentChar; 257 end 258 else 259 FNextTokenType := ttUnknown; 260 end 261 else 262 if FNextTokenType = ttLineComment then 263 begin 254 end else FParserState := psUnknown; 255 end else 256 if FParserState = psLineComment then begin 264 257 if (CurrentChar = #13) or (CurrentChar = #10) then 265 FNextTokenType := ttNone; 266 end 267 else 268 if FNextTokenType = ttBlockComment1 then 269 begin 258 FParserState := psNone; 259 end else 260 if FParserState = psBlockComment1 then begin 270 261 if (CurrentChar = '}') then 271 FNextTokenType := ttNone; 272 end 273 else 274 if FNextTokenType = ttBlockComment2 then 275 begin 262 FParserState := psNone; 263 end else 264 if FParserState = psBlockComment2 then begin 276 265 if (PreviousChar = '*') and (CurrentChar = ')') then 277 FNextTokenType := ttNone; 278 end 279 else 280 if FNextTokenType = ttConstantString then 281 begin 282 if (CurrentChar = '''') and (PreviousChar = '''') then 283 Break 284 else 285 FNextToken := FNextToken + CurrentChar; 286 end 287 else 288 if FNextTokenType = ttOperator then 266 FParserState := psNone; 267 end else 268 if FParserState = psConstantString then 269 begin 270 if (CurrentChar = '''') then begin 271 FParserState := psConstantStringEnd; 272 end else FNextToken := FNextToken + CurrentChar; 273 end else 274 if FParserState = psConstantStringEnd then 275 begin 276 if (CurrentChar = '''') then begin 277 FParserState := psConstantString; 278 end else FParserState := psNone; 279 FNextTokenType := ttConstantString; 280 Break; 281 end else 282 if FParserState = psOperator then 289 283 begin 290 284 if (CurrentChar = '*') and (PreviousChar = '(') then 291 285 begin 292 286 FNextToken := ''; 293 FNextTokenType := ttBlockComment2; 294 end 295 else 287 FParserState := psBlockComment2; 288 end else 296 289 if (CurrentChar = '/') and (PreviousChar = '/') then 297 290 begin 298 291 FNextToken := ''; 299 FNextTokenType := ttLineComment; 292 FParserState := psLineComment; 293 end else 294 if not (CurrentChar in SpecChar) then begin 295 FNextTokenType := ttOperator; 296 Break; 300 297 end 301 else 302 if not (CurrentChar in SpecChar) then 303 Break 304 else 305 begin 298 else begin 306 299 J := 0; 307 300 while (J < Length(DoubleSpecChar)) and … … 310 303 if J < Length(DoubleSpecChar) then 311 304 FNextToken := FNextToken + CurrentChar 312 else 305 else begin 306 FNextTokenType := ttOperator; 313 307 Break; 314 end; 308 end; 309 end; 310 end else 311 if FParserState = psIdentifier then 312 begin 313 if not IsAlphanumeric(CurrentChar) then begin 314 FNextTokenType := ttIdentifier; 315 Break; 316 end else FNextToken := FNextToken + CurrentChar; 315 317 end 316 318 else 317 if FNextTokenType = ttIdentifier then 318 begin 319 if not IsAlphanumeric(CurrentChar) then 320 Break 321 else 322 FNextToken := FNextToken + CurrentChar; 323 end 324 else if FNextTokenType = ttWhiteSpace then 325 FNextTokenType := ttNone; 326 327 if FNextTokenType <> ttNone then 328 begin 319 if FParserState = psWhiteSpace then begin 320 FParserState := psNone; 321 end; 322 323 if FParserState <> psNone then begin 329 324 // Update cursor position 330 325 Inc(CodePosition.X); 331 if (CurrentChar = #13) then 332 begin 326 if (CurrentChar = #13) then begin 333 327 CodePosition.X := 1; 334 328 Inc(CodePosition.Y); … … 351 345 begin 352 346 Result := FNextToken; 347 end; 348 349 function TBaseParser.NextTokenType: TTokenType; 350 begin 351 Result := FNextTokenType; 353 352 end; 354 353 … … 397 396 var 398 397 Identifier: string; 398 IdentifierType: TTokenType; 399 399 NewVariable: TVariable; 400 400 NewExpression: TExpression; … … 409 409 Expressions.Add(TExpression.Create); 410 410 with SourceCode do begin 411 while (( FNextToken <> ';') and (FNextToken <> ',') and412 (not IsKeyWord(FNextToken))) and not413 (((FNextToken = ')') or (FNextToken = ']'))) do begin411 while ((NextToken <> ';') and (NextToken <> ',') and (not IsKeyWord(NextToken))) and not 412 (((NextToken = ')') or (NextToken = ']'))) and not (NextTokenType = ttEndOfFile) do begin 413 IdentifierType := NextTokenType; 414 414 Identifier := ReadCode; 415 415 if Identifier = '(' then begin … … 506 506 TExpression(SubItems[1]).NodeType := ntConstant; 507 507 508 if Identifier [1] = ''''then begin508 if IdentifierType = ttConstantString then begin 509 509 TExpression(SubItems[1]).Value := Identifier; 510 510 //SetLength(TExpression(SubItems[1]).Value, Length(Identifier)); … … 512 512 // TExpression(SubItems[1]).Value[I - 1] := Byte(Identifier[I]); 513 513 end else begin 514 TExpression(SubItems[1]).Value := Identifier;514 TExpression(SubItems[1]).Value := StrToInt(Identifier); 515 515 end; 516 516 end; -
branches/Transpascal/Compiler/Produce/UProducerC.pas
r60 r67 10 10 11 11 type 12 13 TProducerCDialect = (pdGCC, pdDynamicC); 12 14 13 15 { TProducerC } … … 35 37 function GenerateExpression(Expression: TExpression): string; 36 38 public 39 Dialect: TProducerCDialect; 37 40 TextSource: TStringList; 38 41 IndentationLength: Integer; … … 53 56 FileExtension := '.c'; 54 57 IndentationLength := 2; 58 Dialect := pdDynamicC; 55 59 end; 56 60 … … 104 108 begin 105 109 for I := 0 to UsedModules.Count - 1 do 106 Emit('#include "' + TUsedModule(UsedModules[I]).Name + '.h"'); 110 if Dialect = pdDynamicC then 111 Emit('#use "' + TUsedModule(UsedModules[I]).Name + '.lib"') 112 else Emit('#include "' + TUsedModule(UsedModules[I]).Name + '.h"'); 107 113 Emit(''); 108 114 end; … … 110 116 procedure TProducerC.GenerateModule(Module: TModule); 111 117 begin 112 Emit('#define int8 char'); 113 Emit('#define int16 int'); 114 Emit('#define int32 long'); 115 Emit('#define uint8 unsigned char'); 116 Emit('#define uint16 unsigned int'); 117 Emit('#define uint32 unsigned long'); 118 if Dialect = pdDynamicC then Emit('#use "platform.lib"') 119 else Emit('#include "platform.h"'); 118 120 Emit(''); 119 121 if Module is TModuleProgram then begin 122 TModuleProgram(Module).Body.Name := 'main'; 120 123 GenerateUses(TModuleProgram(Module).UsedModules); 121 124 GenerateCommonBlock(TModuleProgram(Module).Body, ''); … … 253 256 begin 254 257 case Expression.NodeType of 255 ntConstant: Result := Expression.Value; 258 ntConstant: begin 259 if VarType(Expression.Value) = varString then 260 Result := '"' + Expression.Value + '"' 261 else Result := Expression.Value; 262 end; 256 263 ntVariable: Result := Expression.Variable.Name; 257 264 ntFunction: Result := Expression.Method.Name; -
branches/Transpascal/Compiler/UCompiler.pas
r64 r67 45 45 destructor Destroy; override; 46 46 procedure Init; 47 procedure Compile(ModuleName: string; Source: TStringList );47 procedure Compile(ModuleName: string; Source: TStringList; TargetFolder: string); 48 48 property OnErrorMessage: TOnErrorMessage read FOnErrorMessage 49 49 write FOnErrorMessage; … … 54 54 { TCompiler } 55 55 56 procedure TCompiler.Compile(ModuleName: string; Source: TStringList); 56 procedure TCompiler.Compile(ModuleName: string; Source: TStringList; 57 TargetFolder: string); 57 58 var 58 59 NewModule: TModule; … … 70 71 Producer.Produce(TModule(ProgramCode.Modules[I])); 71 72 Producer.AssignToStringList(ProducedCode); 72 ForceDirectories(CompiledFolder + DirectorySeparator + Producer.ClassName); 73 ProducedCode.SaveToFile(CompiledFolder + DirectorySeparator + Producer.ClassName + 73 ForceDirectories(TargetFolder + DirectorySeparator + 74 CompiledFolder + DirectorySeparator + Producer.ClassName); 75 ProducedCode.SaveToFile(TargetFolder + DirectorySeparator + 76 CompiledFolder + DirectorySeparator + Producer.ClassName + 74 77 DirectorySeparator + TModule(ProgramCode.Modules[I]).Name + Producer.FileExtension); 75 78 end; -
branches/Transpascal/Forms/UMainForm.pas
r66 r67 108 108 if Project.Items.Count > 0 then 109 109 with TProjectFile(Project.Items[0]) do begin 110 Compiler.Compile(Parent.GetDir + Name, Source );110 Compiler.Compile(Parent.GetDir + Name, Source, Project.RootDir); 111 111 end; 112 112 -
branches/Transpascal/Forms/UMessagesForm.pas
r64 r67 43 43 if ListBoxMessages.ItemIndex <> -1 then 44 44 with TErrorMessage(Compiler.ErrorMessages[ListBoxMessages.ItemIndex]) do begin 45 ProjectFile := Project.SearchFile( fileName);45 ProjectFile := Project.SearchFile(FileName); 46 46 if Assigned(ProjectFile) then 47 47 SynEditSource.Lines.Assign(ProjectFile.Source); 48 48 SynEditSource.CaretXY := Position; 49 TForm(SynEditSource.Owner).Show; 49 50 SynEditSource.SetFocus; 50 51 end; -
branches/Transpascal/Transpascal.lpi
r66 r67 46 46 </Item4> 47 47 </RequiredPackages> 48 <Units Count="3 7">48 <Units Count="39"> 49 49 <Unit0> 50 50 <Filename Value="Transpascal.lpr"/> 51 51 <IsPartOfProject Value="True"/> 52 52 <UnitName Value="Transpascal"/> 53 <EditorIndex Value="1 4"/>53 <EditorIndex Value="16"/> 54 54 <WindowIndex Value="0"/> 55 55 <TopLine Value="4"/> 56 <CursorPos X=" 45" Y="18"/>57 <UsageCount Value="17 3"/>56 <CursorPos X="22" Y="22"/> 57 <UsageCount Value="177"/> 58 58 <Loaded Value="True"/> 59 59 <DefaultSyntaxHighlighter Value="Delphi"/> … … 67 67 <UnitName Value="UMainForm"/> 68 68 <IsVisibleTab Value="True"/> 69 <EditorIndex Value="1 0"/>70 <WindowIndex Value="0"/> 71 <TopLine Value=" 1"/>72 <CursorPos X=" 77" Y="12"/>73 <UsageCount Value="17 3"/>69 <EditorIndex Value="12"/> 70 <WindowIndex Value="0"/> 71 <TopLine Value="96"/> 72 <CursorPos X="29" Y="110"/> 73 <UsageCount Value="177"/> 74 74 <Loaded Value="True"/> 75 75 <LoadedDesigner Value="True"/> … … 83 83 <TopLine Value="1"/> 84 84 <CursorPos X="1" Y="6"/> 85 <UsageCount Value="17 3"/>85 <UsageCount Value="177"/> 86 86 <DefaultSyntaxHighlighter Value="Delphi"/> 87 87 </Unit2> … … 92 92 <TopLine Value="745"/> 93 93 <CursorPos X="46" Y="759"/> 94 <UsageCount Value="16 4"/>94 <UsageCount Value="163"/> 95 95 <DefaultSyntaxHighlighter Value="Delphi"/> 96 96 </Unit3> … … 101 101 <TopLine Value="1"/> 102 102 <CursorPos X="40" Y="11"/> 103 <UsageCount Value="16 4"/>103 <UsageCount Value="163"/> 104 104 <DefaultSyntaxHighlighter Value="Delphi"/> 105 105 </Unit4> … … 110 110 <TopLine Value="187"/> 111 111 <CursorPos X="34" Y="201"/> 112 <UsageCount Value="16 4"/>112 <UsageCount Value="163"/> 113 113 </Unit5> 114 114 <Unit6> … … 118 118 <TopLine Value="1"/> 119 119 <CursorPos X="1" Y="14"/> 120 <UsageCount Value="16 4"/>120 <UsageCount Value="163"/> 121 121 </Unit6> 122 122 <Unit7> … … 126 126 <TopLine Value="124"/> 127 127 <CursorPos X="42" Y="136"/> 128 <UsageCount Value="16 4"/>128 <UsageCount Value="163"/> 129 129 </Unit7> 130 130 <Unit8> … … 134 134 <TopLine Value="442"/> 135 135 <CursorPos X="47" Y="455"/> 136 <UsageCount Value="16 4"/>136 <UsageCount Value="163"/> 137 137 </Unit8> 138 138 <Unit9> … … 142 142 <TopLine Value="78"/> 143 143 <CursorPos X="27" Y="86"/> 144 <UsageCount Value="5 6"/>144 <UsageCount Value="55"/> 145 145 </Unit9> 146 146 <Unit10> … … 150 150 <TopLine Value="936"/> 151 151 <CursorPos X="35" Y="948"/> 152 <UsageCount Value="1 4"/>152 <UsageCount Value="13"/> 153 153 </Unit10> 154 154 <Unit11> … … 157 157 <TopLine Value="61"/> 158 158 <CursorPos X="7" Y="68"/> 159 <UsageCount Value="6 6"/>159 <UsageCount Value="65"/> 160 160 </Unit11> 161 161 <Unit12> … … 164 164 <TopLine Value="139"/> 165 165 <CursorPos X="16" Y="146"/> 166 <UsageCount Value="6 6"/>166 <UsageCount Value="65"/> 167 167 </Unit12> 168 168 <Unit13> … … 171 171 <TopLine Value="934"/> 172 172 <CursorPos X="10" Y="947"/> 173 <UsageCount Value=" 4"/>173 <UsageCount Value="3"/> 174 174 </Unit13> 175 175 <Unit14> … … 178 178 <TopLine Value="153"/> 179 179 <CursorPos X="8" Y="166"/> 180 <UsageCount Value=" 9"/>180 <UsageCount Value="8"/> 181 181 </Unit14> 182 182 <Unit15> … … 186 186 <TopLine Value="69"/> 187 187 <CursorPos X="1" Y="82"/> 188 <UsageCount Value="12 6"/>188 <UsageCount Value="125"/> 189 189 </Unit15> 190 190 <Unit16> … … 194 194 <TopLine Value="2159"/> 195 195 <CursorPos X="14" Y="2178"/> 196 <UsageCount Value="1 2"/>196 <UsageCount Value="11"/> 197 197 </Unit16> 198 198 <Unit17> … … 201 201 <TopLine Value="559"/> 202 202 <CursorPos X="57" Y="571"/> 203 <UsageCount Value=" 9"/>203 <UsageCount Value="8"/> 204 204 </Unit17> 205 205 <Unit18> … … 209 209 <TopLine Value="320"/> 210 210 <CursorPos X="1" Y="327"/> 211 <UsageCount Value=" 80"/>211 <UsageCount Value="79"/> 212 212 </Unit18> 213 213 <Unit19> … … 215 215 <IsPartOfProject Value="True"/> 216 216 <UnitName Value="UProject"/> 217 <EditorIndex Value=" 6"/>218 <WindowIndex Value="0"/> 219 <TopLine Value="2 12"/>220 <CursorPos X="1" Y="2 25"/>221 <UsageCount Value="4 5"/>217 <EditorIndex Value="8"/> 218 <WindowIndex Value="0"/> 219 <TopLine Value="227"/> 220 <CursorPos X="1" Y="241"/> 221 <UsageCount Value="49"/> 222 222 <Loaded Value="True"/> 223 223 <DefaultSyntaxHighlighter Value="Delphi"/> … … 228 228 <TopLine Value="17"/> 229 229 <CursorPos X="11" Y="30"/> 230 <UsageCount Value="1 9"/>230 <UsageCount Value="18"/> 231 231 </Unit20> 232 232 <Unit21> … … 237 237 <TopLine Value="1"/> 238 238 <CursorPos X="33" Y="1"/> 239 <UsageCount Value="1 5"/>239 <UsageCount Value="17"/> 240 240 <Loaded Value="True"/> 241 241 </Unit21> … … 245 245 <EditorIndex Value="3"/> 246 246 <WindowIndex Value="0"/> 247 <TopLine Value=" 81"/>248 <CursorPos X=" 20" Y="82"/>249 <UsageCount Value="1 3"/>247 <TopLine Value="34"/> 248 <CursorPos X="62" Y="47"/> 249 <UsageCount Value="15"/> 250 250 <Loaded Value="True"/> 251 251 </Unit22> … … 253 253 <Filename Value="Compiler\USourceCode.pas"/> 254 254 <UnitName Value="USourceCode"/> 255 <EditorIndex Value=" 7"/>256 <WindowIndex Value="0"/> 257 <TopLine Value=" 173"/>258 <CursorPos X=" 4" Y="192"/>259 <UsageCount Value="1 2"/>255 <EditorIndex Value="9"/> 256 <WindowIndex Value="0"/> 257 <TopLine Value="69"/> 258 <CursorPos X="72" Y="16"/> 259 <UsageCount Value="14"/> 260 260 <Loaded Value="True"/> 261 261 </Unit23> … … 265 265 <EditorIndex Value="5"/> 266 266 <WindowIndex Value="0"/> 267 <TopLine Value="4 95"/>268 <CursorPos X=" 43" Y="512"/>269 <UsageCount Value="1 3"/>267 <TopLine Value="422"/> 268 <CursorPos X="34" Y="435"/> 269 <UsageCount Value="15"/> 270 270 <Loaded Value="True"/> 271 271 </Unit24> … … 276 276 <TopLine Value="1"/> 277 277 <CursorPos X="15" Y="4"/> 278 <UsageCount Value=" 10"/>278 <UsageCount Value="9"/> 279 279 </Unit25> 280 280 <Unit26> … … 288 288 <TopLine Value="71"/> 289 289 <CursorPos X="20" Y="76"/> 290 <UsageCount Value=" 29"/>290 <UsageCount Value="33"/> 291 291 <Loaded Value="True"/> 292 292 <LoadedDesigner Value="True"/> … … 303 303 <TopLine Value="7"/> 304 304 <CursorPos X="32" Y="16"/> 305 <UsageCount Value=" 29"/>305 <UsageCount Value="33"/> 306 306 <Loaded Value="True"/> 307 307 <LoadedDesigner Value="True"/> … … 314 314 <ResourceBaseClass Value="Form"/> 315 315 <UnitName Value="UMessagesForm"/> 316 <EditorIndex Value="1 2"/>317 <WindowIndex Value="0"/> 318 <TopLine Value=" 1"/>319 <CursorPos X=" 36" Y="9"/>320 <UsageCount Value=" 29"/>316 <EditorIndex Value="14"/> 317 <WindowIndex Value="0"/> 318 <TopLine Value="28"/> 319 <CursorPos X="23" Y="46"/> 320 <UsageCount Value="33"/> 321 321 <Loaded Value="True"/> 322 322 <LoadedDesigner Value="True"/> … … 330 330 <ResourceBaseClass Value="Form"/> 331 331 <UnitName Value="UCompiledForm"/> 332 <EditorIndex Value=" 8"/>332 <EditorIndex Value="10"/> 333 333 <WindowIndex Value="0"/> 334 334 <TopLine Value="5"/> 335 335 <CursorPos X="28" Y="21"/> 336 <UsageCount Value=" 28"/>336 <UsageCount Value="32"/> 337 337 <Loaded Value="True"/> 338 338 <LoadedDesigner Value="True"/> … … 345 345 <ResourceBaseClass Value="Form"/> 346 346 <UnitName Value="UCodeTreeForm"/> 347 <EditorIndex Value="1 3"/>347 <EditorIndex Value="15"/> 348 348 <WindowIndex Value="0"/> 349 349 <TopLine Value="1"/> 350 350 <CursorPos X="1" Y="1"/> 351 <UsageCount Value=" 28"/>351 <UsageCount Value="32"/> 352 352 <Loaded Value="True"/> 353 353 <LoadedDesigner Value="True"/> … … 361 361 <TopLine Value="350"/> 362 362 <CursorPos X="3" Y="355"/> 363 <UsageCount Value="1 3"/>363 <UsageCount Value="15"/> 364 364 <Loaded Value="True"/> 365 365 </Unit31> … … 367 367 <Filename Value="E:\Programy\Lazarus\components\synedit\synhighlightermulti.pas"/> 368 368 <UnitName Value="SynHighlighterMulti"/> 369 <EditorIndex Value=" 9"/>369 <EditorIndex Value="11"/> 370 370 <WindowIndex Value="0"/> 371 371 <TopLine Value="316"/> 372 372 <CursorPos X="14" Y="329"/> 373 <UsageCount Value="1 3"/>373 <UsageCount Value="15"/> 374 374 <Loaded Value="True"/> 375 375 </Unit32> 376 376 <Unit33> 377 377 <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/> 378 <EditorIndex Value="1 1"/>378 <EditorIndex Value="13"/> 379 379 <WindowIndex Value="0"/> 380 380 <TopLine Value="1756"/> 381 <CursorPos X=" 35" Y="1768"/>382 <UsageCount Value="1 0"/>381 <CursorPos X="25" Y="1769"/> 382 <UsageCount Value="12"/> 383 383 <Loaded Value="True"/> 384 384 </Unit33> … … 387 387 <IsPartOfProject Value="True"/> 388 388 <UnitName Value="URegistry"/> 389 <UsageCount Value="2 1"/>389 <UsageCount Value="24"/> 390 390 </Unit34> 391 391 <Unit35> … … 393 393 <IsPartOfProject Value="True"/> 394 394 <UnitName Value="ULastOpenedList"/> 395 <UsageCount Value="2 1"/>395 <UsageCount Value="24"/> 396 396 <DefaultSyntaxHighlighter Value="Delphi"/> 397 397 </Unit35> … … 400 400 <IsPartOfProject Value="True"/> 401 401 <UnitName Value="UApplicationInfo"/> 402 <UsageCount Value="2 0"/>402 <UsageCount Value="23"/> 403 403 <DefaultSyntaxHighlighter Value="Delphi"/> 404 404 </Unit36> 405 <Unit37> 406 <Filename Value="Compiler\Produce\UProducerC.pas"/> 407 <UnitName Value="UProducerC"/> 408 <EditorIndex Value="6"/> 409 <WindowIndex Value="0"/> 410 <TopLine Value="102"/> 411 <CursorPos X="42" Y="120"/> 412 <UsageCount Value="11"/> 413 <Loaded Value="True"/> 414 </Unit37> 415 <Unit38> 416 <Filename Value="Compiler\Produce\UProducerAsm8051.pas"/> 417 <UnitName Value="UProducerAsm8051"/> 418 <EditorIndex Value="7"/> 419 <WindowIndex Value="0"/> 420 <TopLine Value="1"/> 421 <CursorPos X="1" Y="1"/> 422 <UsageCount Value="11"/> 423 <Loaded Value="True"/> 424 </Unit38> 405 425 </Units> 406 426 <JumpHistory Count="30" HistoryIndex="29"> 407 427 <Position1> 408 <Filename Value=" UProject.pas"/>409 <Caret Line=" 163" Column="3" TopLine="160"/>428 <Filename Value="Compiler\UCompiler.pas"/> 429 <Caret Line="64" Column="1" TopLine="54"/> 410 430 </Position1> 411 431 <Position2> 412 <Filename Value=" UProject.pas"/>413 <Caret Line=" 140" Column="1" TopLine="136"/>432 <Filename Value="Compiler\UCompiler.pas"/> 433 <Caret Line="65" Column="1" TopLine="54"/> 414 434 </Position2> 415 435 <Position3> 416 <Filename Value=" UProject.pas"/>417 <Caret Line=" 225" Column="1" TopLine="212"/>436 <Filename Value="Compiler\UCompiler.pas"/> 437 <Caret Line="66" Column="1" TopLine="54"/> 418 438 </Position3> 419 439 <Position4> 420 <Filename Value=" UProject.pas"/>421 <Caret Line=" 138" Column="1" TopLine="125"/>440 <Filename Value="Compiler\UCompiler.pas"/> 441 <Caret Line="67" Column="1" TopLine="54"/> 422 442 </Position4> 423 443 <Position5> 424 <Filename Value=" UProject.pas"/>425 <Caret Line=" 139" Column="1" TopLine="125"/>444 <Filename Value="Compiler\UCompiler.pas"/> 445 <Caret Line="68" Column="1" TopLine="54"/> 426 446 </Position5> 427 447 <Position6> 428 <Filename Value=" UProject.pas"/>429 <Caret Line=" 143" Column="1" TopLine="125"/>448 <Filename Value="Compiler\UCompiler.pas"/> 449 <Caret Line="69" Column="1" TopLine="54"/> 430 450 </Position6> 431 451 <Position7> 432 <Filename Value=" UProject.pas"/>433 <Caret Line=" 144" Column="1" TopLine="125"/>452 <Filename Value="Compiler\UCompiler.pas"/> 453 <Caret Line="70" Column="1" TopLine="54"/> 434 454 </Position7> 435 455 <Position8> 436 <Filename Value=" Forms\UMainForm.pas"/>437 <Caret Line=" 192" Column="47" TopLine="186"/>456 <Filename Value="Compiler\UCompiler.pas"/> 457 <Caret Line="71" Column="1" TopLine="54"/> 438 458 </Position8> 439 459 <Position9> 440 <Filename Value=" Forms\UMainForm.pas"/>441 <Caret Line=" 193" Column="35" TopLine="186"/>460 <Filename Value="Compiler\UCompiler.pas"/> 461 <Caret Line="72" Column="1" TopLine="54"/> 442 462 </Position9> 443 463 <Position10> 444 <Filename Value=" Forms\UMainForm.pas"/>445 <Caret Line=" 56" Column="30" TopLine="39"/>464 <Filename Value="Compiler\UCompiler.pas"/> 465 <Caret Line="74" Column="34" TopLine="54"/> 446 466 </Position10> 447 467 <Position11> 448 <Filename Value=" Forms\UMainForm.pas"/>449 <Caret Line=" 15" Column="40" TopLine="1"/>468 <Filename Value="Compiler\UCompiler.pas"/> 469 <Caret Line="70" Column="1" TopLine="54"/> 450 470 </Position11> 451 471 <Position12> 452 <Filename Value=" Forms\UMainForm.pas"/>453 <Caret Line=" 9" Column="60" TopLine="1"/>472 <Filename Value="Compiler\UCompiler.pas"/> 473 <Caret Line="71" Column="1" TopLine="54"/> 454 474 </Position12> 455 475 <Position13> 456 <Filename Value=" Forms\UMainForm.pas"/>457 <Caret Line=" 56" Column="20" TopLine="47"/>476 <Filename Value="Compiler\Produce\UProducerC.pas"/> 477 <Caret Line="115" Column="24" TopLine="14"/> 458 478 </Position13> 459 479 <Position14> 460 480 <Filename Value="Forms\UMainForm.pas"/> 461 <Caret Line="1 5" Column="31" TopLine="1"/>481 <Caret Line="110" Column="19" TopLine="96"/> 462 482 </Position14> 463 483 <Position15> 464 <Filename Value=" Forms\UMainForm.pas"/>465 <Caret Line=" 201" Column="17" TopLine="188"/>484 <Filename Value="Compiler\UCompiler.pas"/> 485 <Caret Line="73" Column="23" TopLine="56"/> 466 486 </Position15> 467 487 <Position16> 468 <Filename Value=" Forms\UMainForm.pas"/>469 <Caret Line=" 15" Column="3" TopLine="1"/>488 <Filename Value="Compiler\UCompiler.pas"/> 489 <Caret Line="56" Column="26" TopLine="56"/> 470 490 </Position16> 471 491 <Position17> 472 <Filename Value=" Forms\UMainForm.pas"/>473 <Caret Line=" 184" Column="44" TopLine="171"/>492 <Filename Value="Compiler\UCompiler.pas"/> 493 <Caret Line="47" Column="62" TopLine="34"/> 474 494 </Position17> 475 495 <Position18> 476 <Filename Value=" Forms\UMainForm.pas"/>477 <Caret Line="1 91" Column="26" TopLine="178"/>496 <Filename Value="Compiler\Produce\UProducerC.pas"/> 497 <Caret Line="116" Column="32" TopLine="99"/> 478 498 </Position18> 479 499 <Position19> 480 <Filename Value=" Forms\UMainForm.pas"/>481 <Caret Line="1 98" Column="32" TopLine="184"/>500 <Filename Value="Compiler\Produce\UProducerC.pas"/> 501 <Caret Line="111" Column="64" TopLine="99"/> 482 502 </Position19> 483 503 <Position20> 484 <Filename Value=" Forms\UMainForm.pas"/>485 <Caret Line="1 90" Column="17" TopLine="180"/>504 <Filename Value="Compiler\Produce\UProducerC.pas"/> 505 <Caret Line="127" Column="23" TopLine="108"/> 486 506 </Position20> 487 507 <Position21> 488 <Filename Value=" Forms\UMainForm.pas"/>489 <Caret Line=" 60" Column="47" TopLine="42"/>508 <Filename Value="Compiler\Produce\UProducerC.pas"/> 509 <Caret Line="120" Column="42" TopLine="102"/> 490 510 </Position21> 491 511 <Position22> 492 <Filename Value=" Forms\UMainForm.pas"/>493 <Caret Line=" 65" Column="45" TopLine="47"/>512 <Filename Value="Compiler\Analyze\UParser.pas"/> 513 <Caret Line="434" Column="28" TopLine="422"/> 494 514 </Position22> 495 515 <Position23> 496 <Filename Value=" Forms\UMainForm.pas"/>497 <Caret Line=" 255" Column="12" TopLine="246"/>516 <Filename Value="Compiler\Analyze\UParser.pas"/> 517 <Caret Line="435" Column="34" TopLine="422"/> 498 518 </Position23> 499 519 <Position24> 500 <Filename Value="Forms\UM ainForm.pas"/>501 <Caret Line=" 223" Column="38" TopLine="217"/>520 <Filename Value="Forms\UMessagesForm.pas"/> 521 <Caret Line="45" Column="1" TopLine="28"/> 502 522 </Position24> 503 523 <Position25> 504 <Filename Value="Forms\UM ainForm.pas"/>505 <Caret Line=" 246" Column="45" TopLine="233"/>524 <Filename Value="Forms\UMessagesForm.pas"/> 525 <Caret Line="46" Column="1" TopLine="28"/> 506 526 </Position25> 507 527 <Position26> 508 <Filename Value="Forms\UM ainForm.pas"/>509 <Caret Line=" 245" Column="44" TopLine="233"/>528 <Filename Value="Forms\UMessagesForm.pas"/> 529 <Caret Line="48" Column="1" TopLine="28"/> 510 530 </Position26> 511 531 <Position27> 512 <Filename Value="Forms\UM ainForm.pas"/>513 <Caret Line=" 63" Column="40" TopLine="45"/>532 <Filename Value="Forms\UMessagesForm.pas"/> 533 <Caret Line="49" Column="1" TopLine="28"/> 514 534 </Position27> 515 535 <Position28> 516 <Filename Value=" Forms\UMainForm.pas"/>517 <Caret Line=" 247" Column="1" TopLine="233"/>536 <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/> 537 <Caret Line="1769" Column="1" TopLine="1756"/> 518 538 </Position28> 519 539 <Position29> 520 <Filename Value="Forms\UM ainForm.pas"/>521 <Caret Line=" 230" Column="39" TopLine="213"/>540 <Filename Value="Forms\UMessagesForm.pas"/> 541 <Caret Line="46" Column="23" TopLine="28"/> 522 542 </Position29> 523 543 <Position30> 524 <Filename Value=" Compiler\Analyze\UParser.pas"/>525 <Caret Line=" 507" Column="31" TopLine="495"/>544 <Filename Value="Transpascal.lpr"/> 545 <Caret Line="22" Column="22" TopLine="4"/> 526 546 </Position30> 527 547 </JumpHistory>
Note:
See TracChangeset
for help on using the changeset viewer.