Changeset 71 for trunk/Compiler


Ignore:
Timestamp:
Aug 1, 2012, 6:20:01 AM (12 years ago)
Author:
chronos
Message:
  • Modified: Modules should use modularsystem API object.
Location:
trunk/Compiler
Files:
5 added
3 deleted
4 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
Note: See TracChangeset for help on using the changeset viewer.