Ignore:
Timestamp:
Sep 8, 2009, 2:01:55 PM (15 years ago)
Author:
george
Message:
  • Přidáno: Analýza páru dalších programových konstrukcí.
  • Přidáno: Pár jednoduchých testovacích příkladů pro překladač.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DelphiToC/UMainForm.pas

    r19 r20  
    6565  NewNode: TTreeNode;
    6666  NewNode2: TTreeNode;
     67  NewNode3: TTreeNode;
    6768  ModuleNode: TTreeNode;
    6869  I: Integer;
     70  II: Integer;
    6971  M: Integer;
    7072begin
     
    8284        NewNode := AddChild(ModuleNode, 'Funkce');
    8385        for I := 0 to Methods.Count - 1 do
    84         with TFunction(Methods[I]) do
     86        with TFunction(Methods[I]) do begin
    8587          NewNode2 := AddChild(NewNode, Name);
     88          with NewNode2 do begin
     89            NewNode3 := AddChild(NewNode2, 'Parametery');
     90            for II := 0 to Parameters.Count - 1 do
     91              AddChild(NewNode3, TParameter(Parameters[II]).Name + ':' + TParameter(Parameters[II]).ValueType.Name);
     92          end;
     93        end;
    8694        NewNode := AddChild(ModuleNode, 'Promìnné');
    8795        for I := 0 to Variables.Count - 1 do
    8896        with TVariable(Variables[I]) do
    89           NewNode2 := AddChild(NewNode, Name);
     97          NewNode2 := AddChild(NewNode, Name + ':' + ValueType.Name);
    9098        NewNode := AddChild(ModuleNode, 'Konstanty');
    9199        for I := 0 to Constants.Count - 1 do
    92100        with TConstant(Constants[I]) do
    93           NewNode2 := AddChild(NewNode, Name);
     101          NewNode2 := AddChild(NewNode, Name + ':' + ValueType.Name + '=' + Value);
    94102        NewNode := AddChild(ModuleNode, 'Program');
     103        for I := 0 to Code.Commands.Count - 1 do begin
     104          if TObject(Code.Commands[I]) is TBeginEnd then begin
     105            NewNode2 := AddChild(NewNode, 'Begin-End');
     106
     107          end else
     108          if TObject(Code.Commands[I]) is TWhileDo then begin
     109            NewNode2 := AddChild(NewNode, 'While-Do');
     110          end else
     111          if TObject(Code.Commands[I]) is TAssignment then begin
     112            NewNode2 := AddChild(NewNode, TAssignment(Code.Commands[I]).Target.Name + ' := exp');
     113
     114          end;
     115        end;
     116
    95117      end;
    96118    TopItem.Expand(True);
Note: See TracChangeset for help on using the changeset viewer.