Changeset 70


Ignore:
Timestamp:
Jul 31, 2012, 4:06:07 PM (12 years ago)
Author:
chronos
Message:
  • Modified: Code related to pascal language in compiler moved to module.
Location:
trunk
Files:
7 added
3 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/TranspascalCompiler.lpk

    r67 r70  
    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"/>
     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"/>
    1212        <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    1313      </SearchPaths>
     
    2121          <IgnoredMessages idx5023="True" idx5024="True" idx5025="True" idx5026="True" idx5027="True" idx5028="True" idx5029="True" idx5030="True" idx5031="True"/>
    2222        </CompilerMessages>
    23         <CustomOptions Value="-dSINGLE_PRODUCER"/>
    2423        <CompilerPath Value="$(CompPath)"/>
    2524      </Other>
    2625    </CompilerOptions>
    2726    <Version Minor="1"/>
    28     <Files Count="20">
     27    <Files Count="21">
    2928      <Item1>
    3029        <Filename Value="UCompiler.pas"/>
     
    5251      </Item6>
    5352      <Item7>
    54         <Filename Value="Analyze\UAnalyzerPascal.pas"/>
     53        <Filename Value="Modules\Pascal\UAnalyzerPascal.pas"/>
    5554        <UnitName Value="UAnalyzerPascal"/>
    5655      </Item7>
     
    107106        <UnitName Value="UTargetNASM"/>
    108107      </Item20>
     108      <Item21>
     109        <Filename Value="Modules\Pascal\UModulePascal.pas"/>
     110        <UnitName Value="UModulePascal"/>
     111      </Item21>
    109112    </Files>
    110113    <Type Value="RunAndDesignTime"/>
    111     <RequiredPkgs Count="3">
     114    <RequiredPkgs Count="4">
    112115      <Item1>
    113         <PackageName Value="TemplateGenerics"/>
     116        <PackageName Value="ModularSystem"/>
     117        <MinVersion Minor="1" Valid="True"/>
    114118      </Item1>
    115119      <Item2>
    116         <PackageName Value="LCL"/>
     120        <PackageName Value="TemplateGenerics"/>
    117121      </Item2>
    118122      <Item3>
     123        <PackageName Value="LCL"/>
     124      </Item3>
     125      <Item4>
    119126        <PackageName Value="FCL"/>
    120127        <MinVersion Major="1" Valid="True"/>
    121       </Item3>
     128      </Item4>
    122129    </RequiredPkgs>
    123130    <UsageOptions>
  • trunk/Compiler/TranspascalCompiler.pas

    r67 r70  
    1212  UTargetASM8051, UTargetGCC, UProducerGCC, UProducerPascal, UTargetDelphi,
    1313  UTargetPHP, UTargetJava, UTargetXML, UTargetInterpretter, UTargetNASM,
    14   LazarusPackageIntf;
     14  UModulePascal, LazarusPackageIntf;
    1515
    1616implementation
  • trunk/Compiler/UAnalyzer.pas

    r68 r70  
    8383  end;
    8484
    85   // TListAnalyzer = TGObjectList<Integer, TAnalyzer>
     85  { TListAnalyzer }
     86
    8687  TListAnalyzer = class(TListObject)
     88    function SearchBySysName(Name: string): TAnalyzer;
     89    procedure LoadToStrings(Strings: TStrings);
    8790  end;
    8891
     
    9194
    9295implementation
     96
     97{ TListAnalyzer }
     98
     99function TListAnalyzer.SearchBySysName(Name: string): TAnalyzer;
     100var
     101  I: Integer;
     102begin
     103  I := 0;
     104  while (I < Count) and (TAnalyzer(Items[I]).SysName <> Name) do Inc(I);
     105  if I < Count then Result := TAnalyzer(Items[I])
     106    else Result := nil;
     107end;
     108
     109procedure TListAnalyzer.LoadToStrings(Strings: TStrings);
     110var
     111  I: Integer;
     112begin
     113  try
     114    Strings.BeginUpdate;
     115    Strings.Clear;
     116    for I := 0 to Count - 1 do
     117      Strings.AddObject(TAnalyzer(Items[I]).Name, Items[I]);
     118  finally
     119    Strings.EndUpdate;
     120  end;
     121end;
    93122
    94123{ TAnalyzer }
  • trunk/Compiler/UCompiler.pas

    r68 r70  
    66
    77uses
    8   SysUtils, Variants, Classes, Contnrs, FileUtil,
     8  SysUtils, Variants, Classes, Contnrs, FileUtil, UModularSystem,
    99  Dialogs, USourceCode, UProducer, UAnalyzer, SpecializedList, UTarget;
    1010
     
    4949    TargetFolder: string;
    5050    Targets: TListTarget;
     51    Analyzers: TListAnalyzer;
    5152    MainSource: string;
     53    ModuleManager: TModuleManager;
    5254    procedure ErrorMessage(Text: string; Position: TPoint; FileName: string);
    5355    constructor Create; virtual;
     
    162164constructor TCompiler.Create;
    163165begin
    164   Analyzer := TAnalyzerPascal.Create;
    165166  Targets := TListTarget.Create;
    166 
    167   RegisterTargets(Self);
    168 
    169167  AbstractCode := TProgram.Create;
    170168  ErrorMessages := TListObject.Create;
    171169  CompiledFolder := 'Compiled';
     170  ModuleManager := TModuleManager.Create(nil);
    172171end;
    173172
     
    180179destructor TCompiler.Destroy;
    181180begin
     181  ModuleManager.Free;
    182182  Analyzer.Free;
    183183  AbstractCode.Free;
  • trunk/IDE/Transpascal.lpi

    r68 r70  
    8080      </local>
    8181    </RunParams>
    82     <RequiredPackages Count="8">
     82    <RequiredPackages Count="9">
    8383      <Item1>
    84         <PackageName Value="GeneralRegistry"/>
     84        <PackageName Value="ModularSystem"/>
    8585        <MinVersion Minor="1" Valid="True"/>
    8686      </Item1>
    8787      <Item2>
     88        <PackageName Value="GeneralRegistry"/>
     89        <MinVersion Minor="1" Valid="True"/>
     90      </Item2>
     91      <Item3>
    8892        <PackageName Value="Common"/>
    8993        <MinVersion Minor="7" Valid="True"/>
    90       </Item2>
    91       <Item3>
    92         <PackageName Value="CoolTranslator"/>
    9394      </Item3>
    9495      <Item4>
     96        <PackageName Value="CoolTranslator"/>
     97      </Item4>
     98      <Item5>
    9599        <PackageName Value="LCLBase"/>
    96100        <MinVersion Major="1" Release="1" Valid="True"/>
    97       </Item4>
    98       <Item5>
    99         <PackageName Value="TemplateGenerics"/>
    100101      </Item5>
    101102      <Item6>
    102         <PackageName Value="TranspascalCompiler"/>
     103        <PackageName Value="TemplateGenerics"/>
    103104      </Item6>
    104105      <Item7>
     106        <PackageName Value="TranspascalCompiler"/>
     107      </Item7>
     108      <Item8>
    105109        <PackageName Value="SynEdit"/>
    106110        <MinVersion Major="1" Valid="True"/>
    107       </Item7>
    108       <Item8>
     111      </Item8>
     112      <Item9>
    109113        <PackageName Value="LCL"/>
    110       </Item8>
     114      </Item9>
    111115    </RequiredPackages>
    112     <Units Count="21">
     116    <Units Count="20">
    113117      <Unit0>
    114118        <Filename Value="Transpascal.lpr"/>
     
    245249      </Unit18>
    246250      <Unit19>
    247         <Filename Value="Common\UModule.pas"/>
    248         <IsPartOfProject Value="True"/>
    249         <UnitName Value="UModule"/>
     251        <Filename Value="Modules\Pascal\UIDEModulePascal.pas"/>
     252        <IsPartOfProject Value="True"/>
     253        <UnitName Value="UIDEModulePascal"/>
    250254      </Unit19>
    251       <Unit20>
    252         <Filename Value="Modules\Pascal\UModulePascal.pas"/>
    253         <IsPartOfProject Value="True"/>
    254         <UnitName Value="UModulePascal"/>
    255       </Unit20>
    256255    </Units>
    257256  </ProjectOptions>
     
    264263    <SearchPaths>
    265264      <IncludeFiles Value="$(ProjOutDir)"/>
    266       <OtherUnitFiles Value="Forms;Common;Modules\Pascal"/>
     265      <OtherUnitFiles Value="Forms;Modules\Pascal"/>
    267266      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    268267    </SearchPaths>
  • trunk/IDE/Transpascal.lpr

    r68 r70  
    1414  UFormAbout, UFormOptions, UFormTargets,
    1515UFormProjectNew, UProjectTemplates, UFormTargetProject, UCore,
    16 UFormTargetOptions, UFormExternalProducerOutput, UModule, UModulePascal;
     16UFormTargetOptions, UFormExternalProducerOutput, UIDEModulePascal;
    1717
    1818{$R *.res}
  • trunk/IDE/UCore.pas

    r69 r70  
    88  Classes, SysUtils, FileUtil, ULastOpenedList, UProject, UApplicationInfo,
    99  UCompiler, URegistry, Registry, UDebugLog, UCoolTranslator, UTarget,
    10   USourceCode, UModule;
     10  USourceCode, UModularSystem;
    1111
    1212type
     
    6767
    6868uses
    69   UFormMain, UProjectTemplates, UModulePascal;
     69  UFormMain, UProjectTemplates, UIDEModulePascal;
    7070
    7171{ TCore }
     
    107107  LogParsing := False;
    108108
    109   ModuleManager := TModuleManager.Create;
     109  ModuleManager := TModuleManager.Create(nil);
    110110  RegisterModules;
    111111end;
     
    202202procedure TCore.RegisterModules;
    203203begin
    204   ModuleManager.Register(TModulePascal, True);
     204  ModuleManager.RegisterModule(TIDEModulePascal.Create);
    205205end;
    206206
Note: See TracChangeset for help on using the changeset viewer.