- Timestamp:
- Feb 18, 2012, 11:08:44 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 3 deleted
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UInterpretterForm.lfm
r30 r33 229 229 end 230 230 object ToolButton4: TToolButton 231 Left = 70231 Left = 139 232 232 Top = 2 233 233 Action = MainForm.AProgramRunToCursor … … 244 244 end 245 245 object ToolButton7: TToolButton 246 Left = 139247 Top = 2 248 Action = MainForm.AProgramSt opOver246 Left = 70 247 Top = 2 248 Action = MainForm.AProgramStepOver 249 249 end 250 250 end -
trunk/Forms/UMainForm.lfm
r32 r33 14 14 LCLVersion = '0.9.31' 15 15 WindowState = wsMaximized 16 object MemoSource: TMemo17 Left = 018 Height = 36319 Top = 5620 Width = 64321 Align = alClient22 Font.Height = -1223 Font.Name = 'Courier New'24 OnChange = MemoSourceChange25 OnKeyDown = MemoSourceKeyDown26 OnKeyPress = MemoSourceKeyPress27 OnKeyUp = MemoSourceKeyUp28 OnMouseDown = MemoSourceMouseDown29 ParentFont = False30 PopupMenu = PopupMenuSource31 ScrollBars = ssAutoBoth32 TabOrder = 033 end34 16 object StatusBar1: TStatusBar 35 17 Left = 0 … … 57 39 ParentShowHint = False 58 40 ShowHint = True 59 TabOrder = 241 TabOrder = 1 60 42 object ToolButton1: TToolButton 61 43 Left = 1 … … 117 99 Left = 241 118 100 Top = 2 119 Caption = 'ToolButton12'101 Action = AProgramStepOver 120 102 end 121 103 object ToolButton13: TToolButton 122 104 Left = 264 123 105 Top = 2 124 Caption = 'ToolButton13'106 Action = AProgramStepInto 125 107 end 126 108 object ToolButton14: TToolButton 127 109 Left = 287 128 110 Top = 2 129 Caption = 'ToolButton14'111 Action = AProgramStepOut 130 112 end 131 113 object ToolButton15: TToolButton 132 114 Left = 310 133 115 Top = 2 134 Caption = 'ToolButton15'116 Action = AProgramRunToCursor 135 117 end 136 118 end 137 object TabControl1: TTabControl119 object PageControl1: TPageControl 138 120 Left = 0 139 Height = 3 0121 Height = 393 140 122 Top = 26 141 123 Width = 643 142 Align = alTop 143 TabOrder = 3 144 Visible = False 124 ActivePage = TabSheetTarget 125 Align = alClient 126 ParentFont = False 127 TabIndex = 1 128 TabOrder = 2 129 object TabSheetSource: TTabSheet 130 Caption = 'Source code' 131 ClientHeight = 366 132 ClientWidth = 641 133 object MemoSource: TMemo 134 Left = 0 135 Height = 366 136 Top = 0 137 Width = 641 138 Align = alClient 139 Font.Height = -12 140 Font.Name = 'Courier New' 141 OnChange = MemoSourceChange 142 OnKeyDown = MemoSourceKeyDown 143 OnKeyPress = MemoSourceKeyPress 144 OnKeyUp = MemoSourceKeyUp 145 OnMouseDown = MemoSourceMouseDown 146 ParentFont = False 147 PopupMenu = PopupMenuSource 148 ScrollBars = ssAutoBoth 149 TabOrder = 0 150 end 151 end 152 object TabSheetTarget: TTabSheet 153 Caption = 'Target code' 154 ClientHeight = 366 155 ClientWidth = 641 156 object MemoTarget: TMemo 157 Left = 0 158 Height = 366 159 Top = 0 160 Width = 641 161 Align = alClient 162 PopupMenu = PopupMenuTarget 163 ReadOnly = True 164 ScrollBars = ssAutoBoth 165 TabOrder = 0 166 end 167 end 145 168 end 146 169 object MainMenu1: TMainMenu … … 666 689 Action = AViewInterpretter 667 690 end 668 object MenuItem20: TMenuItem669 Action = AViewCompiled670 end671 691 end 672 692 object MenuItem10: TMenuItem … … 804 824 OnExecute = AViewInterpretterExecute 805 825 end 806 object AViewCompiled: TAction807 Category = 'View'808 Caption = 'Compiled'809 OnExecute = AViewCompiledExecute810 end811 826 object AProgramStepInto: TAction 812 827 Category = 'Program' 813 828 Caption = 'Step into' 829 ImageIndex = 15 814 830 ShortCut = 118 815 831 end … … 817 833 Category = 'Program' 818 834 Caption = 'Step over' 835 ImageIndex = 17 819 836 ShortCut = 119 820 837 end … … 822 839 Category = 'Program' 823 840 Caption = 'Run to cursor' 841 ImageIndex = 14 824 842 ShortCut = 115 825 843 end … … 827 845 Category = 'Program' 828 846 Caption = 'Step out' 847 ImageIndex = 16 829 848 ShortCut = 8311 830 849 end … … 861 880 OnExecute = AViewCompilersExecute 862 881 end 882 object AShowTargetPosition: TAction 883 Caption = 'Show position in target' 884 OnExecute = AShowTargetPositionExecute 885 end 886 object AShowSourcePosition: TAction 887 Caption = 'Show position in source' 888 OnExecute = AShowSourcePositionExecute 889 end 863 890 end 864 891 object ImageList1: TImageList … … 866 893 top = 96 867 894 Bitmap = { 868 4C69 0E0000001000000010000000000000000000000000000000000000000000895 4C69120000001000000010000000000000000000000000000000000000000000 869 896 0000000000000000000000000000000000000000000000000000000000000000 870 897 000000000000000000000000000000000000000000FF000000FF000000FF0000 … … 1314 1341 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1315 1342 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1343 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1344 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1345 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1346 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7D74CCCCCCCA0CCCCCCA0CCCC 1347 CCA0CCCCCCA0CCCCCCA0D7D7D74CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1348 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA0000000FF000000FF0000 1349 00FF000000FF000000FFCCCCCCA0FFFFFF000000000800000006FFFFFF00FFFF 1350 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7D74CCCCCCCA0BEBEBED50000 1351 00FFBEBEBED5CCCCCCA0D7D7D74CFFFFFF0000000028004000DB002E00790000 1352 0006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA00000 1353 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF007C00FF0051 1354 00D30031007800000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA00000 1355 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF008000FF0080 1356 00FF007D00FF005200D30031007700000006FFFFFF00FFFFFF00CCCCCCA00000 1357 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF008000FF0080 1358 00FF008000FF008000FF007D00FF005300D20031007700000006CCCCCCA00000 1359 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF008000FF0080 1360 00FF008000FF008000FF007D00FF005300D20031007700000006CCCCCCA00000 1361 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF008000FF0080 1362 00FF007D00FF005200D30031007700000006FFFFFF00FFFFFF00CCCCCCA00000 1363 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028006C00FF007C00FF0051 1364 00D30031007800000006FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA00000 1365 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF0000000028004000DB002E00790000 1366 0006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA00000 1367 00FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF000000000800000006FFFFFF00FFFF 1368 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7D74CCCCCCCA0BEBEBED50000 1369 00FFBEBEBED5CCCCCCA0D7D7D74CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1370 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CCCCCCA0000000FF000000FF0000 1371 00FF000000FF000000FFCCCCCCA0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1372 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7D7D74CCCCCCCA0CCCCCCA0CCCC 1373 CCA0CCCCCCA0CCCCCCA0D7D7D74CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1374 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1375 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1376 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1377 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1378 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1379 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1380 AAFF0000AAFF0000AAFF0000AAFF0000AAC0FFFFFF00FFFFFF00FFFFFF00FFFF 1381 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A838FFFF 1382 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1383 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1384 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1385 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1386 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1387 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1388 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1389 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1390 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1391 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1392 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1393 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A8380000 1394 ABA60000AB5B0000AA06FFFFFF00000000FF000000FF000000FF000000FF0000 1395 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1396 AAFF0000AAFF0000AADB0000AA1BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1397 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 1398 ABA60000AB5B0000AA06FFFFFF00000000FF000000FF000000FF000000FF0000 1399 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1400 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1401 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1402 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1403 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1404 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1405 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1406 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1407 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1408 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1409 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1410 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1411 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1412 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1413 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1414 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1415 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1416 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1417 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1418 AAFF0000AAFF0000AAC0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1419 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A838FFFF 1420 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1421 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1422 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1423 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1424 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1425 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1426 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1427 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1428 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1429 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1430 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1431 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A838FFFF 1432 FF00FFFFFF00FFFFFF000000ABA60000AB5B0000AA06FFFFFF00FFFFFF00FFFF 1433 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1434 AAFF0000AAFF0000AAFF0000AAFF0000AAFF0000AADB0000AA1BFFFFFF00FFFF 1435 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1436 FF00FFFFFF00FFFFFF000000ABA60000AB5B0000AA06FFFFFF00FFFFFF00FFFF 1437 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1438 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1439 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1440 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1441 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1442 AAFF0000AAFF0000AAFF0000AAFF0000AAC0FFFFFF00FFFFFF00FFFFFF00FFFF 1443 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A838FFFF 1444 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1445 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1446 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1447 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1448 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1449 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1450 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1451 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1452 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1453 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1454 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1455 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1456 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1457 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1458 FF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FF000000FF0000 1459 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1460 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1461 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1462 FF00FFFFFF00000000FF000000FF000000FF000000FF000000FF000000FF0000 1463 00FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAFFFFFFFF00FFFF 1464 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1465 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AAD10000A838FFFF 1466 FF00FFFFFF00FFFFFF000000ABA60000AB5B0000AA06FFFFFF00FFFFFF00FFFF 1467 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000AB4C0000AAD10000 1468 AAFF0000AAFF0000AAFF0000AAFF0000AAFF0000AADB0000AA1BFFFFFF00FFFF 1469 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 1470 FF00FFFFFF00FFFFFF000000ABA60000AB5B0000AA06FFFFFF00FFFFFF00FFFF 1316 1471 FF00FFFFFF00FFFFFF00FFFFFF00 1317 1472 } … … 1422 1577 } 1423 1578 end 1579 object MenuItem36: TMenuItem 1580 Action = AShowTargetPosition 1581 end 1582 end 1583 object PopupMenuTarget: TPopupMenu 1584 left = 92 1585 top = 136 1586 object MenuItem20: TMenuItem 1587 Action = AShowSourcePosition 1588 end 1424 1589 end 1425 1590 end -
trunk/Forms/UMainForm.lrt
r32 r33 1 1 TMAINFORM.CAPTION=LazFuck 2 TMAINFORM.TOOLBUTTON12.CAPTION=ToolButton12 3 TMAINFORM.TOOLBUTTON13.CAPTION=ToolButton13 4 TMAINFORM.TOOLBUTTON14.CAPTION=ToolButton14 5 TMAINFORM.TOOLBUTTON15.CAPTION=ToolButton15 2 TMAINFORM.TABSHEETSOURCE.CAPTION=Source code 3 TMAINFORM.TABSHEETTARGET.CAPTION=Target code 6 4 TMAINFORM.MENUITEM1.CAPTION=Project 7 5 TMAINFORM.MENUITEMOPENRECENT.CAPTION=Open recent … … 27 25 TMAINFORM.APROGRAMSTOP.CAPTION=Stop 28 26 TMAINFORM.AVIEWINTERPRETTER.CAPTION=Interpretter 29 TMAINFORM.AVIEWCOMPILED.CAPTION=Compiled30 27 TMAINFORM.APROGRAMSTEPINTO.CAPTION=Step into 31 28 TMAINFORM.APROGRAMSTEPOVER.CAPTION=Step over … … 38 35 TMAINFORM.AGENERATENUMBER.CAPTION=Generate code for number 39 36 TMAINFORM.AVIEWCOMPILERS.CAPTION=Compilers 37 TMAINFORM.ASHOWTARGETPOSITION.CAPTION=Show position in target 38 TMAINFORM.ASHOWSOURCEPOSITION.CAPTION=Show position in source -
trunk/Forms/UMainForm.pas
r32 r33 18 18 19 19 TMainForm = class(TForm) 20 AShowSourcePosition: TAction; 21 AShowTargetPosition: TAction; 20 22 AProgramCompile: TAction; 21 23 AAbout: TAction; … … 31 33 AProgramStepOver: TAction; 32 34 AProgramStepInto: TAction; 33 AViewCompiled: TAction;34 35 AViewInterpretter: TAction; 35 36 AProgramPause: TAction; … … 47 48 ImageList1: TImageList; 48 49 MainMenu1: TMainMenu; 50 MemoTarget: TMemo; 49 51 MemoSource: TMemo; 50 52 MenuItem1: TMenuItem; … … 76 78 MenuItem34: TMenuItem; 77 79 MenuItem35: TMenuItem; 80 MenuItem36: TMenuItem; 78 81 MenuItemOpenRecent: TMenuItem; 79 82 MenuItemTarget: TMenuItem; … … 86 89 MenuItem9: TMenuItem; 87 90 OpenDialog1: TOpenDialog; 91 PageControl1: TPageControl; 92 PopupMenuTarget: TPopupMenu; 88 93 PopupMenuSource: TPopupMenu; 89 94 SaveDialog1: TSaveDialog; 90 95 StatusBar1: TStatusBar; 91 TabControl1: TTabControl; 96 TabSheetSource: TTabSheet; 97 TabSheetTarget: TTabSheet; 92 98 ToolBar1: TToolBar; 93 99 ToolButton1: TToolButton; … … 121 127 procedure AProjectSaveExecute(Sender: TObject); 122 128 procedure AProgramRunExecute(Sender: TObject); 129 procedure AShowSourcePositionExecute(Sender: TObject); 130 procedure AShowTargetPositionExecute(Sender: TObject); 123 131 procedure AShrinkSourceExecute(Sender: TObject); 124 procedure AViewCompiledExecute(Sender: TObject);125 132 procedure AViewCompilersExecute(Sender: TObject); 126 133 procedure AViewInterpretterExecute(Sender: TObject); … … 167 174 168 175 uses 169 UInterpretterForm, UApplicationInfo, U CompiledForm, UOptionsForm,176 UInterpretterForm, UApplicationInfo, UOptionsForm, 170 177 UTargetDelphi, UTargetPHP, UTargetC, UCompilersForm; 171 178 … … 179 186 procedure TMainForm.FormShow(Sender: TObject); 180 187 begin 188 PageControl1.TabIndex := 0; 181 189 if OpenProjectOnStart and (LastOpenedList.Count > 0) then 182 190 ProjectOpen(LastOpenedList[0]) … … 188 196 begin 189 197 Modified := True; 198 CurrentTarget.Compiled := False; 190 199 UpdateInterface; 191 200 end; … … 236 245 UpdateInterface; 237 246 Modified := False; 247 CurrentTarget.Compiled := False; 238 248 end; 239 249 … … 247 257 TTarget(Targets[I]).OnChangeState := nil; 248 258 FCurrentTarget.OnChangeState := BrainFuckInterpreterChangeState; 259 UpdateInterface; 249 260 end; 250 261 … … 364 375 if CurrentTarget is TTargetInterpretter then 365 376 TTargetInterpretter(CurrentTarget).Input := InterpreterForm.MemoInput.Lines.Text; 366 CurrentTarget.Source := MemoSource.Text;377 CurrentTarget.SourceCode := MemoSource.Text; 367 378 CurrentTarget.Run; 379 end; 380 381 procedure TMainForm.AShowSourcePositionExecute(Sender: TObject); 382 var 383 DebugStep: TDebugStep; 384 begin 385 DebugStep := CurrentTarget.DebugSteps.SearchByTargetPos(MemoSource.SelStart); 386 MemoTarget.SelStart := DebugStep.SourcePosition; 387 PageControl1.TabIndex := 0; 388 end; 389 390 procedure TMainForm.AShowTargetPositionExecute(Sender: TObject); 391 var 392 DebugStep: TDebugStep; 393 begin 394 DebugStep := CurrentTarget.DebugSteps.SearchBySourcePos(MemoSource.SelStart); 395 MemoTarget.SelStart := DebugStep.TargetPosition; 396 PageControl1.TabIndex := 1; 368 397 end; 369 398 … … 384 413 SetLength(Source, Pos - 1); 385 414 MemoSource.Text := Source; 386 end;387 388 procedure TMainForm.AViewCompiledExecute(Sender: TObject);389 begin390 CompiledForm.Show;391 415 end; 392 416 … … 466 490 with CurrentTarget do begin 467 491 Optimization := coNormal; 468 Source := MemoSource.Text;492 SourceCode := MemoSource.Text; 469 493 ProgramName := ExtractFileNameOnly(ProjectFileName); 470 494 Compile; 471 CompiledForm.MemoCompiled.Text := Output; 472 CompiledForm.Show; 495 MemoTarget.Text := TargetCode; 473 496 end; 474 497 end; … … 483 506 with CurrentTarget do begin 484 507 Optimization := coNormal; 485 Source := MemoSource.Text;508 SourceCode := MemoSource.Text; 486 509 ProgramName := ExtractFileNameOnly(ProjectFileName); 487 510 ProjectFileName := Self.ProjectFileName; … … 515 538 MemoSource.Clear; 516 539 Modified := False; 540 CurrentTarget.Compiled := False; 517 541 UpdateInterface; 518 542 end; -
trunk/Languages/LazFuckIDE.cs.po
r32 r33 180 180 msgstr "UloÅŸit jako..." 181 181 182 #: tmainform.ashowsourceposition.caption 183 msgid "Show position in source" 184 msgstr "" 185 186 #: tmainform.ashowtargetposition.caption 187 msgid "Show position in target" 188 msgstr "" 189 182 190 #: tmainform.ashrinksource.caption 183 191 msgid "Shrink source" 184 192 msgstr "Srazit kód" 185 186 #: tmainform.aviewcompiled.caption187 msgid "Compiled"188 msgstr "PÅeloÅŸenÃœ"189 193 190 194 #: tmainform.aviewcompilers.caption … … 242 246 msgstr "CÃl" 243 247 244 #: tmainform.toolbutton12.caption 245 msgid "ToolButton12" 246 msgstr "" 247 248 #: tmainform.toolbutton13.caption 249 msgid "ToolButton13" 250 msgstr "" 251 252 #: tmainform.toolbutton14.caption 253 msgid "ToolButton14" 254 msgstr "" 255 256 #: tmainform.toolbutton15.caption 257 msgid "ToolButton15" 248 #: tmainform.tabsheetsource.caption 249 msgid "Source code" 250 msgstr "" 251 252 #: tmainform.tabsheettarget.caption 253 msgid "Target code" 258 254 msgstr "" 259 255 -
trunk/Languages/LazFuckIDE.po
r32 r33 171 171 msgstr "" 172 172 173 #: tmainform.ashowsourceposition.caption 174 msgid "Show position in source" 175 msgstr "" 176 177 #: tmainform.ashowtargetposition.caption 178 msgid "Show position in target" 179 msgstr "" 180 173 181 #: tmainform.ashrinksource.caption 174 182 msgid "Shrink source" 175 msgstr ""176 177 #: tmainform.aviewcompiled.caption178 msgid "Compiled"179 183 msgstr "" 180 184 … … 233 237 msgstr "" 234 238 235 #: tmainform.toolbutton12.caption 236 msgid "ToolButton12" 237 msgstr "" 238 239 #: tmainform.toolbutton13.caption 240 msgid "ToolButton13" 241 msgstr "" 242 243 #: tmainform.toolbutton14.caption 244 msgid "ToolButton14" 245 msgstr "" 246 247 #: tmainform.toolbutton15.caption 248 msgid "ToolButton15" 239 #: tmainform.tabsheetsource.caption 240 msgid "Source code" 241 msgstr "" 242 243 #: tmainform.tabsheettarget.caption 244 msgid "Target code" 249 245 msgstr "" 250 246 -
trunk/LazFuckIDE.lpi
r32 r33 32 32 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 33 33 </SearchPaths> 34 <Parsing> 35 <SyntaxOptions> 36 <SyntaxMode Value="Delphi"/> 37 </SyntaxOptions> 38 </Parsing> 34 39 <CodeGeneration> 35 40 <SmartLinkUnit Value="True"/> … … 85 90 </Item5> 86 91 </RequiredPackages> 87 <Units Count="1 2">92 <Units Count="11"> 88 93 <Unit0> 89 94 <Filename Value="LazFuckIDE.lpr"/> … … 97 102 </Unit1> 98 103 <Unit2> 99 <Filename Value="Forms\U CompiledForm.pas"/>100 <IsPartOfProject Value="True"/> 101 <ComponentName Value=" CompiledForm"/>104 <Filename Value="Forms\UMainForm.pas"/> 105 <IsPartOfProject Value="True"/> 106 <ComponentName Value="MainForm"/> 102 107 <HasResources Value="True"/> 103 108 <ResourceBaseClass Value="Form"/> 104 <UnitName Value="U CompiledForm"/>109 <UnitName Value="UMainForm"/> 105 110 </Unit2> 106 111 <Unit3> 107 <Filename Value="Forms\U MainForm.pas"/>108 <IsPartOfProject Value="True"/> 109 <ComponentName Value=" MainForm"/>112 <Filename Value="Forms\UOptionsForm.pas"/> 113 <IsPartOfProject Value="True"/> 114 <ComponentName Value="OptionsForm"/> 110 115 <HasResources Value="True"/> 111 116 <ResourceBaseClass Value="Form"/> 112 <UnitName Value="U MainForm"/>117 <UnitName Value="UOptionsForm"/> 113 118 </Unit3> 114 119 <Unit4> 115 <Filename Value="Forms\U OptionsForm.pas"/>116 <IsPartOfProject Value="True"/> 117 <ComponentName Value=" OptionsForm"/>120 <Filename Value="Forms\UInterpretterForm.pas"/> 121 <IsPartOfProject Value="True"/> 122 <ComponentName Value="InterpreterForm"/> 118 123 <HasResources Value="True"/> 119 124 <ResourceBaseClass Value="Form"/> 120 <UnitName Value="U OptionsForm"/>125 <UnitName Value="UInterpretterForm"/> 121 126 </Unit4> 122 127 <Unit5> 123 <Filename Value="Forms\UInterpretterForm.pas"/> 124 <IsPartOfProject Value="True"/> 125 <ComponentName Value="InterpreterForm"/> 126 <HasResources Value="True"/> 127 <ResourceBaseClass Value="Form"/> 128 <UnitName Value="UInterpretterForm"/> 128 <Filename Value="Forms\UCompilersForm.pas"/> 129 <IsPartOfProject Value="True"/> 130 <ComponentName Value="FormCompilers"/> 131 <ResourceBaseClass Value="Form"/> 132 <UnitName Value="UCompilersForm"/> 129 133 </Unit5> 130 134 <Unit6> 131 <Filename Value="Forms\UCompilersForm.pas"/> 132 <IsPartOfProject Value="True"/> 133 <ComponentName Value="FormCompilers"/> 134 <ResourceBaseClass Value="Form"/> 135 <UnitName Value="UCompilersForm"/> 135 <Filename Value="Target\UTarget.pas"/> 136 <IsPartOfProject Value="True"/> 137 <UnitName Value="UTarget"/> 136 138 </Unit6> 137 139 <Unit7> 138 <Filename Value="Target\UTarget .pas"/>139 <IsPartOfProject Value="True"/> 140 <UnitName Value="UTarget "/>140 <Filename Value="Target\UTargetC.pas"/> 141 <IsPartOfProject Value="True"/> 142 <UnitName Value="UTargetC"/> 141 143 </Unit7> 142 144 <Unit8> 143 <Filename Value="Target\UTarget C.pas"/>144 <IsPartOfProject Value="True"/> 145 <UnitName Value="UTarget C"/>145 <Filename Value="Target\UTargetDelphi.pas"/> 146 <IsPartOfProject Value="True"/> 147 <UnitName Value="UTargetDelphi"/> 146 148 </Unit8> 147 149 <Unit9> 148 <Filename Value="Target\UTarget Delphi.pas"/>149 <IsPartOfProject Value="True"/> 150 <UnitName Value="UTarget Delphi"/>150 <Filename Value="Target\UTargetInterpretter.pas"/> 151 <IsPartOfProject Value="True"/> 152 <UnitName Value="UTargetInterpretter"/> 151 153 </Unit9> 152 154 <Unit10> 153 <Filename Value="Target\UTarget Interpretter.pas"/>154 <IsPartOfProject Value="True"/> 155 <UnitName Value="UTarget Interpretter"/>155 <Filename Value="Target\UTargetPHP.pas"/> 156 <IsPartOfProject Value="True"/> 157 <UnitName Value="UTargetPHP"/> 156 158 </Unit10> 157 <Unit11>158 <Filename Value="Target\UTargetPHP.pas"/>159 <IsPartOfProject Value="True"/>160 <UnitName Value="UTargetPHP"/>161 </Unit11>162 159 </Units> 163 160 </ProjectOptions> … … 173 170 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 174 171 </SearchPaths> 172 <Parsing> 173 <SyntaxOptions> 174 <SyntaxMode Value="Delphi"/> 175 </SyntaxOptions> 176 </Parsing> 175 177 <CodeGeneration> 176 178 <Checks> -
trunk/LazFuckIDE.lpr
r32 r33 10 10 Interfaces, // this includes the LCL widgetset 11 11 Forms, UApplicationInfo, UTarget, UTargetC, UTargetDelphi, 12 UTargetInterpretter, UTargetPHP, U CompiledForm, UInterpretterForm, UMainForm,12 UTargetInterpretter, UTargetPHP, UInterpretterForm, UMainForm, 13 13 UOptionsForm, CoolTranslator, Common, 14 14 TemplateGenerics, UCompilersForm; … … 21 21 Application.Initialize; 22 22 Application.CreateForm(TMainForm, MainForm); 23 Application.CreateForm(TCompiledForm, CompiledForm);24 23 Application.CreateForm(TInterpreterForm, InterpreterForm); 25 24 Application.CreateForm(TOptionsForm, OptionsForm); -
trunk/Target/UTarget.pas
r32 r33 18 18 TRunState = (rsStopped, rsPaused, rsRunning); 19 19 20 TStepOperation = (soNormal, soStepIn, soStepOut); 21 22 TDebugStep = class 23 SourcePosition: Integer; 24 TargetPosition: Integer; 25 Operation: TStepOperation; 26 end; 27 28 { TDebugStepList } 29 30 TDebugStepList = class(TListObject) 31 function SearchBySourcePos(Pos: Integer): TDebugStep; 32 function SearchByTargetPos(Pos: Integer): TDebugStep; 33 procedure AddStep(SourcePos, TargetPos: Integer; Operation: TStepOperation); 34 end; 35 20 36 { TTarget } 21 37 22 38 TTarget = class 23 39 private 40 FCompiled: Boolean; 24 41 protected 25 FSource: string; 42 FSourceCode: string; 43 FTargetCode: string; 26 44 Indent: Integer; 27 45 FState: TRunState; 28 46 FOnChangeState: TNotifyEvent; 29 procedure SetSource(AValue: string); virtual; 47 procedure SetSourceCode(AValue: string); virtual; 48 function GetTargetCode: string; virtual; 30 49 procedure AddLine(Text: string); 31 50 function LongFileName(FileName: string): string; … … 33 52 Name: string; 34 53 ProgramName: string; 35 Output: string;36 54 Optimization: TCompilerOptimization; 37 55 CompilerPath: string; … … 40 58 ProjectFileName: string; 41 59 Capabilities: TTargetCapabilities; 60 BreakPointers: TListInteger; 61 DebugSteps: TDebugStepList; 42 62 constructor Create; virtual; 63 destructor Destroy; override; 43 64 procedure OptimizeSource; 44 65 procedure Compile; virtual; … … 55 76 property State: TRunState read FState; 56 77 property OnChangeState: TNotifyEvent read FOnChangeState write FOnChangeState; 57 property Source: string write SetSource; 78 property SourceCode: string write SetSourceCode; 79 property TargetCode: string read GetTargetCode; 80 property Compiled: Boolean read FCompiled write FCompiled; 58 81 end; 59 82 … … 73 96 74 97 implementation 98 99 { TDebugStepList } 100 101 function TDebugStepList.SearchBySourcePos(Pos: Integer 102 ): TDebugStep; 103 var 104 I: Integer; 105 begin 106 I := 0; 107 while (I < Count) and (TDebugStep(Items[I]).SourcePosition < Pos) do Inc(I); 108 if I < Count then Result := TDebugStep(Items[I]) 109 else Result := nil; 110 end; 111 112 function TDebugStepList.SearchByTargetPos(Pos: Integer 113 ): TDebugStep; 114 var 115 I: Integer; 116 begin 117 I := 0; 118 while (I < Count) and (TDebugStep(Items[I]).TargetPosition < Pos) do Inc(I); 119 if I < Count then Result := TDebugStep(Items[I]) 120 else Result := nil; 121 end; 122 123 procedure TDebugStepList.AddStep(SourcePos, TargetPos: Integer; 124 Operation: TStepOperation); 125 var 126 NewItem: TDebugStep; 127 begin 128 NewItem := TDebugStep.Create; 129 NewItem.SourcePosition := SourcePos; 130 NewItem.TargetPosition := TargetPos; 131 NewItem.Operation := Operation; 132 Add(NewItem); 133 end; 75 134 76 135 … … 122 181 { TTarget } 123 182 124 procedure TTarget.SetSource(AValue: string); 125 begin 126 FSource := AValue; 183 function TTarget.GetTargetCode: string; 184 begin 185 Result := FTargetCode; 186 end; 187 188 procedure TTarget.SetSourceCode(AValue: string); 189 begin 190 FSourceCode := AValue; 127 191 end; 128 192 129 193 procedure TTarget.AddLine(Text: string); 130 194 begin 131 Output := Output+ DupeString(' ', Indent) + Text + LineEnding;195 FTargetCode := FTargetCode + DupeString(' ', Indent) + Text + LineEnding; 132 196 end; 133 197 … … 145 209 constructor TTarget.Create; 146 210 begin 211 inherited; 147 212 Optimization := coNormal; 213 BreakPointers := TListInteger.Create; 214 DebugSteps := TDebugStepList.Create; 215 end; 216 217 destructor TTarget.Destroy; 218 begin 219 DebugSteps.Free;; 220 BreakPointers.Free; 221 inherited Destroy; 148 222 end; 149 223 … … 156 230 procedure TTarget.Compile; 157 231 begin 158 232 Compiled := True; 159 233 end; 160 234 … … 170 244 with TStringList.Create do 171 245 try 172 Text := Output;246 Text := FTargetCode; 173 247 SaveToFile(CompiledFile); 174 248 finally -
trunk/Target/UTargetC.pas
r32 r33 50 50 Result := 1; 51 51 if Optimization = coNormal then 52 while ((I + 1) <= Length(FSource )) and (FSource[I + 1] = C) do begin52 while ((I + 1) <= Length(FSourceCode)) and (FSourceCode[I + 1] = C) do begin 53 53 Inc(Result); 54 54 Inc(I) … … 58 58 begin 59 59 Indent := 0; 60 Output:= '';60 FTargetCode := ''; 61 61 62 62 AddLine('#include <stdio.h>'); … … 71 71 AddLine('Pos = 0;'); 72 72 I := 1; 73 while (I <= Length(FSource )) do begin74 case FSource [I] of73 while (I <= Length(FSourceCode)) do begin 74 case FSourceCode[I] of 75 75 '>': begin 76 76 Sum := CheckOccurence('>'); … … 119 119 with TStringList.Create do 120 120 try 121 Text := Output;121 Text := FTargetCode; 122 122 SaveToFile(CompiledFile); 123 123 finally -
trunk/Target/UTargetDelphi.pas
r32 r33 44 44 Result := 1; 45 45 if Optimization = coNormal then 46 while ((I + 1) <= Length(FSource )) and (FSource[I + 1] = C) do begin46 while ((I + 1) <= Length(FSourceCode)) and (FSourceCode[I + 1] = C) do begin 47 47 Inc(Result); 48 48 Inc(I) … … 52 52 begin 53 53 Indent := 0; 54 Output:= '';54 FTargetCode := ''; 55 55 56 56 AddLine('program ' + ProgramName + ';'); … … 66 66 AddLine('Pos := 0;'); 67 67 I := 1; 68 while (I <= Length(FSource )) do begin69 case FSource [I] of68 while (I <= Length(FSourceCode)) do begin 69 case FSourceCode[I] of 70 70 '>': begin 71 71 Sum := CheckOccurence('>'); -
trunk/Target/UTargetInterpretter.pas
r32 r33 18 18 end; 19 19 20 TBrainFuckCommand = (cmNo ne, cmInc, cmDec, cmPointerInc, cmPointerDec,21 cmOutput, cmInput, cmLoopStart, cmLoopEnd );20 TBrainFuckCommand = (cmNoOperation, cmInc, cmDec, cmPointerInc, cmPointerDec, 21 cmOutput, cmInput, cmLoopStart, cmLoopEnd, cmDebug); 22 22 23 23 TCommandHandler = procedure of object; … … 45 45 procedure CommandLoopStart; 46 46 procedure CommandLoopEnd; 47 procedure SingleStep; 48 procedure Reset; 47 49 protected 48 procedure SetSource(AValue: string); override;50 function GetTargetCode: string; override; 49 51 public 50 F Source: array of TBrainFuckCommand;52 FProgram: array of TBrainFuckCommand; 51 53 SourceJump: array of Integer; 52 54 SourcePosition: Integer; … … 58 60 Input: string; 59 61 InputPosition: Integer; 60 procedure Reset; 61 procedure SingleStep; 62 procedure Compile; override; 62 63 procedure Run; override; 63 64 procedure Pause; override; … … 72 73 end; 73 74 75 const 76 BrainFuckCommandText: array[TBrainFuckCommand] of Char = ( 77 ' ', '+', '-', '>', '<', '.', ',', '[', ']', '@'); 78 74 79 75 80 implementation … … 88 93 begin 89 94 repeat 90 while (Parent.SourcePosition < Length(Parent.F Source)) and (Parent.State <> rsStopped) do begin95 while (Parent.SourcePosition < Length(Parent.FProgram)) and (Parent.State <> rsStopped) do begin 91 96 Parent.SingleStep; 92 97 while Parent.State = rsPaused do begin … … 117 122 end; 118 123 119 procedure TTargetInterpretter. SetSource(AValue: string);124 procedure TTargetInterpretter.Compile; 120 125 var 121 126 I: Integer; 122 127 Pos: Integer; 123 128 begin 124 SetLength(FSource, Length(AValue)); 129 DebugSteps.Clear; 130 SetLength(FProgram, Length(FSourceCode)); 125 131 Pos := 0; 126 for I := 1 to Length(AValue) do begin 127 case AValue[I] of 128 '+': FSource[Pos] := cmInc; 129 '-': FSource[Pos] := cmDec; 130 '>': FSource[Pos] := cmPointerInc; 131 '<': FSource[Pos] := cmPointerDec; 132 ',': FSource[Pos] := cmInput; 133 '.': FSource[Pos] := cmOutput; 134 '[': FSource[Pos] := cmLoopStart; 135 ']': FSource[Pos] := cmLoopEnd; 132 for I := 1 to Length(FSourceCode) do begin 133 case FSourceCode[I] of 134 '+': begin 135 FProgram[Pos] := cmInc; 136 DebugSteps.AddStep(I - 1, Pos, soNormal); 137 end; 138 '-': begin 139 FProgram[Pos] := cmDec; 140 DebugSteps.AddStep(I - 1, Pos, soNormal); 141 end; 142 '>': begin 143 FProgram[Pos] := cmPointerInc; 144 DebugSteps.AddStep(I - 1, Pos, soNormal); 145 end; 146 '<': begin 147 FProgram[Pos] := cmPointerDec; 148 DebugSteps.AddStep(I - 1, Pos, soNormal); 149 end; 150 ',': begin 151 FProgram[Pos] := cmInput; 152 DebugSteps.AddStep(I - 1, Pos, soNormal); 153 end; 154 '.': begin 155 FProgram[Pos] := cmOutput; 156 DebugSteps.AddStep(I - 1, Pos, soNormal); 157 end; 158 '[': begin 159 FProgram[Pos] := cmLoopStart; 160 DebugSteps.AddStep(I - 1, Pos, soStepIn); 161 end; 162 ']': begin 163 FProgram[Pos] := cmLoopEnd; 164 DebugSteps.AddStep(I - 1, Pos, soStepOut); 165 end 136 166 else Dec(Pos); 137 167 end; 138 168 Inc(Pos); 139 169 end; 140 SetLength(F Source, Pos);170 SetLength(FProgram, Pos); 141 171 end; 142 172 … … 160 190 I: Integer; 161 191 begin 162 SetLength(SourceJump, Length(F Source));192 SetLength(SourceJump, Length(FProgram)); 163 193 //FillChar(Pointer(SourceJump)^, Length(SourceJump), 0); 164 for I := 0 to Length(F Source) - 1 do194 for I := 0 to Length(FProgram) - 1 do 165 195 SourceJump[I] := 0; 166 196 SetLength(Loop, 0); 167 for I := 0 to Length(F Source) - 1 do begin168 case F Source[I] of197 for I := 0 to Length(FProgram) - 1 do begin 198 case FProgram[I] of 169 199 cmLoopStart: begin 170 200 SetLength(Loop, Length(Loop) + 1); … … 252 282 end; 253 283 284 function TTargetInterpretter.GetTargetCode: string; 285 var 286 I: Integer; 287 begin 288 SetLength(Result, Length(FProgram)); 289 for I := 0 to Length(FProgram) - 1 do 290 Result[I + 1] := BrainFuckCommandText[FProgram[I]]; 291 end; 292 254 293 procedure TTargetInterpretter.SingleStep; 255 294 begin 256 FCommandTable[F Source[SourcePosition]];295 FCommandTable[FProgram[SourcePosition]]; 257 296 Inc(SourcePosition); 258 297 Inc(FStepCount); … … 281 320 inherited; 282 321 Name := 'Interpretter'; 283 Capabilities := [tcRun, tcPause, tcStop]; 322 Capabilities := [tcRun, tcPause, tcStop, tcCompile, tcStepOut, tcStepInto, 323 tcStepOver, tcRunToCursor]; 284 324 MemorySize := 30000; 285 325 CellSize := 256; -
trunk/Target/UTargetPHP.pas
r32 r33 48 48 Result := 1; 49 49 if Optimization = coNormal then 50 while ((I + 1) <= Length(FSource )) and (FSource[I + 1] = C) do begin50 while ((I + 1) <= Length(FSourceCode)) and (FSourceCode[I + 1] = C) do begin 51 51 Inc(Result); 52 52 Inc(I) … … 56 56 begin 57 57 Indent := 0; 58 Output:= '';58 FTargetCode := ''; 59 59 60 60 AddLine('<?php // ' + ProgramName); … … 62 62 AddLine('$Memory = str_repeat("\0", 30000);'); 63 63 AddLine('$Position = 0;'); 64 for I := 1 to Length(FSource ) do begin65 case FSource [I] of64 for I := 1 to Length(FSourceCode) do begin 65 case FSourceCode[I] of 66 66 '>': begin 67 67 Sum := CheckOccurence('>');
Note:
See TracChangeset
for help on using the changeset viewer.