Changeset 41


Ignore:
Timestamp:
Aug 5, 2010, 1:17:35 PM (14 years ago)
Author:
george
Message:

Added separate unit for filling treeview with program source.

Location:
branches/DelphiToC
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • branches/DelphiToC/Analyze/UPascalParser.pas

    r40 r41  
    458458        Result.CommonBlock := SourceCode;
    459459  //      ParseMetVariable(TMethodCall(Result).Target);
     460      end else begin
     461        Result := nil;
     462        ErrorMessage(SUnknownIdentifier, [ReadCode]);
    460463      end;
    461464    end;
  • branches/DelphiToC/DelphiToC.lpi

    r40 r41  
    3636      </Item1>
    3737    </RequiredPackages>
    38     <Units Count="16">
     38    <Units Count="19">
    3939      <Unit0>
    4040        <Filename Value="DelphiToC.lpr"/>
    4141        <IsPartOfProject Value="True"/>
    42         <EditorIndex Value="10"/>
     42        <EditorIndex Value="12"/>
    4343        <WindowIndex Value="0"/>
    4444        <TopLine Value="3"/>
    4545        <CursorPos X="39" Y="12"/>
    46         <UsageCount Value="57"/>
     46        <UsageCount Value="60"/>
    4747        <Loaded Value="True"/>
    4848      </Unit0>
     
    5454        <ResourceBaseClass Value="Form"/>
    5555        <UnitName Value="UMainForm"/>
    56         <EditorIndex Value="6"/>
    57         <WindowIndex Value="0"/>
    58         <TopLine Value="10"/>
    59         <CursorPos X="42" Y="24"/>
    60         <UsageCount Value="57"/>
     56        <EditorIndex Value="7"/>
     57        <WindowIndex Value="0"/>
     58        <TopLine Value="44"/>
     59        <CursorPos X="19" Y="53"/>
     60        <UsageCount Value="60"/>
    6161        <Loaded Value="True"/>
    6262        <LoadedDesigner Value="True"/>
     
    6969        <TopLine Value="1"/>
    7070        <CursorPos X="1" Y="1"/>
    71         <UsageCount Value="57"/>
     71        <UsageCount Value="60"/>
    7272      </Unit2>
    7373      <Unit3>
     
    7575        <IsPartOfProject Value="True"/>
    7676        <UnitName Value="UPascalSource"/>
    77         <EditorIndex Value="4"/>
    78         <WindowIndex Value="0"/>
    79         <TopLine Value="1"/>
    80         <CursorPos X="3" Y="12"/>
    81         <UsageCount Value="57"/>
     77        <EditorIndex Value="5"/>
     78        <WindowIndex Value="0"/>
     79        <TopLine Value="113"/>
     80        <CursorPos X="27" Y="132"/>
     81        <UsageCount Value="60"/>
    8282        <Loaded Value="True"/>
    8383      </Unit3>
     
    8686        <IsPartOfProject Value="True"/>
    8787        <UnitName Value="UPascalCompiler"/>
    88         <EditorIndex Value="9"/>
    89         <WindowIndex Value="0"/>
    90         <TopLine Value="1"/>
    91         <CursorPos X="55" Y="9"/>
    92         <UsageCount Value="57"/>
     88        <EditorIndex Value="10"/>
     89        <WindowIndex Value="0"/>
     90        <TopLine Value="22"/>
     91        <CursorPos X="1" Y="35"/>
     92        <UsageCount Value="60"/>
    9393        <Loaded Value="True"/>
    9494      </Unit4>
     
    9797        <IsPartOfProject Value="True"/>
    9898        <UnitName Value="UAssemblerSource"/>
    99         <EditorIndex Value="7"/>
     99        <EditorIndex Value="8"/>
    100100        <WindowIndex Value="0"/>
    101101        <TopLine Value="1"/>
    102102        <CursorPos X="9" Y="12"/>
    103         <UsageCount Value="57"/>
     103        <UsageCount Value="60"/>
    104104        <Loaded Value="True"/>
    105105      </Unit5>
     
    111111        <TopLine Value="1"/>
    112112        <CursorPos X="1" Y="1"/>
    113         <UsageCount Value="57"/>
     113        <UsageCount Value="60"/>
    114114      </Unit6>
    115115      <Unit7>
     
    117117        <IsPartOfProject Value="True"/>
    118118        <UnitName Value="UCSource"/>
    119         <EditorIndex Value="8"/>
     119        <EditorIndex Value="9"/>
    120120        <WindowIndex Value="0"/>
    121121        <TopLine Value="3"/>
    122122        <CursorPos X="3" Y="8"/>
    123         <UsageCount Value="57"/>
     123        <UsageCount Value="60"/>
    124124        <Loaded Value="True"/>
    125125      </Unit7>
     
    131131        <EditorIndex Value="0"/>
    132132        <WindowIndex Value="0"/>
    133         <TopLine Value="868"/>
    134         <CursorPos X="26" Y="886"/>
    135         <UsageCount Value="57"/>
     133        <TopLine Value="444"/>
     134        <CursorPos X="1" Y="461"/>
     135        <UsageCount Value="60"/>
    136136        <Loaded Value="True"/>
    137137      </Unit8>
     
    147147        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\packages\fcl-base\src\contnrs.pp"/>
    148148        <UnitName Value="contnrs"/>
    149         <EditorIndex Value="5"/>
     149        <EditorIndex Value="6"/>
    150150        <WindowIndex Value="0"/>
    151151        <TopLine Value="68"/>
    152152        <CursorPos X="14" Y="90"/>
    153         <UsageCount Value="28"/>
     153        <UsageCount Value="30"/>
    154154        <Loaded Value="True"/>
    155155      </Unit10>
     
    164164      <Unit12>
    165165        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutilh.inc"/>
    166         <EditorIndex Value="1"/>
     166        <EditorIndex Value="2"/>
    167167        <WindowIndex Value="0"/>
    168168        <TopLine Value="61"/>
    169169        <CursorPos X="7" Y="68"/>
    170         <UsageCount Value="11"/>
     170        <UsageCount Value="13"/>
    171171        <Loaded Value="True"/>
    172172      </Unit12>
    173173      <Unit13>
    174174        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutils.inc"/>
    175         <EditorIndex Value="2"/>
     175        <EditorIndex Value="3"/>
    176176        <WindowIndex Value="0"/>
    177177        <TopLine Value="139"/>
    178178        <CursorPos X="16" Y="146"/>
    179         <UsageCount Value="11"/>
     179        <UsageCount Value="13"/>
    180180        <Loaded Value="True"/>
    181181      </Unit13>
    182182      <Unit14>
    183183        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysstr.inc"/>
    184         <EditorIndex Value="3"/>
     184        <EditorIndex Value="4"/>
    185185        <WindowIndex Value="0"/>
    186186        <TopLine Value="934"/>
    187187        <CursorPos X="10" Y="947"/>
    188         <UsageCount Value="11"/>
     188        <UsageCount Value="13"/>
    189189        <Loaded Value="True"/>
    190190      </Unit14>
     
    196196        <UsageCount Value="10"/>
    197197      </Unit15>
     198      <Unit16>
     199        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\inc\objpash.inc"/>
     200        <EditorIndex Value="11"/>
     201        <WindowIndex Value="0"/>
     202        <TopLine Value="171"/>
     203        <CursorPos X="21" Y="184"/>
     204        <UsageCount Value="12"/>
     205        <Loaded Value="True"/>
     206      </Unit16>
     207      <Unit17>
     208        <Filename Value="Visual\USourceTree.pas"/>
     209        <IsPartOfProject Value="True"/>
     210        <UnitName Value="USourceTree"/>
     211        <EditorIndex Value="1"/>
     212        <WindowIndex Value="0"/>
     213        <TopLine Value="52"/>
     214        <CursorPos X="39" Y="65"/>
     215        <UsageCount Value="22"/>
     216        <Loaded Value="True"/>
     217      </Unit17>
     218      <Unit18>
     219        <Filename Value="E:\Programy\Lazarus\lcl\comctrls.pp"/>
     220        <UnitName Value="ComCtrls"/>
     221        <WindowIndex Value="0"/>
     222        <TopLine Value="2656"/>
     223        <CursorPos X="3" Y="2669"/>
     224        <UsageCount Value="10"/>
     225      </Unit18>
    198226    </Units>
    199     <JumpHistory Count="30" HistoryIndex="28">
     227    <JumpHistory Count="30" HistoryIndex="29">
    200228      <Position1>
    201229        <Filename Value="Analyze\UPascalParser.pas"/>
    202         <Caret Line="826" Column="43" TopLine="813"/>
     230        <Caret Line="589" Column="1" TopLine="576"/>
    203231      </Position1>
    204232      <Position2>
    205233        <Filename Value="Analyze\UPascalParser.pas"/>
    206         <Caret Line="70" Column="21" TopLine="70"/>
     234        <Caret Line="705" Column="1" TopLine="692"/>
    207235      </Position2>
    208236      <Position3>
    209237        <Filename Value="Analyze\UPascalParser.pas"/>
    210         <Caret Line="826" Column="93" TopLine="826"/>
     238        <Caret Line="707" Column="1" TopLine="692"/>
    211239      </Position3>
    212240      <Position4>
    213241        <Filename Value="Analyze\UPascalParser.pas"/>
    214         <Caret Line="70" Column="48" TopLine="70"/>
     242        <Caret Line="703" Column="1" TopLine="692"/>
    215243      </Position4>
    216244      <Position5>
    217245        <Filename Value="Analyze\UPascalParser.pas"/>
    218         <Caret Line="826" Column="91" TopLine="826"/>
     246        <Caret Line="704" Column="46" TopLine="692"/>
    219247      </Position5>
    220248      <Position6>
    221249        <Filename Value="Analyze\UPascalParser.pas"/>
    222         <Caret Line="837" Column="26" TopLine="824"/>
     250        <Caret Line="462" Column="23" TopLine="469"/>
    223251      </Position6>
    224252      <Position7>
    225253        <Filename Value="Analyze\UPascalParser.pas"/>
    226         <Caret Line="872" Column="26" TopLine="862"/>
     254        <Caret Line="445" Column="1" TopLine="432"/>
    227255      </Position7>
    228256      <Position8>
    229257        <Filename Value="Analyze\UPascalParser.pas"/>
    230         <Caret Line="876" Column="29" TopLine="863"/>
     258        <Caret Line="446" Column="1" TopLine="432"/>
    231259      </Position8>
    232260      <Position9>
    233261        <Filename Value="Analyze\UPascalParser.pas"/>
    234         <Caret Line="877" Column="26" TopLine="864"/>
     262        <Caret Line="449" Column="1" TopLine="432"/>
    235263      </Position9>
    236264      <Position10>
    237265        <Filename Value="Analyze\UPascalParser.pas"/>
    238         <Caret Line="78" Column="11" TopLine="65"/>
     266        <Caret Line="448" Column="1" TopLine="432"/>
    239267      </Position10>
    240268      <Position11>
    241269        <Filename Value="Analyze\UPascalParser.pas"/>
    242         <Caret Line="884" Column="75" TopLine="868"/>
     270        <Caret Line="447" Column="1" TopLine="432"/>
    243271      </Position11>
    244272      <Position12>
    245273        <Filename Value="Analyze\UPascalParser.pas"/>
    246         <Caret Line="877" Column="46" TopLine="864"/>
     274        <Caret Line="450" Column="1" TopLine="432"/>
    247275      </Position12>
    248276      <Position13>
    249277        <Filename Value="Analyze\UPascalParser.pas"/>
    250         <Caret Line="884" Column="58" TopLine="868"/>
     278        <Caret Line="445" Column="1" TopLine="432"/>
    251279      </Position13>
    252280      <Position14>
    253281        <Filename Value="Analyze\UPascalParser.pas"/>
    254         <Caret Line="78" Column="48" TopLine="78"/>
     282        <Caret Line="446" Column="1" TopLine="432"/>
    255283      </Position14>
    256284      <Position15>
    257285        <Filename Value="Analyze\UPascalParser.pas"/>
    258         <Caret Line="884" Column="75" TopLine="868"/>
     286        <Caret Line="456" Column="1" TopLine="435"/>
    259287      </Position15>
    260288      <Position16>
    261         <Filename Value="UPascalCompiler.pas"/>
    262         <Caret Line="9" Column="73" TopLine="10"/>
     289        <Filename Value="Analyze\UPascalParser.pas"/>
     290        <Caret Line="461" Column="1" TopLine="448"/>
    263291      </Position16>
    264292      <Position17>
    265         <Filename Value="UPascalCompiler.pas"/>
    266         <Caret Line="35" Column="43" TopLine="22"/>
     293        <Filename Value="Analyze\UPascalParser.pas"/>
     294        <Caret Line="462" Column="1" TopLine="448"/>
    267295      </Position17>
    268296      <Position18>
    269         <Filename Value="UPascalCompiler.pas"/>
    270         <Caret Line="45" Column="17" TopLine="33"/>
     297        <Filename Value="Analyze\UPascalParser.pas"/>
     298        <Caret Line="463" Column="1" TopLine="448"/>
    271299      </Position18>
    272300      <Position19>
    273301        <Filename Value="Analyze\UPascalParser.pas"/>
    274         <Caret Line="872" Column="27" TopLine="861"/>
     302        <Caret Line="429" Column="1" TopLine="416"/>
    275303      </Position19>
    276304      <Position20>
    277         <Filename Value="UPascalCompiler.pas"/>
    278         <Caret Line="46" Column="24" TopLine="33"/>
     305        <Filename Value="Analyze\UPascalParser.pas"/>
     306        <Caret Line="590" Column="1" TopLine="577"/>
    279307      </Position20>
    280308      <Position21>
    281         <Filename Value="UMainForm.pas"/>
    282         <Caret Line="88" Column="41" TopLine="76"/>
     309        <Filename Value="Analyze\UPascalParser.pas"/>
     310        <Caret Line="429" Column="1" TopLine="416"/>
    283311      </Position21>
    284312      <Position22>
    285         <Filename Value="Produce\UAssemblerSource.pas"/>
    286         <Caret Line="1" Column="1" TopLine="1"/>
     313        <Filename Value="Analyze\UPascalParser.pas"/>
     314        <Caret Line="590" Column="1" TopLine="577"/>
    287315      </Position22>
    288316      <Position23>
    289         <Filename Value="Produce\UAssemblerSource.pas"/>
    290         <Caret Line="9" Column="12" TopLine="1"/>
     317        <Filename Value="Analyze\UPascalParser.pas"/>
     318        <Caret Line="706" Column="1" TopLine="693"/>
    291319      </Position23>
    292320      <Position24>
    293         <Filename Value="Produce\UAssemblerSource.pas"/>
    294         <Caret Line="8" Column="3" TopLine="1"/>
     321        <Filename Value="Analyze\UPascalParser.pas"/>
     322        <Caret Line="708" Column="1" TopLine="693"/>
    295323      </Position24>
    296324      <Position25>
    297         <Filename Value="Produce\UAssemblerSource.pas"/>
    298         <Caret Line="34" Column="31" TopLine="21"/>
     325        <Filename Value="Analyze\UPascalParser.pas"/>
     326        <Caret Line="704" Column="1" TopLine="693"/>
    299327      </Position25>
    300328      <Position26>
    301         <Filename Value="Produce\UAssemblerSource.pas"/>
    302         <Caret Line="193" Column="1" TopLine="171"/>
     329        <Filename Value="Analyze\UPascalParser.pas"/>
     330        <Caret Line="705" Column="1" TopLine="693"/>
    303331      </Position26>
    304332      <Position27>
    305         <Filename Value="Produce\UAssemblerSource.pas"/>
    306         <Caret Line="12" Column="17" TopLine="1"/>
     333        <Filename Value="Analyze\UPascalParser.pas"/>
     334        <Caret Line="706" Column="1" TopLine="693"/>
    307335      </Position27>
    308336      <Position28>
    309         <Filename Value="Produce\UAssemblerSource.pas"/>
    310         <Caret Line="14" Column="9" TopLine="1"/>
     337        <Filename Value="Analyze\UPascalParser.pas"/>
     338        <Caret Line="708" Column="1" TopLine="693"/>
    311339      </Position28>
    312340      <Position29>
    313         <Filename Value="Produce\UAssemblerSource.pas"/>
    314         <Caret Line="12" Column="9" TopLine="1"/>
     341        <Filename Value="Analyze\UPascalParser.pas"/>
     342        <Caret Line="704" Column="1" TopLine="693"/>
    315343      </Position29>
    316344      <Position30>
    317         <Filename Value="UPascalSource.pas"/>
    318         <Caret Line="12" Column="3" TopLine="1"/>
     345        <Filename Value="Analyze\UPascalParser.pas"/>
     346        <Caret Line="705" Column="1" TopLine="693"/>
    319347      </Position30>
    320348    </JumpHistory>
     
    325353    <SearchPaths>
    326354      <IncludeFiles Value="Analyze\;Produce\"/>
    327       <OtherUnitFiles Value="Analyze\;Produce\"/>
     355      <OtherUnitFiles Value="Analyze\;Produce\;Visual\"/>
    328356      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    329357    </SearchPaths>
     
    357385  </CompilerOptions>
    358386  <Debugging>
     387    <BreakPoints Count="1">
     388      <Item1>
     389        <Source Value="Analyze\UPascalParser.pas"/>
     390        <Line Value="445"/>
     391      </Item1>
     392    </BreakPoints>
    359393    <Exceptions Count="3">
    360394      <Item1>
  • branches/DelphiToC/DelphiToC.lpr

    r37 r41  
    1515  UCodeProducer in 'Produce\UCodeProducer.pas',
    1616  UCSource in 'Produce\UCSource.pas',
    17   UPascalParser in 'Analyze\UPascalParser.pas';
     17  UPascalParser in 'Analyze\UPascalParser.pas', USourceTree;
    1818
    1919{$R *.res}
  • branches/DelphiToC/Example.pas

    r20 r41  
    1212  sS: Byte;
    1313begin
     14  WriteLn;
     15  begin
     16    begin
     17    end;
     18  end;
    1419  A := 1;
    1520  While A < 1 do A := A + 1;
  • branches/DelphiToC/UMainForm.pas

    r40 r41  
    88  SysUtils, Variants, Classes, Graphics, Controls, Forms,
    99  Dialogs, StdCtrls, UPascalSource, UPascalCompiler, UAssemblerSource,
    10   UCSource, ComCtrls;
     10  UCSource, ComCtrls, USourceTree;
    1111
    1212const
     
    3030  public
    3131    Compiler: TCompiler;
     32    SourceTree: TSourceTree;
    3233  end;
    3334
     
    4849  Compiler.SourceCode.Assign(Memo1.Lines);
    4950  Compiler.Compile;
    50   FillTreeView;
     51  SourceTree.TreeView := TreeView1;
     52  SourceTree.Code := Compiler.ProgramCode;
     53  SourceTree.Fill;
     54  //FillTreeView;
    5155  Memo2.Clear;
    5256  if Compiler.Producer is TAssemblerProducer then begin
     
    138142  Compiler := TCompiler.Create;
    139143  Compiler.OnErrorMessage := ErrorMessage;
     144  SourceTree := TSourceTree.Create;
    140145end;
    141146
    142147procedure TMainForm.FormDestroy(Sender: TObject);
    143148begin
    144   Compiler.Destroy;
     149  Compiler.Free;
     150  SourceTree.Free;
    145151end;
    146152
  • branches/DelphiToC/UPascalSource.pas

    r39 r41  
    439439
    440440destructor TFunctionList.Destroy;
    441 var
    442   I: Integer;
    443 begin
    444   for I := 0 to Count - 1 do
    445     TFunction(Items[I]).Free;
     441begin
    446442  inherited;
    447443end;
Note: See TracChangeset for help on using the changeset viewer.