Changeset 18 for branches/Void


Ignore:
Timestamp:
Nov 10, 2009, 3:38:32 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Nasazení generického TFPGObjectList pro použité seznamy typu TList.
  • Přidáno: Kostra tříd pro gramatickou analýzu.
Location:
branches/Void
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • branches/Void

    • Property svn:ignore
      •  

        old new  
        1111Output.dpr
        1212Output.exe
         13Output.asm
  • branches/Void/Generators/UCGenerator.pas

    r16 r18  
    7070    // Variable section
    7171    for I := 0 to Variables.Count - 1 do
    72       with TVariable(Variables[I]) do
     72      with Variables[I] do
    7373        Output.Add(Indent + ConvertType(VarType.Name) + ' ' + Name + ';');
    7474    if Variables.Count > 0 then Output.Add('');
     
    7676    // Code block
    7777    for I := 0 to BeginEnd.Commands.Count - 1 do
    78       with TCommand(BeginEnd.Commands[I]) do begin
     78      with BeginEnd.Commands[I] do begin
    7979        if Name = 'Assignment' then Output.Add(Indent +
    80           TVariableValue(Parameters[0]).VariableDef.Name + ' = ' +
     80          Parameters[0].VariableDef.Name + ' = ' +
    8181          GenerateVariableValue(TVariableValue(Parameters[1])) + ';')
    8282        else begin
  • branches/Void/Generators/UPascalGenerator.pas

    r16 r18  
    5555    Inc(IndentCount);
    5656    for I := 0 to Variables.Count - 1 do
    57       with TVariable(Variables[I]) do
     57      with Variables[I] do
    5858        Output.Add(Indent + Name + ': ' + VarType.Name + ';');
    5959    Dec(IndentCount);
     
    6363    Inc(IndentCount);
    6464    for I := 0 to BeginEnd.Commands.Count - 1 do
    65       with TCommand(BeginEnd.Commands[I]) do begin
     65      with BeginEnd.Commands[I] do begin
    6666        if Name = 'Assignment' then Output.Add(Indent +
    67           TVariableValue(Parameters[0]).VariableDef.Name + ' := ' +
     67          Parameters[0].VariableDef.Name + ' := ' +
    6868          GenerateVariableValue(TVariableValue(Parameters[1])) + ';')
    6969        else begin
  • branches/Void/Generators/UZ80Generator.pas

    r16 r18  
    5151    // var section
    5252    for I := 0 to Variables.Count - 1 do
    53       with TVariable(Variables[I]) do
     53      with Variables[I] do
    5454        Output.Add(Name + ':  DB ' + VarType.Name + ';');
    5555
     
    5858    Inc(IndentCount);
    5959    for I := 0 to BeginEnd.Commands.Count - 1 do
    60       with TCommand(BeginEnd.Commands[I]) do begin
     60      with BeginEnd.Commands[I] do begin
    6161        if Name = 'Assignment' then Output.Add('  LD ' +
    62           TVariableValue(Parameters[0]).VariableDef.Name + ', ' +
     62          Parameters[0].VariableDef.Name + ', ' +
    6363          GenerateVariableValue(TVariableValue(Parameters[1])))
    6464        else begin
  • branches/Void/UCompilator.pas

    r17 r18  
    66
    77uses
    8   Classes, SysUtils, UOutputGenerator, UModel, UVoidParser;
     8  Classes, SysUtils, UOutputGenerator, UModel, UVoidParser, fgl;
    99
    1010type
     
    1515    Text: string;
    1616  end;
     17
     18  TErrorMessageList = specialize TFPGObjectList<TErrorMessage>;
     19
     20  { TCompilator }
    1721
    1822  TCompilator = class
     
    2327    procedure ParseProgram;
    2428    procedure ParseVariableDefinition;
     29    procedure ParseTypeDefinition;
     30    procedure ParseExpression;
    2531  public
    26     ErrorMessages: TList;
     32    ErrorMessages: TErrorMessageList;
    2733    Model: TModel;
    2834    SourceCode: TStream;
     
    4349  Terminate: Boolean;
    4450begin
    45   with TErrorMessage(ErrorMessages[ErrorMessages.Add(TErrorMessage.Create)]) do begin
     51  with ErrorMessages.Add do begin
    4652    CodePosition := Parser.TokenStartPosition;
    4753    Text := AText;
     
    7278      if Parser.TokenValue = 'var' then begin
    7379        ParseVariableDefinition;
     80      end else
     81      if Parser.TokenValue = 'type' then begin
     82        ParseTypeDefinition;
    7483      end else
    7584      if Parser.TokenValue = 'begin' then begin
     
    128137end;
    129138
     139procedure TCompilator.ParseTypeDefinition;
     140begin
     141
     142end;
     143
     144procedure TCompilator.ParseExpression;
     145begin
     146
     147end;
     148
    130149procedure TCompilator.Compile;
    131150var
     
    162181        Command := FindProcedureByName(CommandName);
    163182        if Assigned(Command) then begin
    164           with TCommand(Commands[Commands.Add(TCommand.Create)]) do begin
     183          with Commands[Commands.Add(TCommand.Create)] do begin
    165184            Name := CommandName;
    166185            if Command.Parameters.Count > 0 then begin
     
    170189                for P := 0 to Command.Parameters.Count - 1 do begin
    171190                  if (Parser.TokenType = ttString) then
    172                   with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     191                  with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    173192                    ValueType := vtString;
    174193                    StringConstant := Parser.TokenValue;
    175194                  end else
    176195                  if (Parser.TokenType = ttIdentifier) then
    177                   with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     196                  with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    178197                    ValueType := vtVariable;
    179198                    SourceVariable := FindVariableByName(Parser.TokenValue);
     
    210229                Variable := FindVariableByName(CommandName);
    211230                if Assigned(Variable) then
    212                 with TCommand(Commands[Commands.Add(TCommand.Create)]) do begin
     231                with Commands[Commands.Add(TCommand.Create)] do begin
    213232                  Name := 'Assignment';
    214                   with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     233                  with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    215234                    ValueType := vtVariable;
    216235                    Variable := Variable;
    217236                  end;
    218                   with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     237                  with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    219238                    ValueType := vtVariable;
    220239                    VariableDef := SourceVariable;
     
    223242              end;
    224243            end else if Parser.TokenType = ttString then begin
    225               with TCommand(Commands[Commands.Add(TCommand.Create)]) do begin
     244              with Commands[Commands.Add(TCommand.Create)] do begin
    226245                Name := 'Assignment';
    227                 with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     246                with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    228247                  ValueType := vtVariable;
    229248                  VariableDef := Variable;
    230249                end;
    231                 with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     250                with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    232251                  ValueType := vtString;
    233252                  StringConstant := Parser.TokenValue;
     
    235254              end;
    236255            end else if Parser.TokenType = ttNumber then begin
    237               with TCommand(Commands[Commands.Add(TCommand.Create)]) do begin
     256              with Commands[Commands.Add(TCommand.Create)] do begin
    238257                Name := 'Assignment';
    239                 with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     258                with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    240259                  ValueType := vtVariable;
    241260                  VariableDef := Variable;
    242261                end;
    243                 with TVariableValue(Parameters[Parameters.Add(TVariableValue.Create)]) do begin
     262                with Parameters[Parameters.Add(TVariableValue.Create)] do begin
    244263                  ValueType := vtNumber;
    245264                  NumberConstant := StrToInt(Parser.TokenValue);
     
    263282constructor TCompilator.Create;
    264283begin
    265   ErrorMessages := TList.Create;
     284  ErrorMessages := TErrorMessageList.Create;
    266285  SourceCode := TMemoryStream.Create;
    267286  Model := TModel.Create;
     
    270289
    271290destructor TCompilator.Destroy;
    272 var
    273   I: Integer;
    274 begin
    275   for I := 0 to ErrorMessages.Count - 1 do
    276     TErrorMessage(ErrorMessages[I]).Destroy;
     291begin
    277292  ErrorMessages.Destroy;
    278293  SourceCode.Destroy;
  • branches/Void/UModel.pas

    r16 r18  
    66
    77uses
    8   Classes, SysUtils;
     8  Classes, SysUtils, fgl;
    99
    1010type
     
    1616  end;
    1717
     18  TTypeList = specialize TFPGObjectList<TType>;
     19
    1820  TVariable = class
    1921    Name: string;
    2022    VarType: TType;
    2123  end;
     24
     25  TVariableList = specialize TFPGObjectList<TVariable>;
    2226
    2327  TVariableValue = class
     
    3034  end;
    3135
     36  TVariableValueList = specialize TFPGObjectList<TVariableValue>;
     37
     38  TExpression = class
     39
     40  end;
     41
    3242  TCommand = class
    3343    Name: string;
    34     Parameters: TList;
    35     constructor Create;
    36     destructor Destroy; override;
    37   end;
     44    Parameters: TVariableValueList;
     45    constructor Create;
     46    destructor Destroy; override;
     47  end;
     48
     49  TCommandList = specialize TFPGObjectList<TCommand>;
    3850
    3951  TBeginEnd = class
    40     Commands: TList;
     52    Commands: TCommandList;
    4153    constructor Create;
    4254    destructor Destroy; override;
     
    4658  TProcedure = class
    4759    Name: string;
    48     Parameters: TList;
     60    Parameters: TVariableList;
    4961    BeginEnd: TBeginEnd;
    5062    constructor Create;
    5163    destructor Destroy; override;
    5264  end;
     65
     66  TProcedureList = specialize TFPGObjectList<TProcedure>;
    5367
    5468  TModuleType = (mtUnit, mtProgram);
     
    5872    Name: string;
    5973    ModuleType: TModuleType;
    60     Types: TList;
    61     Variables: TList;
    62     Procedures: TList;
     74    Types: TTypeList;
     75    Variables: TVariableList;
     76    Procedures: TProcedureList;
    6377    BeginEnd: TBeginEnd;
    6478    constructor Create;
     
    105119constructor TBeginEnd.Create;
    106120begin
    107   Commands := TList.Create;
     121  Commands := TCommandList.Create;
    108122end;
    109123
    110124destructor TBeginEnd.Destroy;
     125begin
     126  Commands.Destroy;
     127  inherited Destroy;
     128end;
     129
     130procedure TBeginEnd.Clear;
    111131var
    112132  I: Integer;
    113133begin
    114134  for I := 0 to Commands.Count - 1 do
    115     TCommand(Commands[I]).Destroy;
    116   Commands.Destroy;
    117   inherited Destroy;
    118 end;
    119 
    120 procedure TBeginEnd.Clear;
    121 var
    122   I: Integer;
    123 begin
    124   for I := 0 to Commands.Count - 1 do
    125     TCommand(Commands[I]).Destroy;
     135    Commands[I].Destroy;
    126136  Commands.Clear;
    127137end;
     
    131141constructor TCommand.Create;
    132142begin
    133   Parameters := TList.Create;
     143  Parameters := TVariableValueList.Create;
    134144end;
    135145
    136146destructor TCommand.Destroy;
    137 var
    138   I: Integer;
    139 begin
    140   for I := 0 to Parameters.Count - 1 do
    141     TVariableValue(Parameters[I]).Destroy;
     147begin
    142148  Parameters.Destroy;
    143149  inherited Destroy;
     
    147153begin
    148154  BeginEnd := TBeginEnd.Create;
    149   Parameters := TList.Create;
     155  Parameters := TVariableList.Create;
    150156end;
    151157
    152158destructor TProcedure.Destroy;
    153 var
    154   I: Integer;
    155 begin
    156   for I := 0 to Parameters.Count - 1 do
    157     TVariableValue(Parameters[I]).Destroy;
     159begin
    158160  Parameters.Destroy;
    159161  BeginEnd.Destroy;
     
    165167constructor TModule.Create;
    166168begin
    167   Types := TList.Create;
    168   Variables := TList.Create;
     169  Types := TTypeList.Create;
     170  Variables := TVariableList.Create;
    169171  BeginEnd := TBeginEnd.Create;
    170   Procedures := TList.Create;
     172  Procedures := TProcedureList.Create;
    171173end;
    172174
    173175destructor TModule.Destroy;
    174 var
    175   I: Integer;
    176 begin
    177   for I := 0 to Types.Count - 1 do
    178     TType(Types[I]).Destroy;
     176begin
    179177  Types.Destroy;
    180   for I := 0 to Variables.Count - 1 do
    181     TVariable(Variables[I]).Destroy;
    182178  Variables.Destroy;
    183   for I := 0 to Procedures.Count - 1 do
    184     TProcedure(Procedures[I]).Destroy;
    185179  Procedures.Destroy;
    186180  BeginEnd.Destroy;
     
    193187begin
    194188  I := 0;
    195   while (I < Variables.Count) and (LowerCase(TVariable(Variables[I]).Name) <> LowerCase(AName)) do
     189  while (I < Variables.Count) and (LowerCase(Variables[I].Name) <> LowerCase(AName)) do
    196190    Inc(I);
    197191  if I < Variables.Count then Result := Variables[I] else Result := nil;
     
    203197begin
    204198  I := 0;
    205   while (I < Procedures.Count) and (LowerCase(TProcedure(Procedures[I]).Name) <> LowerCase(AName)) do
     199  while (I < Procedures.Count) and (LowerCase(Procedures[I].Name) <> LowerCase(AName)) do
    206200    Inc(I);
    207201  if I < Procedures.Count then Result := Procedures[I] else Result := nil;
     
    212206begin
    213207  // System types
    214   with TType(Types[Types.Add(TType.Create)]) do begin
     208  with Types[Types.Add(TType.Create)] do begin
    215209    Name := 'Integer';
    216210  end;
    217   with TType(Types[Types.Add(TType.Create)]) do begin
     211  with Types[Types.Add(TType.Create)] do begin
    218212    Name := 'String';
    219213  end;
    220   with TType(Types[Types.Add(TType.Create)]) do begin
     214  with Types[Types.Add(TType.Create)] do begin
    221215    Name := 'Char';
    222216  end;
    223   with TType(Types[Types.Add(TType.Create)]) do begin
     217  with Types[Types.Add(TType.Create)] do begin
    224218    Name := 'Byte';
    225219  end;
    226   with TType(Types[Types.Add(TType.Create)]) do begin
     220  with Types[Types.Add(TType.Create)] do begin
    227221    Name := 'Word';
    228222  end;
    229223
    230224  // System procedures
    231   with TProcedure(Procedures[Procedures.Add(TProcedure.Create)]) do begin
     225  with Procedures[Procedures.Add(TProcedure.Create)] do begin
    232226    Name := 'WriteLn';
    233     with TVariable(Parameters[Parameters.Add(TVariable.Create)]) do begin
     227    with Parameters[Parameters.Add(TVariable.Create)] do begin
    234228      Name := 'Text';
    235229      VarType := FindTypeByName('String');
    236230    end;
    237231  end;
    238   with TProcedure(Procedures[Procedures.Add(TProcedure.Create)]) do begin
     232  with Procedures[Procedures.Add(TProcedure.Create)] do begin
    239233    Name := 'Exit';
    240234  end;
    241   with TProcedure(Procedures[Procedures.Add(TProcedure.Create)]) do begin
     235  with Procedures[Procedures.Add(TProcedure.Create)] do begin
    242236    Name := 'ReadLn';
    243237  end;
     
    249243begin
    250244  for I := 0 to Variables.Count - 1 do
    251     TVariable(Variables[I]).Destroy;
     245    Variables[I].Destroy;
    252246  Variables.Clear;
    253247  BeginEnd.Clear;
     
    260254begin
    261255  I := 0;
    262   while (I < Types.Count) and (LowerCase(TType(Types[I]).Name) <> LowerCase(AName)) do
     256  while (I < Types.Count) and (LowerCase(Types[I].Name) <> LowerCase(AName)) do
    263257    Inc(I);
    264258  if I < Types.Count then Result := Types[I] else Result := nil;
  • branches/Void/project1.lpi

    r17 r18  
    99      <Icon Value="0"/>
    1010      <UseXPManifest Value="True"/>
    11       <ActiveEditorIndexAtStart Value="1"/>
     11      <ActiveEditorIndexAtStart Value="10"/>
    1212    </General>
    1313    <VersionInfo>
     
    3737      </Item2>
    3838    </RequiredPackages>
    39     <Units Count="20">
     39    <Units Count="24">
    4040      <Unit0>
    4141        <Filename Value="project1.lpr"/>
     
    4444        <CursorPos X="51" Y="9"/>
    4545        <TopLine Value="1"/>
    46         <UsageCount Value="47"/>
     46        <UsageCount Value="56"/>
    4747      </Unit0>
    4848      <Unit1>
     
    5555        <TopLine Value="114"/>
    5656        <EditorIndex Value="0"/>
    57         <UsageCount Value="47"/>
     57        <UsageCount Value="56"/>
    5858        <Loaded Value="True"/>
    5959      </Unit1>
     
    6161        <Filename Value="UCompilator.pas"/>
    6262        <UnitName Value="UCompilator"/>
    63         <CursorPos X="18" Y="135"/>
    64         <TopLine Value="130"/>
     63        <CursorPos X="24" Y="290"/>
     64        <TopLine Value="51"/>
    6565        <EditorIndex Value="2"/>
    66         <UsageCount Value="24"/>
     66        <UsageCount Value="28"/>
    6767        <Loaded Value="True"/>
    6868      </Unit2>
     
    7272        <UnitName Value="UOutputGenerator"/>
    7373        <CursorPos X="1" Y="13"/>
    74         <TopLine Value="7"/>
    75         <EditorIndex Value="4"/>
    76         <UsageCount Value="47"/>
     74        <TopLine Value="20"/>
     75        <EditorIndex Value="6"/>
     76        <UsageCount Value="56"/>
    7777        <Loaded Value="True"/>
    7878      </Unit3>
     
    8282        <CursorPos X="8" Y="7"/>
    8383        <TopLine Value="1"/>
    84         <UsageCount Value="47"/>
     84        <UsageCount Value="56"/>
    8585        <SyntaxHighlighter Value="None"/>
    8686      </Unit4>
     
    8989        <IsPartOfProject Value="True"/>
    9090        <UnitName Value="UModel"/>
    91         <CursorPos X="11" Y="75"/>
    92         <TopLine Value="53"/>
    93         <EditorIndex Value="8"/>
    94         <UsageCount Value="47"/>
     91        <CursorPos X="16" Y="135"/>
     92        <TopLine Value="65"/>
     93        <EditorIndex Value="10"/>
     94        <UsageCount Value="56"/>
    9595        <Loaded Value="True"/>
    9696      </Unit5>
     
    100100        <CursorPos X="7" Y="11"/>
    101101        <TopLine Value="1"/>
    102         <UsageCount Value="18"/>
     102        <UsageCount Value="17"/>
    103103      </Unit6>
    104104      <Unit7>
    105105        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\classes\classesh.inc"/>
    106         <CursorPos X="15" Y="743"/>
    107         <TopLine Value="728"/>
     106        <CursorPos X="27" Y="218"/>
     107        <TopLine Value="208"/>
    108108        <UsageCount Value="13"/>
    109109      </Unit7>
     
    112112        <CursorPos X="16" Y="324"/>
    113113        <TopLine Value="322"/>
    114         <UsageCount Value="13"/>
     114        <UsageCount Value="12"/>
    115115      </Unit8>
    116116      <Unit9>
     
    118118        <CursorPos X="10" Y="89"/>
    119119        <TopLine Value="70"/>
    120         <UsageCount Value="8"/>
     120        <UsageCount Value="7"/>
    121121      </Unit9>
    122122      <Unit10>
     
    126126        <CursorPos X="30" Y="162"/>
    127127        <TopLine Value="140"/>
    128         <EditorIndex Value="3"/>
    129         <UsageCount Value="47"/>
     128        <EditorIndex Value="5"/>
     129        <UsageCount Value="56"/>
    130130        <Loaded Value="True"/>
    131131      </Unit10>
     
    134134        <CursorPos X="5" Y="370"/>
    135135        <TopLine Value="365"/>
    136         <UsageCount Value="9"/>
     136        <UsageCount Value="8"/>
    137137      </Unit11>
    138138      <Unit12>
     
    141141        <CursorPos X="1" Y="1"/>
    142142        <TopLine Value="16"/>
    143         <UsageCount Value="10"/>
     143        <UsageCount Value="9"/>
    144144      </Unit12>
    145145      <Unit13>
     
    148148        <CursorPos X="1" Y="1"/>
    149149        <TopLine Value="1"/>
    150         <UsageCount Value="12"/>
     150        <UsageCount Value="11"/>
    151151      </Unit13>
    152152      <Unit14>
     
    154154        <CursorPos X="4" Y="36"/>
    155155        <TopLine Value="21"/>
    156         <UsageCount Value="10"/>
     156        <UsageCount Value="9"/>
    157157      </Unit14>
    158158      <Unit15>
     
    160160        <IsPartOfProject Value="True"/>
    161161        <UnitName Value="UModelViewer"/>
    162         <CursorPos X="14" Y="19"/>
    163         <TopLine Value="16"/>
     162        <CursorPos X="10" Y="28"/>
     163        <TopLine Value="1"/>
    164164        <EditorIndex Value="1"/>
    165         <UsageCount Value="23"/>
     165        <UsageCount Value="32"/>
    166166        <Loaded Value="True"/>
    167167      </Unit15>
     
    170170        <CursorPos X="28" Y="33"/>
    171171        <TopLine Value="18"/>
    172         <UsageCount Value="10"/>
     172        <UsageCount Value="9"/>
    173173      </Unit16>
    174174      <Unit17>
     
    176176        <IsPartOfProject Value="True"/>
    177177        <UnitName Value="UZ80Generator"/>
    178         <CursorPos X="9" Y="63"/>
    179         <TopLine Value="47"/>
    180         <EditorIndex Value="5"/>
    181         <UsageCount Value="22"/>
     178        <CursorPos X="24" Y="53"/>
     179        <TopLine Value="2"/>
     180        <EditorIndex Value="7"/>
     181        <UsageCount Value="31"/>
    182182        <Loaded Value="True"/>
    183183      </Unit17>
     
    186186        <IsPartOfProject Value="True"/>
    187187        <UnitName Value="UCGenerator"/>
    188         <CursorPos X="56" Y="8"/>
    189         <TopLine Value="1"/>
    190         <EditorIndex Value="7"/>
    191         <UsageCount Value="22"/>
     188        <CursorPos X="24" Y="80"/>
     189        <TopLine Value="73"/>
     190        <EditorIndex Value="9"/>
     191        <UsageCount Value="31"/>
    192192        <Loaded Value="True"/>
    193193      </Unit18>
     
    196196        <IsPartOfProject Value="True"/>
    197197        <UnitName Value="UPascalGenerator"/>
    198         <CursorPos X="27" Y="61"/>
    199         <TopLine Value="53"/>
    200         <EditorIndex Value="6"/>
    201         <UsageCount Value="22"/>
     198        <CursorPos X="24" Y="57"/>
     199        <TopLine Value="1"/>
     200        <EditorIndex Value="8"/>
     201        <UsageCount Value="31"/>
    202202        <Loaded Value="True"/>
    203203      </Unit19>
     204      <Unit20>
     205        <Filename Value="UGrammer.pas"/>
     206        <IsPartOfProject Value="True"/>
     207        <UnitName Value="UGrammer"/>
     208        <CursorPos X="62" Y="20"/>
     209        <TopLine Value="1"/>
     210        <EditorIndex Value="3"/>
     211        <UsageCount Value="27"/>
     212        <Loaded Value="True"/>
     213      </Unit20>
     214      <Unit21>
     215        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\win32\classes.pp"/>
     216        <UnitName Value="Classes"/>
     217        <CursorPos X="12" Y="44"/>
     218        <TopLine Value="31"/>
     219        <UsageCount Value="11"/>
     220      </Unit21>
     221      <Unit22>
     222        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     223        <UnitName Value="fgl"/>
     224        <CursorPos X="36" Y="356"/>
     225        <TopLine Value="341"/>
     226        <EditorIndex Value="4"/>
     227        <UsageCount Value="11"/>
     228        <Loaded Value="True"/>
     229      </Unit22>
     230      <Unit23>
     231        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\inc\objpash.inc"/>
     232        <CursorPos X="22" Y="177"/>
     233        <TopLine Value="153"/>
     234        <UsageCount Value="10"/>
     235      </Unit23>
    204236    </Units>
    205237    <JumpHistory Count="30" HistoryIndex="29">
    206238      <Position1>
    207         <Filename Value="UMainForm.pas"/>
    208         <Caret Line="105" Column="1" TopLine="79"/>
     239        <Filename Value="UGrammer.pas"/>
     240        <Caret Line="8" Column="25" TopLine="1"/>
    209241      </Position1>
    210242      <Position2>
    211         <Filename Value="UMainForm.pas"/>
    212         <Caret Line="41" Column="1" TopLine="26"/>
     243        <Filename Value="UGrammer.pas"/>
     244        <Caret Line="25" Column="28" TopLine="10"/>
    213245      </Position2>
    214246      <Position3>
    215         <Filename Value="UMainForm.pas"/>
    216         <Caret Line="39" Column="31" TopLine="17"/>
     247        <Filename Value="UGrammer.pas"/>
     248        <Caret Line="20" Column="33" TopLine="5"/>
    217249      </Position3>
    218250      <Position4>
    219         <Filename Value="UModelViewer.pas"/>
    220         <Caret Line="23" Column="12" TopLine="1"/>
     251        <Filename Value="UGrammer.pas"/>
     252        <Caret Line="37" Column="1" TopLine="9"/>
    221253      </Position4>
    222254      <Position5>
    223         <Filename Value="UModelViewer.pas"/>
    224         <Caret Line="25" Column="25" TopLine="5"/>
     255        <Filename Value="UGrammer.pas"/>
     256        <Caret Line="62" Column="12" TopLine="36"/>
    225257      </Position5>
    226258      <Position6>
    227         <Filename Value="UModelViewer.pas"/>
    228         <Caret Line="17" Column="48" TopLine="4"/>
     259        <Filename Value="UGrammer.pas"/>
     260        <Caret Line="30" Column="43" TopLine="34"/>
    229261      </Position6>
    230262      <Position7>
    231         <Filename Value="UModelViewer.pas"/>
    232         <Caret Line="26" Column="3" TopLine="15"/>
     263        <Filename Value="UGrammer.pas"/>
     264        <Caret Line="63" Column="17" TopLine="37"/>
    233265      </Position7>
    234266      <Position8>
    235         <Filename Value="UModelViewer.pas"/>
    236         <Caret Line="17" Column="46" TopLine="2"/>
     267        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     268        <Caret Line="799" Column="9" TopLine="795"/>
    237269      </Position8>
    238270      <Position9>
    239         <Filename Value="UModelViewer.pas"/>
    240         <Caret Line="36" Column="11" TopLine="15"/>
     271        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     272        <Caret Line="320" Column="50" TopLine="313"/>
    241273      </Position9>
    242274      <Position10>
    243         <Filename Value="UCompilator.pas"/>
    244         <Caret Line="220" Column="82" TopLine="207"/>
     275        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     276        <Caret Line="712" Column="39" TopLine="697"/>
    245277      </Position10>
    246278      <Position11>
    247         <Filename Value="UVoidParser.pas"/>
    248         <Caret Line="89" Column="29" TopLine="72"/>
     279        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     280        <Caret Line="715" Column="23" TopLine="697"/>
    249281      </Position11>
    250282      <Position12>
    251         <Filename Value="UOutputGenerator.pas"/>
    252         <Caret Line="78" Column="42" TopLine="53"/>
     283        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     284        <Caret Line="730" Column="11" TopLine="715"/>
    253285      </Position12>
    254286      <Position13>
    255         <Filename Value="UMainForm.pas"/>
    256         <Caret Line="10" Column="16" TopLine="1"/>
     287        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     288        <Caret Line="725" Column="31" TopLine="715"/>
    257289      </Position13>
    258290      <Position14>
    259         <Filename Value="Generators\UPascalGenerator.pas"/>
    260         <Caret Line="8" Column="56" TopLine="1"/>
     291        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     292        <Caret Line="825" Column="41" TopLine="810"/>
    261293      </Position14>
    262294      <Position15>
    263         <Filename Value="Generators\UPascalGenerator.pas"/>
    264         <Caret Line="56" Column="18" TopLine="1"/>
     295        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     296        <Caret Line="1" Column="24" TopLine="1"/>
    265297      </Position15>
    266298      <Position16>
    267         <Filename Value="Generators\UPascalGenerator.pas"/>
    268         <Caret Line="11" Column="36" TopLine="1"/>
     299        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     300        <Caret Line="42" Column="20" TopLine="27"/>
    269301      </Position16>
    270302      <Position17>
    271         <Filename Value="Generators\UZ80Generator.pas"/>
    272         <Caret Line="8" Column="56" TopLine="4"/>
     303        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     304        <Caret Line="43" Column="20" TopLine="27"/>
    273305      </Position17>
    274306      <Position18>
    275         <Filename Value="UMainForm.pas"/>
    276         <Caret Line="94" Column="1" TopLine="71"/>
     307        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     308        <Caret Line="96" Column="20" TopLine="81"/>
    277309      </Position18>
    278310      <Position19>
    279         <Filename Value="UMainForm.pas"/>
    280         <Caret Line="97" Column="28" TopLine="1"/>
     311        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     312        <Caret Line="127" Column="20" TopLine="112"/>
    281313      </Position19>
    282314      <Position20>
    283         <Filename Value="UCompilator.pas"/>
    284         <Caret Line="269" Column="19" TopLine="243"/>
     315        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     316        <Caret Line="158" Column="20" TopLine="143"/>
    285317      </Position20>
    286318      <Position21>
    287         <Filename Value="UCompilator.pas"/>
    288         <Caret Line="41" Column="40" TopLine="23"/>
     319        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     320        <Caret Line="237" Column="20" TopLine="222"/>
    289321      </Position21>
    290322      <Position22>
    291         <Filename Value="UMainForm.pas"/>
    292         <Caret Line="110" Column="5" TopLine="60"/>
     323        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     324        <Caret Line="338" Column="25" TopLine="323"/>
    293325      </Position22>
    294326      <Position23>
    295         <Filename Value="UMainForm.pas"/>
    296         <Caret Line="109" Column="5" TopLine="79"/>
     327        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     328        <Caret Line="342" Column="25" TopLine="323"/>
    297329      </Position23>
    298330      <Position24>
    299         <Filename Value="UMainForm.pas"/>
    300         <Caret Line="110" Column="5" TopLine="80"/>
     331        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     332        <Caret Line="349" Column="10" TopLine="323"/>
    301333      </Position24>
    302334      <Position25>
    303         <Filename Value="UMainForm.pas"/>
    304         <Caret Line="90" Column="15" TopLine="75"/>
     335        <Filename Value="..\..\..\..\..\Programy\Lazarus_0.9.29\fpc\2.3.1\source\rtl\objpas\fgl.pp"/>
     336        <Caret Line="367" Column="12" TopLine="352"/>
    305337      </Position25>
    306338      <Position26>
    307         <Filename Value="UMainForm.pas"/>
    308         <Caret Line="119" Column="34" TopLine="105"/>
     339        <Filename Value="UGrammer.pas"/>
     340        <Caret Line="8" Column="20" TopLine="1"/>
    309341      </Position26>
    310342      <Position27>
    311         <Filename Value="UMainForm.pas"/>
    312         <Caret Line="10" Column="32" TopLine="1"/>
     343        <Filename Value="UModel.pas"/>
     344        <Caret Line="76" Column="25" TopLine="67"/>
    313345      </Position27>
    314346      <Position28>
    315         <Filename Value="UMainForm.pas"/>
    316         <Caret Line="40" Column="5" TopLine="25"/>
     347        <Filename Value="UModel.pas"/>
     348        <Caret Line="121" Column="23" TopLine="106"/>
    317349      </Position28>
    318350      <Position29>
    319         <Filename Value="UMainForm.pas"/>
    320         <Caret Line="10" Column="32" TopLine="1"/>
     351        <Filename Value="UModel.pas"/>
     352        <Caret Line="147" Column="31" TopLine="132"/>
    321353      </Position29>
    322354      <Position30>
    323         <Filename Value="UMainForm.pas"/>
    324         <Caret Line="67" Column="1" TopLine="53"/>
     355        <Filename Value="UModel.pas"/>
     356        <Caret Line="163" Column="26" TopLine="148"/>
    325357      </Position30>
    326358    </JumpHistory>
  • branches/Void/project1.lpr

    r16 r18  
    99  Interfaces, // this includes the LCL widgetset
    1010  Forms, UMainForm, UOutputGenerator, LResources, UModel, UVoidParser,
    11   UModelViewer, UZ80Generator, UCGenerator, UPascalGenerator;
     11  UModelViewer, UZ80Generator, UCGenerator, UPascalGenerator, UGrammer;
    1212
    1313{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
Note: See TracChangeset for help on using the changeset viewer.