Changeset 77 for trunk/Compiler


Ignore:
Timestamp:
Jun 4, 2024, 9:53:17 PM (6 months ago)
Author:
chronos
Message:
  • Modified: Compiler targets moved into modules.
Location:
trunk/Compiler
Files:
12 added
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/Compiler.pas

    r75 r77  
    193193  FreeAndNil(Executors);
    194194  FreeAndNil(Convertors);
     195  inherited;
    195196end;
    196197
     
    223224    Analyzer.OnGetSource(ExtractFileName(Analyzer.FileName), Analyzer.SourceCode2);
    224225    Analyzer.Process;
    225     //ShowMessage(IntToHex(Integer(Addr(Analyzer.OnGetSource)), 8));
    226226    Analyzer.ParseModule(AbstractCode);
    227227  end else raise Exception.Create(SNothingToAnalyze);
  • trunk/Compiler/Modules/ASM8051/ProducerASM8051.pas

    r75 r77  
    4545implementation
    4646
    47 
    4847{ TAssemblerLine }
    4948
     
    7170  NewLine.Operand2 := Operand2;
    7271end;
    73 
    7472
    7573(*
     
    113111destructor TProducerAsm8051.Destroy;
    114112begin
    115   AssemblyCode.Free;
     113  FreeAndNil(AssemblyCode);
    116114  inherited;
    117115end;
  • trunk/Compiler/Modules/GCC/ModuleGCC.pas

    r75 r77  
    3636destructor TModuleGCC.Destroy;
    3737begin
    38   inherited Destroy;
     38  inherited;
    3939end;
    4040
  • trunk/Compiler/Modules/GCC/ProducerGCC.pas

    r75 r77  
    44
    55uses
    6   SysUtils, Variants, Classes, Graphics, Controls, Forms,
    7   Dialogs, StdCtrls, SourceCodePascal, Producer, StrUtils;
     6  SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
     7  SourceCodePascal, Producer, StrUtils;
    88
    99type
     
    4646  end;
    4747
     48
    4849implementation
    4950
     
    6465destructor TProducerGCCC.Destroy;
    6566begin
    66   TextSource.Free;
     67  FreeAndNil(TextSource);
    6768  inherited;
    6869end;
     
    153154end;
    154155
    155 procedure TProducerGCCC.GenerateFunctions(Functions: TFunctions; Prefix: string
    156   );
     156procedure TProducerGCCC.GenerateFunctions(Functions: TFunctions;
     157  Prefix: string = '');
    157158var
    158159  I: Integer;
  • trunk/Compiler/Modules/Java/ModuleJava.pas

    r75 r77  
    44
    55uses
    6   Classes, SysUtils, ModularSystem, SourceConvertor;
     6  Classes, SysUtils, ModularSystem, SourceConvertor, TargetJava;
    77
    88type
     
    1010
    1111  TModuleJava = class(TModule)
     12    Target: TTargetJava;
    1213    constructor Create(AOwner: TComponent); override;
    1314    procedure DoInstall; override;
     
    3536procedure TModuleJava.DoInstall;
    3637begin
     38  Target := TTargetJava.Create;
     39  with TCompilerAPI(API) do begin
     40    RegisterTarget(TTargetJava);
     41  end;
    3742  inherited;
    3843end;
     
    4045procedure TModuleJava.DoUninstall;
    4146begin
     47  with TCompilerAPI(API) do begin
     48    UnregisterTarget(TTargetJava);
     49  end;
    4250  inherited;
    4351end;
  • trunk/Compiler/TranspascalCompiler.lpk

    r75 r77  
    1010      <PathDelim Value="\"/>
    1111      <SearchPaths>
    12         <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;Modules\ASM8051;Modules\Brainfuck;Modules\Interpretter;Modules\Delphi;Modules\PHP;Modules\Java"/>
     12        <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;Modules\ASM8051;Modules\Brainfuck;Modules\Interpretter;Modules\Delphi;Modules\PHP;Modules\Java;Modules\XML;Modules\DynamicC;Modules\NASM"/>
    1313        <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    1414      </SearchPaths>
     
    2525    </CompilerOptions>
    2626    <Version Minor="1"/>
    27     <Files Count="28">
     27    <Files Count="31">
    2828      <Item1>
    2929        <Filename Value="Compiler.pas"/>
     
    5555      </Item7>
    5656      <Item8>
    57         <Filename Value="Target\Dynamic C\ProducerDynamicC.pas"/>
    58         <UnitName Value="ProducerDynamicC"/>
     57        <Filename Value="Modules\ASM8051\ProducerASM8051.pas"/>
     58        <UnitName Value="ProducerASM8051"/>
    5959      </Item8>
    6060      <Item9>
    61         <Filename Value="Modules\ASM8051\ProducerASM8051.pas"/>
    62         <UnitName Value="ProducerASM8051"/>
     61        <Filename Value="Modules\ASM8051\TargetASM8051.pas"/>
     62        <UnitName Value="TargetASM8051"/>
    6363      </Item9>
    6464      <Item10>
    65         <Filename Value="Modules\ASM8051\TargetASM8051.pas"/>
    66         <UnitName Value="TargetASM8051"/>
     65        <Filename Value="Modules\GCC\TargetGCC.pas"/>
     66        <UnitName Value="TargetGCC"/>
    6767      </Item10>
    6868      <Item11>
    69         <Filename Value="Modules\GCC\TargetGCC.pas"/>
    70         <UnitName Value="TargetGCC"/>
     69        <Filename Value="Modules\GCC\ProducerGCC.pas"/>
     70        <UnitName Value="ProducerGCC"/>
    7171      </Item11>
    7272      <Item12>
    73         <Filename Value="Modules\GCC\ProducerGCC.pas"/>
    74         <UnitName Value="ProducerGCC"/>
     73        <Filename Value="Modules\Delphi\ProducerDelphi.pas"/>
     74        <UnitName Value="ProducerDelphi"/>
    7575      </Item12>
    7676      <Item13>
    77         <Filename Value="Modules\Delphi\ProducerDelphi.pas"/>
    78         <UnitName Value="ProducerDelphi"/>
     77        <Filename Value="Modules\Delphi\ModuleDelphi.pas"/>
     78        <UnitName Value="ModuleDelphi"/>
    7979      </Item13>
    8080      <Item14>
    81         <Filename Value="Modules\Delphi\ModuleDelphi.pas"/>
    82         <UnitName Value="ModuleDelphi"/>
     81        <Filename Value="Modules\Interpretter\ModuleInterpretter.pas"/>
     82        <UnitName Value="ModuleInterpretter"/>
    8383      </Item14>
    8484      <Item15>
    85         <Filename Value="Target\PHP\TargetPHP.pas"/>
    86         <UnitName Value="TargetPHP"/>
     85        <Filename Value="Modules\Pascal\ModulePascal.pas"/>
     86        <UnitName Value="ModulePascal"/>
    8787      </Item15>
    8888      <Item16>
    89         <Filename Value="Target\Java\TargetJava.pas"/>
    90         <UnitName Value="TargetJava"/>
     89        <Filename Value="CompilerAPI.pas"/>
     90        <UnitName Value="CompilerAPI"/>
    9191      </Item16>
    9292      <Item17>
    93         <Filename Value="Target\XML\TargetXML.pas"/>
    94         <UnitName Value="TargetXML"/>
     93        <Filename Value="Modules\GCC\ModuleGCC.pas"/>
     94        <UnitName Value="ModuleGCC"/>
    9595      </Item17>
    9696      <Item18>
    97         <Filename Value="Modules\Interpretter\ModuleInterpretter.pas"/>
    98         <UnitName Value="ModuleInterpretter"/>
     97        <Filename Value="SourceConvertor.pas"/>
     98        <UnitName Value="SourceConvertor"/>
    9999      </Item18>
    100100      <Item19>
    101         <Filename Value="Target\NASM\TargetNASM.pas"/>
    102         <UnitName Value="TargetNASM"/>
     101        <Filename Value="Modules\Brainfuck\ModuleBrainfuck.pas"/>
     102        <UnitName Value="ModuleBrainfuck"/>
    103103      </Item19>
    104104      <Item20>
    105         <Filename Value="Modules\Pascal\ModulePascal.pas"/>
    106         <UnitName Value="ModulePascal"/>
     105        <Filename Value="Modules\PHP\ModulePHP.pas"/>
     106        <UnitName Value="ModulePHP"/>
    107107      </Item20>
    108108      <Item21>
    109         <Filename Value="CompilerAPI.pas"/>
    110         <UnitName Value="CompilerAPI"/>
     109        <Filename Value="Modules\Java\ModuleJava.pas"/>
     110        <UnitName Value="ModuleJava"/>
    111111      </Item21>
    112112      <Item22>
    113         <Filename Value="Modules\GCC\ModuleGCC.pas"/>
    114         <UnitName Value="ModuleGCC"/>
     113        <Filename Value="Modules\ASM8051\ModuleASM8051.pas"/>
     114        <UnitName Value="ModuleASM8051"/>
    115115      </Item22>
    116116      <Item23>
    117         <Filename Value="SourceConvertor.pas"/>
    118         <UnitName Value="SourceConvertor"/>
     117        <Filename Value="Modules\Java\TargetJava.pas"/>
     118        <UnitName Value="TargetJava"/>
    119119      </Item23>
    120120      <Item24>
    121         <Filename Value="Modules\Brainfuck\ModuleBrainfuck.pas"/>
    122         <UnitName Value="ModuleBrainfuck"/>
     121        <Filename Value="Modules\PHP\TargetPHP.pas"/>
     122        <UnitName Value="TargetPHP"/>
    123123      </Item24>
    124124      <Item25>
    125         <Filename Value="Modules\PHP\ModulePHP.pas"/>
    126         <UnitName Value="ModulePHP"/>
     125        <Filename Value="Modules\XML\ModuleXML.pas"/>
     126        <UnitName Value="ModuleXML"/>
    127127      </Item25>
    128128      <Item26>
    129         <Filename Value="Modules\Java\ModuleJava.pas"/>
    130         <UnitName Value="ModuleJava"/>
     129        <Filename Value="Modules\XML\TargetXML.pas"/>
     130        <UnitName Value="TargetXML"/>
    131131      </Item26>
    132132      <Item27>
    133         <Filename Value="Modules\ASM8051\ModuleASM8051.pas"/>
    134         <UnitName Value="ModuleASM8051"/>
     133        <Filename Value="Modules\DynamicC\ModuleDynamicC.pas"/>
     134        <UnitName Value="ModuleDynamicC"/>
    135135      </Item27>
    136136      <Item28>
    137         <Filename Value="Target\GCC\ProducerGCC.pas"/>
    138         <UnitName Value="ProducerGCC"/>
     137        <Filename Value="Modules\DynamicC\ProducerDynamicC.pas"/>
     138        <UnitName Value="ProducerDynamicC"/>
    139139      </Item28>
     140      <Item29>
     141        <Filename Value="Modules\NASM\TargetNASM.pas"/>
     142        <UnitName Value="TargetNASM"/>
     143      </Item29>
     144      <Item30>
     145        <Filename Value="Modules\DynamicC\TargetDynamicC.pas"/>
     146        <UnitName Value="TargetDynamicC"/>
     147      </Item30>
     148      <Item31>
     149        <Filename Value="Modules\NASM\ModuleNASM.pas"/>
     150        <UnitName Value="ModuleNASM"/>
     151      </Item31>
    140152    </Files>
    141153    <CompatibilityMode Value="True"/>
  • trunk/Compiler/TranspascalCompiler.pas

    r75 r77  
    1010uses
    1111  Compiler, SourceCodePascal, Producer, Analyzer, Target, Executor,
    12   AnalyzerPascal, ProducerDynamicC, ProducerASM8051, TargetASM8051, TargetGCC,
    13   ProducerGCC, ProducerDelphi, ModuleDelphi, TargetPHP, TargetJava, TargetXML,
    14   ModuleInterpretter, TargetNASM, ModulePascal, CompilerAPI, ModuleGCC,
    15   SourceConvertor, ModuleBrainfuck, ModulePHP, ModuleJava, ModuleASM8051,
    16   LazarusPackageIntf;
     12  AnalyzerPascal, ProducerASM8051, TargetASM8051, TargetGCC, ProducerGCC,
     13  ProducerDelphi, ModuleDelphi, ModuleInterpretter, ModulePascal, CompilerAPI,
     14  ModuleGCC, SourceConvertor, ModuleBrainfuck, ModulePHP, ModuleJava,
     15  ModuleASM8051, TargetJava, TargetPHP, ModuleXML, TargetXML, ModuleDynamicC,
     16  ProducerDynamicC, TargetNASM, TargetDynamicC, ModuleNASM, LazarusPackageIntf;
    1717
    1818implementation
Note: See TracChangeset for help on using the changeset viewer.