Changeset 77


Ignore:
Timestamp:
Oct 22, 2010, 9:22:55 AM (14 years ago)
Author:
george
Message:
  • Compiler producer for C language separated to GCC and Dynamic C dialect.
  • Enhanced: Parse record functions body.
Location:
branches/Transpascal
Files:
2 added
11 edited

Legend:

Unmodified
Added
Removed
  • branches/Transpascal/Compiler/Analyze/UParser.pas

    r76 r77  
    6464    procedure Expect(Code: string);
    6565    procedure ErrorMessage(const Text: string; const Arguments: array of const;
    66       TokenOffset: Integer);
     66      TokenOffset: Integer = -1);
    6767    property OnErrorMessage: TErrorMessageEvent read FOnErrorMessage write FOnErrorMessage;
    6868    property OnDebugLog: TDebugLogEvent read FOnDebugLog write FOnDebugLog;
     
    8080
    8181procedure TBaseParser.ErrorMessage(const Text: string; const Arguments: array of const;
    82   TokenOffset: Integer);
     82  TokenOffset: Integer = -1);
    8383begin
    8484  if Assigned(FOnErrorMessage) then
  • branches/Transpascal/Compiler/Analyze/UPascalParser.pas

    r76 r77  
    3232    procedure ParseBeginEnd(SourceCode: TBeginEnd);
    3333    procedure ParseFunctionList(SourceCode: TFunctionList; Exported: Boolean = False);
     34    procedure ParseFunctionParameters(SourceCode: TFunction);
    3435    procedure ParseIfThenElse(SourceCode: TIfThenElse);
    3536    procedure ParseForToDo(SourceCode: TForToDo);
     
    5859  SUndefinedConstant = 'Undefined constant "%s".';
    5960  SUnitNotFound = 'Unit "%s" not found.';
     61  SFunctionNotDeclared = 'Function "%s" not declared.';
     62  SUnknownProcName = 'Unknown proc name "%s".';
    6063
    6164
     
    507510{ TParserParseFunctionList }
    508511
    509 procedure TPascalParser.ParseFunctionList(SourceCode: TFunctionList; Exported: Boolean = False);
    510 var
    511   Identifiers: TStringList;
     512procedure TPascalParser.ParseFunctionList(SourceCode: TFunctionList;
     513  Exported: Boolean = False);
     514var
    512515  NewValueType: TType;
    513516  TypeName: string;
     517  UseName: string;
     518  I: Integer;
     519  UseType: TType;
     520  UseFunction: TFunction;
     521  FunctionType: TFunctionType;
     522begin
     523  with SourceCode do begin
     524    if NextToken = 'procedure' then begin
     525      Expect('procedure');
     526      FunctionType := ftProcedure;
     527    end else
     528    if NextToken = 'function' then begin
     529      Expect('function');
     530      FunctionType := ftFunction;
     531    end else
     532    if NextToken = 'constructor' then begin
     533      Expect('constructor');
     534      FunctionType := ftConstructor;
     535    end else
     536    if NextToken = 'destructor' then begin
     537      Expect('destructor');
     538      FunctionType := ftDestructor;
     539    end else ErrorMessage(SUnknownProcName, [NextToken]);
     540
     541    // Read function name
     542    UseName := ReadCode;
     543    UseType := SourceCode.Parent.Types.Search(UseName);
     544    if Assigned(UseType) and ((UseType is TTypeRecord) or
     545    (UseType is TTypeClass)) then begin
     546      Expect('.');
     547      UseName := ReadCode;
     548      if UseType is TTypeRecord then begin
     549        UseFunction := TTypeRecord(UseType).CommonBlock.Functions.Search(UseName);
     550        if not Assigned(UseFunction) then begin
     551          ErrorMessage(SFunctionNotDeclared, [UseName]);
     552          Exit;
     553        end;
     554      end;
     555    end else begin
     556      // Create new function
     557      UseFunction := TFunction.Create;
     558      UseFunction.Parent := SourceCode.Parent;
     559      UseFunction.Name := UseName;
     560      UseFunction.FunctionType := FunctionType;
     561      Add(UseFunction);
     562    end;
     563    with UseFunction do begin
     564      // Parse parameters
     565      if NextToken = '(' then
     566        ParseFunctionParameters(UseFunction);
     567
     568      // Parse function result type
     569      if FunctionType = ftFunction then begin
     570        Expect(':');
     571        TypeName := ReadCode;
     572        NewValueType := Parent.Types.Search(TypeName);
     573        if not Assigned(NewValueType) then
     574          ErrorMessage(SUndefinedType, [TypeName], -1);
     575(*        else
     576          begin
     577            ResultType := NewValueType;
     578            with TVariable(Parent.Variables.Items[Parent.Variables.Add(
     579                TVariable.Create)]) do
     580            begin
     581              Name := 'Result';
     582              ValueType := NewValueType;
     583            end;
     584          end;  *)
     585      end;
     586      Expect(';');
     587
     588      // Check directives
     589      if NextToken = 'internal' then begin
     590        Expect('internal');
     591        Expect(';');
     592        Internal := True;
     593      end;
     594    end;
     595
     596    if not Exported then ParseCommonBlock(UseFunction);
     597//    if UseFunction then UseFunction.Code ;
     598  end;
     599end;
     600
     601procedure TPascalParser.ParseFunctionParameters(SourceCode: TFunction);
     602var
     603  Identifiers: TStringList;
    514604  VariableName: string;
    515   Variable: TParameter;
    516   I: integer;
    517 begin
     605  UseVariable: TParameter;
     606  TypeName: string;
     607  UseType: TType;
     608  I: Integer;
     609begin
     610  with SourceCode do
    518611  try
    519   Identifiers := TStringList.Create;
    520   with SourceCode do begin
    521     with TFunction(Items[Add(TFunction.Create)]) do begin
    522       Parent := SourceCode.Parent;
    523       if NextToken = 'procedure' then begin
    524         Expect('procedure');
    525         HaveResult := False;
    526       end else begin
    527         Expect('function');
    528         HaveResult := True;
    529       end;
    530       Name := ReadCode;
    531 
    532       if NextToken = '(' then begin
     612    Identifiers := TStringList.Create;
    533613        Expect('(');
    534614        while NextToken <> ')' do begin
     
    540620            if VariableName = 'const' then begin
    541621            end else begin
    542               Variable := Search(VariableName);
    543               if not Assigned(Variable) then begin
     622              UseVariable := Search(VariableName);
     623              if not Assigned(UseVariable) then begin
    544624                Identifiers.Add(VariableName);
    545625                while NextToken = ',' do begin
     
    551631              Expect(':');
    552632              TypeName := ReadCode;
    553               NewValueType := Parent.Types.Search(TypeName);
    554               if not Assigned(NewValueType) then
     633              UseType := Parent.Types.Search(TypeName);
     634              if not Assigned(UseType) then
    555635                ErrorMessage(SUndefinedType, [TypeName], -1)
    556636              else
     
    559639                  begin
    560640                    Name := Identifiers[I];
    561                     ValueType := NewValueType;
     641                    ValueType := UseType;
    562642                  end;
    563643            end;
     
    566646        end;
    567647        Expect(')');
    568 
    569         // Parse function result type
    570         if HaveResult then begin
    571           Expect(':');
    572           TypeName := ReadCode;
    573           NewValueType := Parent.Types.Search(TypeName);
    574           if not Assigned(NewValueType) then
    575             ErrorMessage(SUndefinedType, [TypeName], -1);
    576 (*          else
    577           begin
    578             ResultType := NewValueType;
    579             with TVariable(Parent.Variables.Items[Parent.Variables.Add(
    580                 TVariable.Create)]) do
    581             begin
    582               Name := 'Result';
    583               ValueType := NewValueType;
    584             end;
    585           end;  *)
    586         end;
    587       end;
    588       Expect(';');
    589 
    590       // Check directives
    591       if NextToken = 'internal' then begin
    592         Expect('internal');
    593         Expect(';');
    594         System := True;
    595       end;
    596     end;
    597 
    598     if not Exported then ParseCommonBlock(TFunction(Last));
    599   end;
    600648  finally
    601649    Identifiers.Free;
     
    924972    if NextToken = 'var' then begin
    925973      Expect('var');
    926       SectionType := stVar
     974      SectionType := stVar;
    927975    end else
    928976    if NextToken = 'const' then begin
    929977      Expect('const');
    930       SectionType := stConst
     978      SectionType := stConst;
    931979    end else
    932980    if NextToken = 'type' then begin
  • branches/Transpascal/Compiler/Produce/UProducerPascal.pas

    r68 r77  
    144144    for I := 0 to Types.Count - 1 do
    145145    with TType(Types[I]) do
    146     if (not System) then begin
     146    if (not Internal) then begin
    147147      GenerateType(TType(Types[I]), '=');
    148148      Emit(';');
     
    178178  for I := 0 to Functions.Count - 1 do
    179179  with TFunction(Functions[I]) do
    180   if not System then
     180  if not Internal then
    181181  begin
    182     if HaveResult then
     182    if FunctionType = ftFunction then
    183183      Line := 'function ' + Name
    184184      else Line := 'procedure ' + Name;
     
    192192      Line := Line + ')';
    193193    end;
    194     if HaveResult and Assigned(ResultType) then
     194    if (FunctionType = ftFunction) and Assigned(ResultType) then
    195195      Line := Line + ': ' + ResultType.Name;
    196196    Emit(Line + ';');
  • branches/Transpascal/Compiler/Produce/UProducerTreeView.pas

    r68 r77  
    227227    for I := 0 to Types.Count - 1 do
    228228    with TType(Types[I]) do
    229     if not System then AddNodeType(NewNode, TType(Types[I]));
     229    if (not Internal) then AddNodeType(NewNode, TType(Types[I]));
    230230  end;
    231231end;
     
    265265  for I := 0 to Methods.Count - 1 do
    266266  with TFunction(Methods[I]) do
    267   if not System then begin
    268     if HaveResult then
     267  if (not Internal) then begin
     268    if FunctionType = ftFunction then
    269269      NewNode := TreeView.Items.AddChild(Node, 'function ' + Name)
    270270      else NewNode := TreeView.Items.AddChild(Node, 'procedure ' + Name);
     
    301301    for I := 0 to TypeRecord.CommonBlock.Types.Count - 1 do
    302302    with TType(TypeRecord.CommonBlock.Types[I]) do
    303     if not System then
     303    if not Internal then
    304304      AddNodeType(Node, TType(TypeRecord.CommonBlock.Types[I]));
    305305  end;
  • branches/Transpascal/Compiler/TranspascalCompiler.lpk

    r72 r77  
    1515      </Other>
    1616    </CompilerOptions>
    17     <Files Count="10">
     17    <Files Count="11">
    1818      <Item1>
    1919        <Filename Value="UCompiler.pas"/>
     
    3737      </Item5>
    3838      <Item6>
    39         <Filename Value="Produce\UProducerC.pas"/>
    40         <UnitName Value="UProducerC"/>
     39        <Filename Value="Produce\UProducerDynamicC.pas"/>
     40        <UnitName Value="UProducerDynamicC"/>
    4141      </Item6>
    4242      <Item7>
     
    5656        <UnitName Value="UGrammer"/>
    5757      </Item10>
     58      <Item11>
     59        <Filename Value="Produce\UProducerGCCC.pas"/>
     60        <UnitName Value="UProducerGCCC"/>
     61      </Item11>
    5862    </Files>
    5963    <Type Value="RunAndDesignTime"/>
  • branches/Transpascal/Compiler/TranspascalCompiler.pas

    r72 r77  
    99uses
    1010    UCompiler, USourceCode, UProducerTreeView, UProducer, UProducerAsm8051,
    11   UProducerC, UProducerPascal, UParser, UPascalParser, UGrammer,
    12   LazarusPackageIntf;
     11  UProducerDynamicC, UProducerPascal, UParser, UPascalParser, UGrammer,
     12  UProducerGCCC, LazarusPackageIntf;
    1313
    1414implementation
  • branches/Transpascal/Compiler/UCompiler.pas

    r76 r77  
    88  SysUtils, Variants, Classes,
    99  Dialogs, USourceCode, UProducer, UPascalParser, UParser,
    10   UProducerC, Contnrs;
     10  UProducerDynamicC, Contnrs, UProducerTreeView, UProducerASM8051,
     11  UProducerPascal, UProducerGCCC;
    1112
    1213type
     14  TProducerType = (ptGCCC, ptDynamicC, ptPascal, ptAssembler, ptXML);
    1315
    1416  TErrorMessage = class
     
    3335  private
    3436    FOnErrorMessage: TErrorMessageEvent;
     37    FProducerType: TProducerType;
    3538    procedure ErrorMessage(Text: string; Position: TPoint; FileName: string);
     39    procedure SetProducerType(const AValue: TProducerType);
    3640  public
    3741    ProgramCode: TProgram;
     
    4953    property OnErrorMessage: TErrorMessageEvent read FOnErrorMessage
    5054      write FOnErrorMessage;
     55    property ProducerType: TProducerType read FProducerType
     56      write SetProducerType;
    5157  end;
     58
     59const
     60  ProducerTypeName: array[TProducerType] of string = (
     61    'GCC C', 'Rabbit Dynamic C', 'Generic Pascal', 'Assembler', 'XML');
     62
    5263
    5364implementation
     
    93104
    94105  ProgramCode := TProgram.Create;
    95   Producer := TProducerC.Create;
     106  Producer := TProducerGCCC.Create;
    96107  Parser := TPascalParser.Create;
    97108  Parser.OnErrorMessage := ErrorMessage;
     
    127138end;
    128139
     140procedure TCompiler.SetProducerType(const AValue: TProducerType);
     141begin
     142  if FProducerType = AValue then Exit;
     143  FProducerType := AValue;
     144  Producer.Free;
     145  case AValue of
     146    ptGCCC: Producer := TProducerGCCC.Create;
     147    ptDynamicC: Producer := TProducerDynamicC.Create;
     148    ptPascal: Producer := TProducerPascal.Create;
     149    ptAssembler: Producer := TProducerGCCC.Create;
     150    ptXML: Producer := TProducerTreeView.Create;
     151  end;
     152end;
     153
    129154{ TCompilerTargetList }
    130155
  • branches/Transpascal/Compiler/USourceCode.pas

    r76 r77  
    153153
    154154  TType = class
    155     System: Boolean;
     155    Internal: Boolean;
    156156    Parent: TTypeList;
    157157    Name: string;
     
    259259  end;
    260260
     261  TFunctionType = (ftFunction, ftProcedure, ftConstructor, ftDestructor);
     262
    261263  TFunction = class(TCommonBlock)
    262264  public
    263     System: Boolean;
    264     HaveResult: Boolean;
     265    Internal: Boolean;
     266    FunctionType: TFunctionType;
    265267    Parameters: TParameterList;
    266268    ResultType: TType;
     
    769771    while (I < UsedModules.Count) and (not Assigned(Result)) do begin
    770772      with TUsedModule(UsedModules[I]) do
     773        if Assigned(Module) then
    771774        with Module do
    772775          Result := SearchType(AName, False);
  • branches/Transpascal/Forms/UMainForm.pas

    r76 r77  
    88  SysUtils, Variants, Classes, Graphics, Controls, Forms,
    99  Dialogs, StdCtrls, UCompiler, UProducerAsm8051, Registry,
    10   UProducerC, ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, UProducerTreeView,
     10  UProducerDynamicC, ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, UProducerTreeView,
    1111  UProducerPascal, Contnrs, UProject, FileUtil, Menus, ActnList, UCoolDocking,
    1212  UCompiledForm, UCodeTreeForm, URegistry, ULastOpenedList, UApplicationInfo,
     
    8484
    8585procedure TMainForm.ButtonCompileClick(Sender: TObject);
    86 var
    87   I: Integer;
    88 begin
    89   if ComboBoxTargetSelection.ItemIndex = 0 then begin
    90     Compiler.Producer.Free;
    91     Compiler.Producer := TProducerPascal.Create;
    92   end else
    93   if ComboBoxTargetSelection.ItemIndex = 1 then begin
    94     Compiler.Producer.Free;
    95     Compiler.Producer := TProducerC.Create;
    96   end else
    97   if ComboBoxTargetSelection.ItemIndex = 2 then begin
    98     Compiler.Producer.Free;
    99     Compiler.Producer := TProducerAsm8051.Create;
    100   end else
    101   if ComboBoxTargetSelection.ItemIndex = 3 then begin
    102     Compiler.Producer.Free;
    103     Compiler.Producer := TProducerTreeView.Create;
    104   end;
    105 
     86begin
    10687  // Compile project file
     88  Compiler.ProducerType := TProducerType(ComboBoxTargetSelection.ItemIndex);
    10789  Compiler.Init;
    10890  Compiler.Parser.OnGetSource := GetSource;
     
    173155      OpenKey(RegistryKey, True);
    174156      ReopenLastOpenedFile := ReadBoolWithDefault('ReopenLastOpenedFile', True);
     157      ComboBoxTargetSelection.ItemIndex :=
     158        ReadIntegerWithDefault('ProducerType', 0);
    175159    finally
    176160      Free;
     
    186170      OpenKey(RegistryKey, True);
    187171      WriteBool('ReopenLastOpenedFile', ReopenLastOpenedFile);
     172      WriteInteger('ProducerType', ComboBoxTargetSelection.ItemIndex);
    188173    finally
    189174      Free;
     
    209194
    210195procedure TMainForm.FormCreate(Sender: TObject);
     196var
     197  ProducerType: TProducerType;
    211198begin
    212199  DebugLog.FileName := 'DebugLog.txt';
     
    218205  LastOpenedFiles.MenuItem := MenuItemOpenRecent;
    219206  LastOpenedFiles.ClickAction := OpenRecentClick;
     207
     208  ComboBoxTargetSelection.Clear;
     209  for ProducerType := Low(ProducerType) to High(ProducerType) do
     210    ComboBoxTargetSelection.AddItem(ProducerTypeName[ProducerType], nil);
    220211end;
    221212
  • branches/Transpascal/Transpascal.lpi

    r76 r77  
    4646      </Item4>
    4747    </RequiredPackages>
    48     <Units Count="46">
     48    <Units Count="47">
    4949      <Unit0>
    5050        <Filename Value="Transpascal.lpr"/>
    5151        <IsPartOfProject Value="True"/>
    5252        <UnitName Value="Transpascal"/>
    53         <EditorIndex Value="0"/>
    54         <WindowIndex Value="0"/>
    55         <TopLine Value="7"/>
    56         <CursorPos X="45" Y="18"/>
     53        <EditorIndex Value="6"/>
     54        <WindowIndex Value="0"/>
     55        <TopLine Value="1"/>
     56        <CursorPos X="31" Y="4"/>
    5757        <UsageCount Value="215"/>
    5858        <Loaded Value="True"/>
     
    6666        <ResourceBaseClass Value="Form"/>
    6767        <UnitName Value="UMainForm"/>
    68         <EditorIndex Value="9"/>
    69         <WindowIndex Value="0"/>
    70         <TopLine Value="210"/>
    71         <CursorPos X="31" Y="213"/>
     68        <EditorIndex Value="5"/>
     69        <WindowIndex Value="0"/>
     70        <TopLine Value="195"/>
     71        <CursorPos X="34" Y="213"/>
    7272        <UsageCount Value="215"/>
    7373        <Loaded Value="True"/>
     74        <LoadedDesigner Value="True"/>
    7475        <DefaultSyntaxHighlighter Value="Delphi"/>
    7576      </Unit1>
     
    9091        <TopLine Value="745"/>
    9192        <CursorPos X="46" Y="759"/>
    92         <UsageCount Value="149"/>
     93        <UsageCount Value="146"/>
    9394        <DefaultSyntaxHighlighter Value="Delphi"/>
    9495      </Unit3>
     
    99100        <TopLine Value="1"/>
    100101        <CursorPos X="40" Y="11"/>
    101         <UsageCount Value="149"/>
     102        <UsageCount Value="146"/>
    102103        <DefaultSyntaxHighlighter Value="Delphi"/>
    103104      </Unit4>
     
    108109        <TopLine Value="187"/>
    109110        <CursorPos X="34" Y="201"/>
    110         <UsageCount Value="149"/>
     111        <UsageCount Value="146"/>
    111112      </Unit5>
    112113      <Unit6>
     
    116117        <TopLine Value="1"/>
    117118        <CursorPos X="1" Y="14"/>
    118         <UsageCount Value="149"/>
     119        <UsageCount Value="146"/>
    119120      </Unit6>
    120121      <Unit7>
     
    124125        <TopLine Value="124"/>
    125126        <CursorPos X="42" Y="136"/>
    126         <UsageCount Value="149"/>
     127        <UsageCount Value="146"/>
    127128      </Unit7>
    128129      <Unit8>
     
    132133        <TopLine Value="442"/>
    133134        <CursorPos X="47" Y="455"/>
    134         <UsageCount Value="149"/>
     135        <UsageCount Value="146"/>
    135136      </Unit8>
    136137      <Unit9>
     
    140141        <TopLine Value="78"/>
    141142        <CursorPos X="27" Y="86"/>
    142         <UsageCount Value="41"/>
     143        <UsageCount Value="38"/>
    143144      </Unit9>
    144145      <Unit10>
     
    147148        <TopLine Value="61"/>
    148149        <CursorPos X="7" Y="68"/>
    149         <UsageCount Value="51"/>
     150        <UsageCount Value="48"/>
    150151      </Unit10>
    151152      <Unit11>
     
    154155        <TopLine Value="139"/>
    155156        <CursorPos X="16" Y="146"/>
    156         <UsageCount Value="51"/>
     157        <UsageCount Value="48"/>
    157158      </Unit11>
    158159      <Unit12>
     
    162163        <TopLine Value="69"/>
    163164        <CursorPos X="1" Y="82"/>
    164         <UsageCount Value="111"/>
     165        <UsageCount Value="108"/>
    165166      </Unit12>
    166167      <Unit13>
    167168        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/>
    168         <EditorIndex Value="3"/>
    169         <WindowIndex Value="0"/>
    170         <TopLine Value="724"/>
    171         <CursorPos X="15" Y="743"/>
    172         <UsageCount Value="12"/>
    173         <Loaded Value="True"/>
     169        <WindowIndex Value="0"/>
     170        <TopLine Value="225"/>
     171        <CursorPos X="14" Y="259"/>
     172        <UsageCount Value="10"/>
    174173      </Unit13>
    175174      <Unit14>
     
    179178        <TopLine Value="320"/>
    180179        <CursorPos X="1" Y="327"/>
    181         <UsageCount Value="65"/>
     180        <UsageCount Value="62"/>
    182181      </Unit14>
    183182      <Unit15>
     
    188187        <TopLine Value="3"/>
    189188        <CursorPos X="50" Y="10"/>
    190         <UsageCount Value="187"/>
     189        <UsageCount Value="223"/>
    191190        <DefaultSyntaxHighlighter Value="Delphi"/>
    192191      </Unit15>
     
    196195        <TopLine Value="17"/>
    197196        <CursorPos X="11" Y="30"/>
    198         <UsageCount Value="4"/>
     197        <UsageCount Value="1"/>
    199198      </Unit16>
    200199      <Unit17>
     
    204203        <TopLine Value="1"/>
    205204        <CursorPos X="33" Y="1"/>
    206         <UsageCount Value="29"/>
     205        <UsageCount Value="26"/>
    207206      </Unit17>
    208207      <Unit18>
    209208        <Filename Value="Compiler\UCompiler.pas"/>
    210209        <UnitName Value="UCompiler"/>
    211         <EditorIndex Value="10"/>
    212         <WindowIndex Value="0"/>
    213         <TopLine Value="28"/>
    214         <CursorPos X="8" Y="28"/>
    215         <UsageCount Value="85"/>
     210        <IsVisibleTab Value="True"/>
     211        <EditorIndex Value="3"/>
     212        <WindowIndex Value="0"/>
     213        <TopLine Value="103"/>
     214        <CursorPos X="27" Y="117"/>
     215        <UsageCount Value="103"/>
    216216        <Loaded Value="True"/>
    217217      </Unit18>
     
    219219        <Filename Value="Compiler\USourceCode.pas"/>
    220220        <UnitName Value="USourceCode"/>
    221         <IsVisibleTab Value="True"/>
    222         <EditorIndex Value="8"/>
    223         <WindowIndex Value="0"/>
    224         <TopLine Value="759"/>
    225         <CursorPos X="63" Y="764"/>
    226         <UsageCount Value="81"/>
     221        <EditorIndex Value="7"/>
     222        <WindowIndex Value="0"/>
     223        <TopLine Value="533"/>
     224        <CursorPos X="23" Y="553"/>
     225        <UsageCount Value="100"/>
    227226        <Loaded Value="True"/>
    228227      </Unit19>
     
    230229        <Filename Value="Compiler\Analyze\UParser.pas"/>
    231230        <UnitName Value="UParser"/>
    232         <EditorIndex Value="1"/>
    233         <WindowIndex Value="0"/>
    234         <TopLine Value="365"/>
    235         <CursorPos X="48" Y="377"/>
    236         <UsageCount Value="85"/>
    237         <Loaded Value="True"/>
     231        <WindowIndex Value="0"/>
     232        <TopLine Value="81"/>
     233        <CursorPos X="49" Y="98"/>
     234        <UsageCount Value="103"/>
    238235      </Unit20>
    239236      <Unit21>
     
    246243        <TopLine Value="33"/>
    247244        <CursorPos X="29" Y="44"/>
    248         <UsageCount Value="171"/>
     245        <UsageCount Value="207"/>
    249246        <DefaultSyntaxHighlighter Value="Delphi"/>
    250247      </Unit21>
     
    258255        <TopLine Value="1"/>
    259256        <CursorPos X="26" Y="17"/>
    260         <UsageCount Value="171"/>
     257        <UsageCount Value="207"/>
    261258        <DefaultSyntaxHighlighter Value="Delphi"/>
    262259      </Unit22>
     
    270267        <TopLine Value="11"/>
    271268        <CursorPos X="38" Y="76"/>
    272         <UsageCount Value="171"/>
     269        <UsageCount Value="207"/>
    273270        <DefaultSyntaxHighlighter Value="Delphi"/>
    274271      </Unit23>
     
    280277        <ResourceBaseClass Value="Form"/>
    281278        <UnitName Value="UCompiledForm"/>
    282         <EditorIndex Value="5"/>
    283279        <WindowIndex Value="0"/>
    284280        <TopLine Value="5"/>
    285281        <CursorPos X="28" Y="21"/>
    286         <UsageCount Value="170"/>
    287         <Loaded Value="True"/>
     282        <UsageCount Value="206"/>
    288283        <DefaultSyntaxHighlighter Value="Delphi"/>
    289284      </Unit24>
     
    297292        <TopLine Value="1"/>
    298293        <CursorPos X="1" Y="1"/>
    299         <UsageCount Value="170"/>
     294        <UsageCount Value="206"/>
    300295        <DefaultSyntaxHighlighter Value="Delphi"/>
    301296      </Unit25>
     
    304299        <UnitName Value="UProducerTreeView"/>
    305300        <WindowIndex Value="0"/>
    306         <TopLine Value="291"/>
    307         <CursorPos X="54" Y="304"/>
    308         <UsageCount Value="27"/>
     301        <TopLine Value="255"/>
     302        <CursorPos X="66" Y="271"/>
     303        <UsageCount Value="24"/>
    309304      </Unit26>
    310305      <Unit27>
     
    314309        <TopLine Value="316"/>
    315310        <CursorPos X="14" Y="329"/>
    316         <UsageCount Value="27"/>
     311        <UsageCount Value="24"/>
    317312      </Unit27>
    318313      <Unit28>
    319314        <Filename Value="E:\Programy\Lazarus\lcl\include\customform.inc"/>
     315        <EditorIndex Value="1"/>
    320316        <WindowIndex Value="0"/>
    321317        <TopLine Value="1756"/>
    322         <CursorPos X="31" Y="1770"/>
    323         <UsageCount Value="24"/>
     318        <CursorPos X="1" Y="1769"/>
     319        <UsageCount Value="21"/>
     320        <Loaded Value="True"/>
    324321      </Unit28>
    325322      <Unit29>
     
    327324        <IsPartOfProject Value="True"/>
    328325        <UnitName Value="URegistry"/>
    329         <UsageCount Value="163"/>
     326        <UsageCount Value="200"/>
    330327        <DefaultSyntaxHighlighter Value="Delphi"/>
    331328      </Unit29>
     
    334331        <IsPartOfProject Value="True"/>
    335332        <UnitName Value="ULastOpenedList"/>
    336         <UsageCount Value="163"/>
     333        <UsageCount Value="200"/>
    337334        <DefaultSyntaxHighlighter Value="Delphi"/>
    338335      </Unit30>
     
    341338        <IsPartOfProject Value="True"/>
    342339        <UnitName Value="UApplicationInfo"/>
    343         <UsageCount Value="162"/>
     340        <WindowIndex Value="0"/>
     341        <TopLine Value="44"/>
     342        <CursorPos X="40" Y="49"/>
     343        <UsageCount Value="200"/>
    344344        <DefaultSyntaxHighlighter Value="Delphi"/>
    345345      </Unit31>
    346346      <Unit32>
    347         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    348         <UnitName Value="UProducerC"/>
    349         <EditorIndex Value="7"/>
    350         <WindowIndex Value="0"/>
    351         <TopLine Value="227"/>
    352         <CursorPos X="22" Y="240"/>
    353         <UsageCount Value="80"/>
     347        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     348        <UnitName Value="UProducerDynamicC"/>
     349        <EditorIndex Value="2"/>
     350        <WindowIndex Value="0"/>
     351        <TopLine Value="285"/>
     352        <CursorPos X="27" Y="298"/>
     353        <UsageCount Value="99"/>
    354354        <Loaded Value="True"/>
    355355      </Unit32>
     
    360360        <TopLine Value="1"/>
    361361        <CursorPos X="1" Y="1"/>
    362         <UsageCount Value="23"/>
     362        <UsageCount Value="20"/>
    363363      </Unit33>
    364364      <Unit34>
     
    366366        <UnitName Value="UProducerPascal"/>
    367367        <WindowIndex Value="0"/>
    368         <TopLine Value="99"/>
    369         <CursorPos X="57" Y="112"/>
    370         <UsageCount Value="20"/>
     368        <TopLine Value="181"/>
     369        <CursorPos X="9" Y="194"/>
     370        <UsageCount Value="17"/>
    371371      </Unit34>
    372372      <Unit35>
    373         <Filename Value=""/>
    374         <UsageCount Value="0"/>
    375         <DefaultSyntaxHighlighter Value="None"/>
     373        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     374        <UnitName Value="UPascalParser"/>
     375        <EditorIndex Value="0"/>
     376        <WindowIndex Value="0"/>
     377        <TopLine Value="761"/>
     378        <CursorPos X="27" Y="771"/>
     379        <UsageCount Value="80"/>
     380        <Loaded Value="True"/>
    376381      </Unit35>
    377382      <Unit36>
    378         <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
    379         <UnitName Value="UPascalParser"/>
    380         <EditorIndex Value="6"/>
    381         <WindowIndex Value="0"/>
    382         <TopLine Value="298"/>
    383         <CursorPos X="20" Y="334"/>
    384         <UsageCount Value="59"/>
    385         <Loaded Value="True"/>
     383        <Filename Value="Compiler\Analyze\UGrammer.pas"/>
     384        <UnitName Value="UGrammer"/>
     385        <WindowIndex Value="0"/>
     386        <TopLine Value="15"/>
     387        <CursorPos X="1" Y="28"/>
     388        <UsageCount Value="51"/>
    386389      </Unit36>
    387390      <Unit37>
    388         <Filename Value="Compiler\Analyze\UGrammer.pas"/>
    389         <UnitName Value="UGrammer"/>
    390         <WindowIndex Value="0"/>
    391         <TopLine Value="15"/>
    392         <CursorPos X="1" Y="28"/>
    393         <UsageCount Value="54"/>
     391        <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.pp"/>
     392        <UnitName Value="SynEdit"/>
     393        <WindowIndex Value="0"/>
     394        <TopLine Value="828"/>
     395        <CursorPos X="27" Y="841"/>
     396        <UsageCount Value="27"/>
    394397      </Unit37>
    395398      <Unit38>
    396         <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.pp"/>
    397         <UnitName Value="SynEdit"/>
    398         <WindowIndex Value="0"/>
    399         <TopLine Value="828"/>
    400         <CursorPos X="27" Y="841"/>
    401         <UsageCount Value="30"/>
     399        <Filename Value="E:\Programy\Lazarus\components\synedit\synedittypes.pp"/>
     400        <UnitName Value="SynEditTypes"/>
     401        <WindowIndex Value="0"/>
     402        <TopLine Value="56"/>
     403        <CursorPos X="3" Y="69"/>
     404        <UsageCount Value="1"/>
    402405      </Unit38>
    403406      <Unit39>
    404         <Filename Value="E:\Programy\Lazarus\components\synedit\synedittypes.pp"/>
    405         <UnitName Value="SynEditTypes"/>
    406         <WindowIndex Value="0"/>
    407         <TopLine Value="56"/>
    408         <CursorPos X="3" Y="69"/>
    409         <UsageCount Value="4"/>
     407        <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmarkup.pp"/>
     408        <UnitName Value="SynEditMarkup"/>
     409        <WindowIndex Value="0"/>
     410        <TopLine Value="113"/>
     411        <CursorPos X="3" Y="120"/>
     412        <UsageCount Value="1"/>
    410413      </Unit39>
    411414      <Unit40>
    412         <Filename Value="E:\Programy\Lazarus\components\synedit\syneditmarkup.pp"/>
    413         <UnitName Value="SynEditMarkup"/>
    414         <WindowIndex Value="0"/>
    415         <TopLine Value="113"/>
    416         <CursorPos X="3" Y="120"/>
    417         <UsageCount Value="4"/>
     415        <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.inc"/>
     416        <WindowIndex Value="0"/>
     417        <TopLine Value="1"/>
     418        <CursorPos X="24" Y="11"/>
     419        <UsageCount Value="1"/>
    418420      </Unit40>
    419421      <Unit41>
    420         <Filename Value="E:\Programy\Lazarus\components\synedit\synedit.inc"/>
    421         <WindowIndex Value="0"/>
    422         <TopLine Value="1"/>
    423         <CursorPos X="24" Y="11"/>
    424         <UsageCount Value="4"/>
     422        <Filename Value="Compiler\Analyze\x.sss"/>
     423        <WindowIndex Value="0"/>
     424        <TopLine Value="1"/>
     425        <CursorPos X="17" Y="5"/>
     426        <UsageCount Value="16"/>
     427        <DefaultSyntaxHighlighter Value="None"/>
    425428      </Unit41>
    426429      <Unit42>
    427         <Filename Value="Compiler\Analyze\x.sss"/>
    428         <WindowIndex Value="0"/>
    429         <TopLine Value="1"/>
    430         <CursorPos X="17" Y="5"/>
    431         <UsageCount Value="19"/>
    432         <DefaultSyntaxHighlighter Value="None"/>
     430        <Filename Value="Compiler\Analyze\System.pas"/>
     431        <UnitName Value="System"/>
     432        <WindowIndex Value="0"/>
     433        <TopLine Value="1"/>
     434        <CursorPos X="8" Y="8"/>
     435        <UsageCount Value="16"/>
    433436      </Unit42>
    434437      <Unit43>
    435         <Filename Value="Compiler\Analyze\System.pas"/>
    436         <UnitName Value="System"/>
    437         <WindowIndex Value="0"/>
    438         <TopLine Value="1"/>
    439         <CursorPos X="8" Y="8"/>
    440         <UsageCount Value="19"/>
     438        <Filename Value="Common\UDebugLog.pas"/>
     439        <IsPartOfProject Value="True"/>
     440        <UnitName Value="UDebugLog"/>
     441        <WindowIndex Value="0"/>
     442        <TopLine Value="42"/>
     443        <CursorPos X="42" Y="55"/>
     444        <UsageCount Value="65"/>
     445        <DefaultSyntaxHighlighter Value="Delphi"/>
    441446      </Unit43>
    442447      <Unit44>
    443         <Filename Value="Common\UDebugLog.pas"/>
    444         <IsPartOfProject Value="True"/>
    445         <UnitName Value="UDebugLog"/>
    446         <EditorIndex Value="2"/>
    447         <WindowIndex Value="0"/>
    448         <TopLine Value="42"/>
    449         <CursorPos X="42" Y="55"/>
    450         <UsageCount Value="24"/>
    451         <Loaded Value="True"/>
    452         <DefaultSyntaxHighlighter Value="Delphi"/>
     448        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\streams.inc"/>
     449        <WindowIndex Value="0"/>
     450        <TopLine Value="365"/>
     451        <CursorPos X="5" Y="370"/>
     452        <UsageCount Value="31"/>
    453453      </Unit44>
    454454      <Unit45>
    455         <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\streams.inc"/>
     455        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\win32\system.pp"/>
     456        <UnitName Value="System"/>
     457        <WindowIndex Value="0"/>
     458        <TopLine Value="3"/>
     459        <CursorPos X="6" Y="16"/>
     460        <UsageCount Value="10"/>
     461      </Unit45>
     462      <Unit46>
     463        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
     464        <UnitName Value="UProducerGCCC"/>
    456465        <EditorIndex Value="4"/>
    457466        <WindowIndex Value="0"/>
    458         <TopLine Value="365"/>
    459         <CursorPos X="5" Y="370"/>
    460         <UsageCount Value="12"/>
    461         <Loaded Value="True"/>
    462       </Unit45>
     467        <TopLine Value="108"/>
     468        <CursorPos X="3" Y="121"/>
     469        <UsageCount Value="10"/>
     470        <Loaded Value="True"/>
     471      </Unit46>
    463472    </Units>
    464473    <JumpHistory Count="30" HistoryIndex="29">
    465474      <Position1>
    466         <Filename Value="Common\UDebugLog.pas"/>
    467         <Caret Line="48" Column="1" TopLine="41"/>
     475        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     476        <Caret Line="549" Column="1" TopLine="536"/>
    468477      </Position1>
    469478      <Position2>
    470         <Filename Value="Common\UDebugLog.pas"/>
    471         <Caret Line="49" Column="1" TopLine="41"/>
     479        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     480        <Caret Line="564" Column="1" TopLine="551"/>
    472481      </Position2>
    473482      <Position3>
    474         <Filename Value="Common\UDebugLog.pas"/>
    475         <Caret Line="51" Column="1" TopLine="41"/>
     483        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     484        <Caret Line="568" Column="1" TopLine="551"/>
    476485      </Position3>
    477486      <Position4>
    478         <Filename Value="Common\UDebugLog.pas"/>
    479         <Caret Line="52" Column="1" TopLine="41"/>
     487        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     488        <Caret Line="585" Column="1" TopLine="572"/>
    480489      </Position4>
    481490      <Position5>
    482         <Filename Value="Common\UDebugLog.pas"/>
    483         <Caret Line="47" Column="1" TopLine="41"/>
     491        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     492        <Caret Line="588" Column="1" TopLine="572"/>
    484493      </Position5>
    485494      <Position6>
    486         <Filename Value="Common\UDebugLog.pas"/>
    487         <Caret Line="53" Column="1" TopLine="41"/>
     495        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
     496        <Caret Line="530" Column="32" TopLine="515"/>
    488497      </Position6>
    489498      <Position7>
    490         <Filename Value="Common\UDebugLog.pas"/>
    491         <Caret Line="52" Column="1" TopLine="41"/>
     499        <Filename Value="Transpascal.lpr"/>
     500        <Caret Line="18" Column="45" TopLine="7"/>
    492501      </Position7>
    493502      <Position8>
    494         <Filename Value="Common\UDebugLog.pas"/>
    495         <Caret Line="55" Column="1" TopLine="41"/>
     503        <Filename Value="Compiler\UCompiler.pas"/>
     504        <Caret Line="54" Column="29" TopLine="29"/>
    496505      </Position8>
    497506      <Position9>
    498         <Filename Value="Common\UDebugLog.pas"/>
    499         <Caret Line="53" Column="27" TopLine="41"/>
     507        <Filename Value="Compiler\UCompiler.pas"/>
     508        <Caret Line="11" Column="28" TopLine="1"/>
    500509      </Position9>
    501510      <Position10>
    502         <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
    503         <Caret Line="940" Column="1" TopLine="927"/>
     511        <Filename Value="Compiler\UCompiler.pas"/>
     512        <Caret Line="10" Column="17" TopLine="1"/>
    504513      </Position10>
    505514      <Position11>
    506         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    507         <Caret Line="221" Column="1" TopLine="208"/>
     515        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     516        <Caret Line="361" Column="27" TopLine="354"/>
    508517      </Position11>
    509518      <Position12>
    510         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    511         <Caret Line="222" Column="1" TopLine="208"/>
     519        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     520        <Caret Line="59" Column="1" TopLine="46"/>
    512521      </Position12>
    513522      <Position13>
    514         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    515         <Caret Line="232" Column="1" TopLine="211"/>
     523        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     524        <Caret Line="116" Column="1" TopLine="102"/>
    516525      </Position13>
    517526      <Position14>
    518         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    519         <Caret Line="222" Column="1" TopLine="211"/>
     527        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     528        <Caret Line="115" Column="67" TopLine="103"/>
    520529      </Position14>
    521530      <Position15>
    522         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    523         <Caret Line="198" Column="1" TopLine="185"/>
     531        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
     532        <Caret Line="121" Column="33" TopLine="108"/>
    524533      </Position15>
    525534      <Position16>
    526         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    527         <Caret Line="222" Column="1" TopLine="209"/>
     535        <Filename Value="Compiler\UCompiler.pas"/>
     536        <Caret Line="10" Column="17" TopLine="1"/>
    528537      </Position16>
    529538      <Position17>
    530         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    531         <Caret Line="232" Column="1" TopLine="211"/>
     539        <Filename Value="Compiler\UCompiler.pas"/>
     540        <Caret Line="140" Column="17" TopLine="127"/>
    532541      </Position17>
    533542      <Position18>
    534         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    535         <Caret Line="221" Column="1" TopLine="211"/>
     543        <Filename Value="Compiler\UCompiler.pas"/>
     544        <Caret Line="141" Column="7" TopLine="132"/>
    536545      </Position18>
    537546      <Position19>
    538         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    539         <Caret Line="232" Column="37" TopLine="211"/>
     547        <Filename Value="Compiler\UCompiler.pas"/>
     548        <Caret Line="14" Column="21" TopLine="1"/>
    540549      </Position19>
    541550      <Position20>
    542         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    543         <Caret Line="221" Column="1" TopLine="211"/>
     551        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
     552        <Caret Line="15" Column="16" TopLine="2"/>
    544553      </Position20>
    545554      <Position21>
    546         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    547         <Caret Line="232" Column="1" TopLine="211"/>
     555        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
     556        <Caret Line="41" Column="1" TopLine="28"/>
    548557      </Position21>
    549558      <Position22>
    550         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    551         <Caret Line="222" Column="1" TopLine="211"/>
     559        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
     560        <Caret Line="59" Column="1" TopLine="46"/>
    552561      </Position22>
    553562      <Position23>
    554         <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
    555         <Caret Line="101" Column="28" TopLine="93"/>
     563        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
     564        <Caret Line="115" Column="5" TopLine="102"/>
    556565      </Position23>
    557566      <Position24>
    558         <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
    559         <Caret Line="334" Column="20" TopLine="298"/>
     567        <Filename Value="Forms\UMainForm.pas"/>
     568        <Caret Line="213" Column="31" TopLine="210"/>
    560569      </Position24>
    561570      <Position25>
    562         <Filename Value="Compiler\Produce\UProducerC.pas"/>
    563         <Caret Line="240" Column="22" TopLine="227"/>
     571        <Filename Value="Forms\UMainForm.pas"/>
     572        <Caret Line="10" Column="3" TopLine="1"/>
    564573      </Position25>
    565574      <Position26>
    566         <Filename Value="Compiler\USourceCode.pas"/>
    567         <Caret Line="772" Column="1" TopLine="759"/>
     575        <Filename Value="Forms\UMainForm.pas"/>
     576        <Caret Line="95" Column="39" TopLine="82"/>
    568577      </Position26>
    569578      <Position27>
    570         <Filename Value="Compiler\USourceCode.pas"/>
    571         <Caret Line="481" Column="1" TopLine="468"/>
     579        <Filename Value="Forms\UMainForm.pas"/>
     580        <Caret Line="88" Column="1" TopLine="83"/>
    572581      </Position27>
    573582      <Position28>
    574         <Filename Value="Compiler\USourceCode.pas"/>
    575         <Caret Line="485" Column="1" TopLine="468"/>
     583        <Filename Value="Forms\UMainForm.pas"/>
     584        <Caret Line="238" Column="66" TopLine="222"/>
    576585      </Position28>
    577586      <Position29>
    578         <Filename Value="Compiler\Analyze\UParser.pas"/>
    579         <Caret Line="99" Column="12" TopLine="91"/>
     587        <Filename Value="Forms\UMainForm.pas"/>
     588        <Caret Line="172" Column="1" TopLine="150"/>
    580589      </Position29>
    581590      <Position30>
    582         <Filename Value="Compiler\Analyze\UParser.pas"/>
    583         <Caret Line="377" Column="48" TopLine="365"/>
     591        <Filename Value="Forms\UMainForm.pas"/>
     592        <Caret Line="213" Column="34" TopLine="195"/>
    584593      </Position30>
    585594    </JumpHistory>
  • branches/Transpascal/UApplicationInfo.pas

    r66 r77  
    5252  Name := 'Transpascal';
    5353  Identification := 1;
    54   ReleaseDate := '18.10.2010';
     54  ReleaseDate := '22.10.2010';
    5555  MajorVersion := 0;
    5656  MinorVersion := 1;
Note: See TracChangeset for help on using the changeset viewer.