Changeset 71


Ignore:
Timestamp:
Aug 1, 2012, 6:20:01 AM (12 years ago)
Author:
chronos
Message:
  • Modified: Modules should use modularsystem API object.
Location:
trunk
Files:
5 added
3 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/Modules/Pascal/UModulePascal.pas

    r70 r71  
    66
    77uses
    8   Classes, SysUtils, UModularSystem;
     8  Classes, SysUtils, UModularSystem, UAnalyzerPascal;
    99
    1010type
     
    1313
    1414  TModulePascal = class(TModule)
     15    Analyzer: TAnalyzerPascal;
    1516    constructor Create; override;
    1617    destructor Destroy; override;
     
    2122
    2223implementation
     24
     25uses
     26  UCompilerAPI;
    2327
    2428{ TModulePascal }
     
    3943procedure TModulePascal.Install;
    4044begin
     45  with TCompilerAPI(API) do begin
     46    Analyzer := TAnalyzerPascal.Create;
     47    Analyzers.Add(Analyzer);
     48  end;
    4149  inherited Install;
    4250end;
     
    4553begin
    4654  inherited Uninstall;
     55  with TCompilerAPI(API) do begin
     56    Analyzers.Remove(Analyzer);
     57  end;
    4758end;
    4859
  • trunk/Compiler/TranspascalCompiler.lpk

    r70 r71  
    99      <PathDelim Value="\"/>
    1010      <SearchPaths>
    11         <OtherUnitFiles Value="Analyze;Target;Target\Interpretter;Target\ASM8051;Target\Java;Target\GCC;Target\PHP;Target\Delphi;Target\Dynamic C;Target\XML;Target\NASM;Modules\Pascal"/>
     11        <OtherUnitFiles Value="Analyze;Target;Target\Interpretter;Target\ASM8051;Target\Java;Target\GCC;Target\PHP;Target\Delphi;Target\Dynamic C;Target\XML;Target\NASM;Modules\Pascal;Modules\GCC"/>
    1212        <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    1313      </SearchPaths>
     
    2525    </CompilerOptions>
    2626    <Version Minor="1"/>
    27     <Files Count="21">
     27    <Files Count="22">
    2828      <Item1>
    2929        <Filename Value="UCompiler.pas"/>
     
    5555      </Item7>
    5656      <Item8>
    57         <Filename Value="Target\UTargets.pas"/>
    58         <UnitName Value="UTargets"/>
     57        <Filename Value="Target\Dynamic C\UProducerDynamicc.pas"/>
     58        <UnitName Value="UProducerDynamicC"/>
    5959      </Item8>
    6060      <Item9>
    61         <Filename Value="Target\Dynamic C\UProducerDynamicc.pas"/>
    62         <UnitName Value="UProducerDynamicC"/>
     61        <Filename Value="Target\ASM8051\UProducerASM8051.pas"/>
     62        <UnitName Value="UProducerAsm8051"/>
    6363      </Item9>
    6464      <Item10>
    65         <Filename Value="Target\ASM8051\UProducerASM8051.pas"/>
    66         <UnitName Value="UProducerAsm8051"/>
     65        <Filename Value="Target\ASM8051\UTargetASM8051.pas"/>
     66        <UnitName Value="UTargetASM8051"/>
    6767      </Item10>
    6868      <Item11>
    69         <Filename Value="Target\ASM8051\UTargetASM8051.pas"/>
    70         <UnitName Value="UTargetASM8051"/>
     69        <Filename Value="Modules\GCC\UTargetGCC.pas"/>
     70        <UnitName Value="UTargetGCC"/>
    7171      </Item11>
    7272      <Item12>
    73         <Filename Value="Target\GCC\UTargetGCC.pas"/>
    74         <UnitName Value="UTargetGCC"/>
     73        <Filename Value="Modules\GCC\UProducerGCC.pas"/>
     74        <UnitName Value="UProducerGCC"/>
    7575      </Item12>
    7676      <Item13>
    77         <Filename Value="Target\GCC\UProducerGCC.pas"/>
    78         <UnitName Value="UProducerGCC"/>
     77        <Filename Value="Target\Delphi\UProducerPascal.pas"/>
     78        <UnitName Value="UProducerPascal"/>
    7979      </Item13>
    8080      <Item14>
    81         <Filename Value="Target\Delphi\UProducerPascal.pas"/>
    82         <UnitName Value="UProducerPascal"/>
     81        <Filename Value="Target\Delphi\UTargetDelphi.pas"/>
     82        <UnitName Value="UTargetDelphi"/>
    8383      </Item14>
    8484      <Item15>
    85         <Filename Value="Target\Delphi\UTargetDelphi.pas"/>
    86         <UnitName Value="UTargetDelphi"/>
     85        <Filename Value="Target\PHP\UTargetPHP.pas"/>
     86        <UnitName Value="UTargetPHP"/>
    8787      </Item15>
    8888      <Item16>
    89         <Filename Value="Target\PHP\UTargetPHP.pas"/>
    90         <UnitName Value="UTargetPHP"/>
     89        <Filename Value="Target\Java\UTargetJava.pas"/>
     90        <UnitName Value="UTargetJava"/>
    9191      </Item16>
    9292      <Item17>
    93         <Filename Value="Target\Java\UTargetJava.pas"/>
    94         <UnitName Value="UTargetJava"/>
     93        <Filename Value="Target\XML\UTargetXML.pas"/>
     94        <UnitName Value="UTargetXML"/>
    9595      </Item17>
    9696      <Item18>
    97         <Filename Value="Target\XML\UTargetXML.pas"/>
    98         <UnitName Value="UTargetXML"/>
     97        <Filename Value="Target\Interpretter\UTargetInterpretter.pas"/>
     98        <UnitName Value="UTargetInterpretter"/>
    9999      </Item18>
    100100      <Item19>
    101         <Filename Value="Target\Interpretter\UTargetInterpretter.pas"/>
    102         <UnitName Value="UTargetInterpretter"/>
     101        <Filename Value="Target\NASM\UTargetNASM.pas"/>
     102        <UnitName Value="UTargetNASM"/>
    103103      </Item19>
    104104      <Item20>
    105         <Filename Value="Target\NASM\UTargetNASM.pas"/>
    106         <UnitName Value="UTargetNASM"/>
     105        <Filename Value="Modules\Pascal\UModulePascal.pas"/>
     106        <UnitName Value="UModulePascal"/>
    107107      </Item20>
    108108      <Item21>
    109         <Filename Value="Modules\Pascal\UModulePascal.pas"/>
    110         <UnitName Value="UModulePascal"/>
     109        <Filename Value="UCompilerAPI.pas"/>
     110        <UnitName Value="UCompilerAPI"/>
    111111      </Item21>
     112      <Item22>
     113        <Filename Value="Modules\GCC\UModuleGCC.pas"/>
     114        <UnitName Value="UModuleGCC"/>
     115      </Item22>
    112116    </Files>
    113117    <Type Value="RunAndDesignTime"/>
  • trunk/Compiler/TranspascalCompiler.pas

    r70 r71  
    99uses
    1010  UCompiler, USourceCode, UProducer, UAnalyzer, UTarget, UExecutor,
    11   UAnalyzerPascal, UTargets, UProducerDynamicc, UProducerASM8051,
    12   UTargetASM8051, UTargetGCC, UProducerGCC, UProducerPascal, UTargetDelphi,
    13   UTargetPHP, UTargetJava, UTargetXML, UTargetInterpretter, UTargetNASM,
    14   UModulePascal, LazarusPackageIntf;
     11  UAnalyzerPascal, UProducerDynamicc, UProducerASM8051, UTargetASM8051,
     12  UTargetGCC, UProducerGCC, UProducerPascal, UTargetDelphi, UTargetPHP,
     13  UTargetJava, UTargetXML, UTargetInterpretter, UTargetNASM, UModulePascal,
     14  UCompilerAPI, UModuleGCC, LazarusPackageIntf;
    1515
    1616implementation
  • trunk/Compiler/UCompiler.pas

    r70 r71  
    66
    77uses
    8   SysUtils, Variants, Classes, Contnrs, FileUtil, UModularSystem,
     8  SysUtils, Variants, Classes, Contnrs, FileUtil, UModularSystem, UCompilerAPI,
    99  Dialogs, USourceCode, UProducer, UAnalyzer, SpecializedList, UTarget;
    1010
     
    4747    CompiledFolder: string;
    4848
     49    API: TCompilerAPI;
    4950    TargetFolder: string;
    50     Targets: TListTarget;
    51     Analyzers: TListAnalyzer;
    5251    MainSource: string;
    5352    ModuleManager: TModuleManager;
     
    6968
    7069uses
    71   UTargets, UAnalyzerPascal;
     70  UAnalyzerPascal;
    7271
    7372resourcestring
     
    164163constructor TCompiler.Create;
    165164begin
    166   Targets := TListTarget.Create;
     165  API := TCompilerAPI.Create;
    167166  AbstractCode := TProgram.Create;
    168167  ErrorMessages := TListObject.Create;
    169168  CompiledFolder := 'Compiled';
    170169  ModuleManager := TModuleManager.Create(nil);
     170  ModuleManager.API := API;
    171171end;
    172172
     
    179179destructor TCompiler.Destroy;
    180180begin
    181   ModuleManager.Free;
    182   Analyzer.Free;
    183   AbstractCode.Free;
    184   Targets.Free;
    185   ErrorMessages.Free;
     181  FreeAndNil(ModuleManager);
     182  FreeAndNil(AbstractCode);
     183  FreeAndNil(ErrorMessages);
    186184end;
    187185
  • trunk/IDE/Forms/UFormAbout.pas

    r55 r71  
    4848    BeginUpdate;
    4949    Clear;
    50     Add(SApplicationName + ': ' + Name);
     50    Add(SApplicationName + ': ' + AppName);
    5151    Add(SVersion + ': ' + Version);
    5252    Add(SReleaseDate + ': ' + DateToStr(ReleaseDate));
  • trunk/IDE/Forms/UFormMain.lfm

    r68 r71  
    55  Width = 695
    66  Caption = 'Transpascal IDE'
    7   ClientHeight = 482
     7  ClientHeight = 476
    88  ClientWidth = 695
    99  Font.Height = -11
     
    2020    Left = 0
    2121    Height = 5
    22     Top = 477
     22    Top = 471
    2323    Width = 695
    2424    Align = alBottom
     
    8989    object ComboBoxTarget: TComboBox
    9090      Left = 230
    91       Height = 21
     91      Height = 27
    9292      Top = 2
    9393      Width = 100
    94       ItemHeight = 13
     94      ItemHeight = 0
    9595      OnChange = ComboBoxTargetChange
    9696      Style = csDropDownList
     
    105105  object Splitter1: TSplitter
    106106    Left = 490
    107     Height = 345
     107    Height = 339
    108108    Top = 26
    109109    Width = 5
     
    113113  object PageControlRight: TPageControl
    114114    Left = 495
    115     Height = 345
     115    Height = 339
    116116    Top = 26
    117117    Width = 200
     
    137137    Left = 0
    138138    Height = 101
    139     Top = 376
     139    Top = 370
    140140    Width = 695
    141141    ActivePage = TabSheetMessages
     
    155155    Left = 0
    156156    Height = 5
    157     Top = 371
     157    Top = 365
    158158    Width = 695
    159159    Align = alBottom
     
    162162  object PageControlMain: TPageControl
    163163    Left = 0
    164     Height = 345
     164    Height = 339
    165165    Top = 26
    166166    Width = 490
  • trunk/IDE/Forms/UFormMain.pas

    r68 r71  
    330330
    331331  UpdateMenu;
    332   Core.Compiler.Targets.LoadToStrings(ComboBoxTarget.Items);
    333   ComboBoxTarget.ItemIndex := Core.Compiler.Targets.IndexOf(Core.Compiler.Target);
     332  Core.Compiler.API.Targets.LoadToStrings(ComboBoxTarget.Items);
     333  ComboBoxTarget.ItemIndex := Core.Compiler.API.Targets.IndexOf(Core.Compiler.Target);
    334334  FormSourceCode.UpdateInterface;
    335335  FormTargetCode.UpdateInterface;
     
    435435begin
    436436  with TMenuItem(Sender) do begin
    437     Core.Compiler.Target := TTarget(Core.Compiler.Targets[MenuIndex]);
     437    Core.Compiler.Target := TTarget(Core.Compiler.API.Targets[MenuIndex]);
    438438    UpdateInterface;
    439439  end;
  • trunk/IDE/Forms/UFormTargets.pas

    r60 r71  
    6262procedure TFormTargets.ListView1Data(Sender: TObject; Item: TListItem);
    6363begin
    64   if (Item.Index >= 0) and (Item.Index < Core.Compiler.Targets.Count) then
    65   with TTarget(Core.Compiler.Targets[Item.Index]) do begin
     64  if (Item.Index >= 0) and (Item.Index < Core.Compiler.API.Targets.Count) then
     65  with TTarget(Core.Compiler.API.Targets[Item.Index]) do begin
    6666    Item.Caption := Name;
    67     Item.Data := Core.Compiler.Targets[Item.Index];
     67    Item.Data := Core.Compiler.API.Targets[Item.Index];
    6868    //Item.SubItems.Add(Producer.CompilerPath);
    6969  end;
     
    7272procedure TFormTargets.ReloadList;
    7373begin
    74   ListView1.Items.Count := Core.Compiler.Targets.Count;
     74  ListView1.Items.Count := Core.Compiler.API.Targets.Count;
    7575  ListView1.Refresh;
    7676end;
  • trunk/IDE/UCore.pas

    r70 r71  
    5656    procedure LoadFromRegistry(Root: HKEY; const Key: string);
    5757    procedure SaveToRegistry(Root: HKEY; const Key: string);
    58     procedure RegisterModules;
     58    procedure RegisterIDEModules;
     59    procedure RegisterCompilerModules;
    5960  end;
    6061
     
    6768
    6869uses
    69   UFormMain, UProjectTemplates, UIDEModulePascal;
     70  UFormMain, UProjectTemplates, UIDEModulePascal, UModulePascal, UModuleGCC;
    7071
    7172{ TCore }
     
    108109
    109110  ModuleManager := TModuleManager.Create(nil);
    110   RegisterModules;
     111  RegisterIDEModules;
     112
     113  RegisterCompilerModules;
    111114end;
    112115
     
    200203end;
    201204
    202 procedure TCore.RegisterModules;
     205procedure TCore.RegisterIDEModules;
    203206begin
    204207  ModuleManager.RegisterModule(TIDEModulePascal.Create);
     208end;
     209
     210procedure TCore.RegisterCompilerModules;
     211begin
     212  with Compiler.ModuleManager do begin
     213    RegisterModule(TModulePascal.Create, True);
     214    RegisterModule(TModuleGCC.Create, True);
     215{    RegisterModule(TModuleInterpretter.Create);
     216    RegisterModule(TModuleDelphi.Create);
     217    RegisterModule(TModulePHP.Create);
     218    RegisterModule(TModuleJava.Create);
     219    RegisterModule(TModuleASM8051.Create);
     220    RegisterModule(TModuleXML.Create);
     221    RegisterModule(TModuleNASM.Create);}
     222  end;
    205223end;
    206224
Note: See TracChangeset for help on using the changeset viewer.